Transformación de datos: Learning con recuentos

Importante

El soporte técnico de Machine Learning Studio (clásico) finalizará el 31 de agosto de 2024. Se recomienda realizar la transición a Azure Machine Learning antes de esa fecha.

A partir del 1 de diciembre de 2021 no se podrán crear recursos de Machine Learning Studio (clásico). Hasta el 31 de agosto de 2024, puede seguir usando los recursos de Machine Learning Studio (clásico) existentes.

La documentación de ML Studio (clásico) se está retirando y es posible que no se actualice en el futuro.

En este artículo se describen los módulos de Machine Learning Studio (clásico) que admiten la caracterización basada en recuentos.

Nota:

Solo se aplica a: Machine Learning Studio (clásico)

Hay módulos para arrastrar y colocar similares en el diseñador de Azure Machine Learning.

Learning con recuentos es una manera eficaz de crear un conjunto compacto de características de conjunto de datos que se basan en recuentos de los valores. Puede usar los módulos de esta categoría para crear un conjunto de recuentos y características. Más adelante, puede actualizar los recuentos y las características para aprovechar los nuevos datos o combinar dos conjuntos de datos de recuento.

Acerca de la caracterización basada en recuentos

La idea básica de la caracterización basada en recuentos es que, al calcular recuentos, puede obtener de forma rápida y sencilla un resumen de las columnas que contienen la información más importante. El módulo cuenta el número de veces que aparece un valor y, a continuación, proporciona esa información como una característica para la entrada a un modelo.

Imagine que va a validar una transacción con tarjeta de crédito. Una parte fundamental de la información es de dónde provenía esta transacción. Una de las codificaciones más comunes del origen de la transacción es el código postal. Sin embargo, podría haber unos 40 000 códigos postales y códigos geográficos que tener en cuenta. ¿El modelo tiene la capacidad para aprender más de 40 000 parámetros? Si le proporciona esa capacidad, ¿tiene suficientes datos de entrenamiento para evitar que se sobreajuste?

Si tiene buenos datos, con una gran cantidad de ejemplos, esta granularidad local detallada puede ser eficaz. Sin embargo, si solo tiene una muestra de una transacción fraudulenta, desde una pequeña localidad, ¿significa que todas las transacciones de ese lugar son mal o que no tiene suficientes datos?

Una solución es aprender con recuentos. En lugar de introducir 40 000 características más, puede observar los recuentos y proporciones de fraudes de cada código postal. Al usar estos recuentos como características, se obtiene información sobre la solidez de la evidencia para cada valor. Además, al codificar las estadísticas pertinentes de los recuentos, el aprendiz puede usar las estadísticas para decidir cuándo cambiar su enfoque y, en su lugar, usar otras características para obtener la información.

El aprendizaje basado en recuento es atractivo por muchas razones. Con el aprendizaje basado en recuentos, tiene menos características, lo que requiere menos parámetros. El menor número de parámetros permite un aprendizaje más rápido, una predicción más rápida, predicciones más pequeñas y menos posibilidades de sobreajuste.

Cómo se crean las características basadas en recuentos

Un ejemplo básico puede ayudar a demostrar cómo se crean y aplican características basadas en recuentos. Supongamos que tiene la tabla siguiente como esta, con etiquetas y entradas. Cada caso (o fila o muestra) tiene un conjunto de valores en columnas. En este ejemplo, los valores son A y B.

Columna de etiqueta Valor de entrada
0 A
0 A
1 A
0 B
1 B
1 B
1 B

Estos son los pasos que debe seguir para crear características basadas en recuento:

  1. Para un conjunto específico de valores, busque todos los demás casos de ese conjunto de datos que tengan el mismo valor. En este caso, hay tres instancias de A y cuatro instancias de B.
  2. Contar la pertenencia a clases de cada valor como una característica en sí misma. En este caso, se obtiene una matriz pequeña: hay dos casos en los que A = 0; un caso donde A = 1; un caso donde B = 0; y tres casos donde B = 1.
  3. En función de esta matriz, se obtiene una variedad de características basadas en recuento. Estos incluyen un cálculo de la proporción de probabilidades de registro y los recuentos de cada clase de destino. En la tabla de la sección siguiente se muestran los datos.

Tabla de ejemplo de características basadas en recuento

Etiqueta 0_0_Class000_Count 0_0_Class001_Count 0_0_Class000_LogOdds 0_0_IsBackoff
0 2 1 0.510826 0
0 2 1 0.510826 0
1 2 1 0.510826 0
0 1 3 -0.8473 0
1 1 3 -0.8473 0
1 1 3 -0.8473 0
1 1 3 -0.8473 0

Ejemplos

En Uso Machine Learning para crear modelos de predicción click-through, el equipo de Microsoft Machine Learning proporciona un tutorial detallado sobre cómo usar recuentos en el aprendizaje automático. En el artículo se compara la eficacia del modelado basado en recuento con otros métodos.

Notas técnicas

Esta sección contiene detalles de implementación, sugerencias y respuestas a las preguntas más frecuentes.

Cómo se calcula el valor de pérdida de registro

El valor de pérdida de registro no es la probabilidad de registro sin formato. En este caso, la distribución anterior se usa para suavizar el cálculo de probabilidades de registro.

Supongamos que tiene un conjunto de datos que se usa para la clasificación binaria. En este conjunto de datos, la frecuencia anterior de la clase 0 es p_0y la frecuencia anterior de la clase 1 es p_1 = 1 – p_0. Para una característica de ejemplo de entrenamiento específica, el recuento de la clase 0 es x_0y el recuento de la clase 1 es x_1.

En estas suposiciones, las probabilidades LogOdds = Log(x0 + c * p0) – Log (x1 + c\p1)de registro se calculan como , c donde es el coeficiente anterior, que puede establecer el usuario. La función log usa la base natural.

En otras palabras, para cada clase i:

Log_odds[i] = Log( (count[i] + prior_coefficient * prior_frequency[i]) / (sum_of_counts - count[i]) + prior_coefficient \* (1 - prior_frequency[i]))

Si el coeficiente anterior es positivo, las probabilidades de registro pueden ser diferentes de Log(count[i] / (sum_of_counts – count[i])).

Por qué las probabilidades de registro no se calculan para algunos elementos

De forma predeterminada, todos los elementos con un recuento inferior a 10 se recopilan en un único cubo denominado "cubo de elementos no utilizados". Puede cambiar este valor mediante la opción Umbral de cubo de elementos no utilizados del módulo Modificar parámetros de tabla de recuento.

Lista de módulos

La Learning con recuentos incluye los siguientes módulos:

  • Transformación De recuento de compilaciones: crea una tabla de recuento y características basadas en recuento a partir de un conjunto de datos y, a continuación, guarda la tabla y las características como una transformación.
  • Tabla de recuento de exportaciones: exporta una tabla de recuento desde una transformación de recuento. Este módulo admite la compatibilidad con versiones anteriores con experimentos que crean características basadas en recuentos mediante la tabla de recuento de compilaciones (en desuso) y el caracterizador de recuento (en desuso).
  • Importar tabla de recuento: importa una tabla de recuento existente. Este módulo admite la compatibilidad con versiones anteriores con experimentos que crean características basadas en recuentos mediante la tabla de recuento de compilaciones (en desuso) y el caracterizador de recuento (en desuso). El módulo admite la conversión de tablas de recuento para contar transformaciones.
  • Transformación De recuento de mezcla: combina dos conjuntos de características basadas en recuento.
  • Modificar parámetros de tabla de recuento: modifica las características basadas en recuento que se derivan de una tabla de recuento existente.

Consulte también