| Vocero |
Transcripción |
| Michael Crotty |
Hola. Gracias por sintonizarnos. |
| |
Nuestra charla trata sobre el complemento de clasificación desequilibrada que le permite comparar técnicas y modelos de muestreo en JMP Pro. |
| |
Soy Michael Crotty. Soy uno de los redactores estadísticos del equipo de documentación de JMP, y mi copresentadora de hoy es Colleen McKendry, también del equipo de documentación estadística. Este es un trabajo en el que hemos colaborado con Marie Gaudard. |
| |
Aquí les presentamos un breve resumen de nuestra charla de hoy. Analizaremos el propósito del complemento que creamos, algunos antecedentes sobre el problema de clasificación desequilibrada y cómo obtener un modelo de clasificación en esa situación. |
| |
Veremos algunos métodos de muestreo que hemos incluido en el complemento y que son populares para el problema de clasificación desequilibrada. |
| |
Veremos las opciones que están disponibles en el complemento. |
| |
y hablaremos sobre cómo obtener el complemento, y luego Colleen mostrará un ejemplo y una demostración del complemento. |
| |
En las diapositivas que están disponibles en la Comunidad también hay referencias y un apéndice que tiene información de fondo adicional. |
| |
Entonces, el propósito de nuestro complemento, el complemento de clasificación desequilibrada, es permitirle aplicar una variedad de técnicas de muestreo diseñadas para datos desequilibrados. |
| |
Puede comparar los resultados de la aplicación de estas técnicas, junto con varios modelos predictivos que están disponibles en JMP Pro. |
| |
Además, puede comparar esos modelos y los ajustes de las técnicas de muestreo mediante curvas de recuperación de precisión, curvas ROC y curvas de ganancias, así como otras medidas. |
| |
Esto le permite elegir un umbral para la clasificación utilizando las curvas. |
| |
También puede aplicar las técnicas de muestreo Tomek, SMOTE y SMOTE más Tomek directamente a sus datos, lo que le permite luego utilizar plataformas JMP existentes y |
| |
Continúe con esos datos recién muestreados y ajuste las opciones de modelado, si no le gustan las opciones del método mayoritariamente predeterminadas que hemos elegido. |
| |
Y solo una nota: las técnicas de muestreo Tomek, SMOTE y SMOTE más Tomek se pueden utilizar con variables predictoras nominales y ordinales, así como continuas. |
| |
Algunos antecedentes sobre el problema de los datos desequilibrados. |
| |
Entonces, en general, podría tener una respuesta multinomial, pero nos centraremos en que la variable de respuesta es binaria, y el punto clave es que el número de observaciones en un nivel de respuesta es mucho mayor que el número de observaciones en el otro nivel de respuesta. |
| |
A estos niveles de respuesta los llamaremos niveles de clase mayoritaria y minoritaria, respectivamente. Por lo tanto, el nivel minoritario, en la mayoría de los casos, es el nivel de interés que se desea predecir y detectar. Esto podría ser, por ejemplo, detectar un fraude, la presencia de una enfermedad o un riesgo crediticio. |
| |
Y queremos predecir la pertenencia a una clase en función de las variables de regresión. |
| |
Para hacer eso, desarrollamos un modelo predictivo que asigna probabilidades de pertenencia a la clase minoritaria y luego elegimos un valor umbral que optimiza |
| |
Varios criterios. Estos pueden ser la tasa de clasificación errónea, la tasa de verdaderos positivos, la tasa de falsos positivos, etc. Y luego clasificamos una observación, quién pertenece a la clase minoritaria, si la probabilidad predicha de pertenencia a la clase minoritaria supera el valor umbral elegido. |
| |
Entonces, ¿cómo obtenemos un modelo de clasificación? |
| |
Tenemos muchas plataformas diferentes en JMP que pueden hacer una predicción para una variable binaria, un resultado binario. |
| |
Cuando se presentan variables de regresión, necesitamos una forma de comparar esos modelos. Bueno, algunas medidas tradicionales, como la precisión de la clasificación, no son del todo apropiadas para datos desequilibrados. Y, como ejemplo extremo, podríamos considerar el caso de una clase minoritaria del 2%. |
| |
Podría darle una precisión del 98% simplemente clasificando todas las observaciones como casos mayoritarios. Ahora bien, este no sería un modelo útil y no querría usarlo. |
| |
porque no estás prediciendo... no estás prediciendo correctamente ninguno de tus casos objetivo en casos minoritarios sino solo la precisión general, estarías en 98%, lo que suena bastante bien. |
| |
Esto llevó a explorar otras maneras de medir la precisión de la clasificación en un modelo de clasificación desequilibrado. Una de ellas es la curva de recuperación de precisión. |
| |
A menudo se utilizan con datos desequilibrados y grafican el valor predictivo positivo o la precisión frente a la tasa de recuperación positiva verdadera. |
| |
Y como la precisión tiene en cuenta la mayoría de las instancias, la curva PR es más sensible al desequilibrio de clases que una curva ROC. |
| |
Por lo tanto, una curva PR permite destacar mejor las diferencias en los modelos para los datos desequilibrados. Por lo tanto, la curva PR es lo primero que aparece en nuestro informe para nuestro complemento. |
| |
Otra forma de manejar datos de clasificación desequilibrados es utilizar métodos de muestreo que ayuden a modelar la clase minoritaria. |
| |
En general, estas son simplemente diferentes maneras de lograr un mayor equilibrio en la distribución de la respuesta, lo que, a su vez, ayuda a delimitar mejor los límites entre las observaciones de las clases mayoritarias y minoritarias. Por lo tanto, en nuestro análisis complementario, contamos con siete técnicas de muestreo diferentes. |
| |
No hablaremos demasiado de los primeros cuatro y nos centraremos en los últimos tres, pero rápidamente, sin ponderación significa lo que parece. No haremos ningún cambio y eso es todo. |
| |
Básicamente, está ahí para proporcionar una base de lo que haría si no utilizara ningún tipo de método de muestreo para tener en cuenta el desequilibrio. |
| |
La ponderación sobreponderará los casos minoritarios de modo que la suma de los pesos de la clase mayoritaria y la clase minoritaria sea la misma. |
| |
El submuestreo aleatorio excluirá aleatoriamente los casos mayoritarios para llegar a un caso equilibrado y el sobremuestreo aleatorio replicará aleatoriamente |
| |
casos minoritarios nuevamente para llegar a un estado de equilibrio. |
| |
Y luego hablaremos más sobre los siguientes tres métodos más avanzados en las siguientes diapositivas. |
| |
El primero de los métodos avanzados es SMOTE, que significa técnica de sobremuestreo de minorías sintéticas. |
| |
Y esto es básicamente una forma más sofisticada de sobremuestreo, porque estamos agregando más casos minoritarios a nuestros datos. |
| |
Lo hacemos generando nuevas observaciones que son similares a las observaciones de clases minoritarias existentes, pero no las estamos simplemente replicando como en el sobremuestreo. |
| |
Entonces, utilizamos la función de distancia de Gower y realizamos K observaciones de vecinos más cercanos en cada clase minoritaria y luego se generan observaciones para completar el espacio definido por esos vecinos. |
| |
En este gráfico, pueden ver si tenemos este caso minoritario en rojo. Hemos elegido a los tres vecinos más cercanos. |
| |
Y elegiremos uno al azar. Resulta ser este de aquí abajo, y luego generamos un caso, otro caso minoritario que está en algún lugar de este pequeño recuadro sombreado. Y eso es en dos dimensiones. Si tuvieras... |
| |
n dimensiones de sus predictores, entonces esa área sombreada sería un espacio de n dimensiones. |
| |
Pero una cosa clave a destacar es que puedes elegir el número de vecinos más cercanos que quieras. |
| |
Elige entre varias opciones al azar y también puedes elegir cuántas veces realizarás esto. |
| |
Este algoritmo por caso minoritario. |
| |
El siguiente método de muestreo son los enlaces de Tomek. Este método intenta definir mejor el límite entre las clases minoritarias y mayoritarias. Para ello, elimina las observaciones de la clase mayoritaria cercanas a las de la clase minoritaria. |
| |
Nuevamente, usamos la distancia de Gower para hallar los enlaces de Tomek, y el enlace de Tomek es un par de vecinos más cercanos que pertenecen a diferentes clases. Por lo tanto, una mayoría y una minoría son vecinos más cercanos entre sí. |
| |
Para reducir la superposición de estas instancias, se pueden eliminar uno o ambos miembros del par. En la opción principal de nuestro complemento, la opción "evaluar modelos", solo eliminamos la instancia mayoritaria. Sin embargo, en la opción "Tomek", se puede usar cualquiera de las dos formas de eliminación. |
| |
Finalmente, el último método de muestreo es SMOTE con Tomek. Este combina los dos métodos de muestreo anteriores. |
| |
Y la forma en que los combina es aplicando este algoritmo de modo para generar nuevas observaciones minoritarias y luego, una vez que tienes tus datos originales, más un montón de nuevos casos minoritarios generados, |
| |
tt se aplica al algoritmo de Tomek para encontrar pares de vecinos más cercanos que pertenecen a diferentes clases. En este método, se eliminan ambas observaciones del par de Tomek. |
| |
Entonces, el complemento de clasificación desequilibrada tiene cuatro opciones cuando lo instalas, que aparecen como elementos de submenú en el menú de complementos. |
| |
La primera es la opción "Evaluar modelos", que permite ajustar diversos modelos mediante diversas técnicas de muestreo. Las tres siguientes son diálogos independientes para aplicar las tres técnicas de muestreo que acabamos de mencionar. |
| |
Entonces, en la opción de evaluación de modelos del complemento, se proporciona un informe de clasificación desequilibrada que facilita la comparación de las combinaciones de modelos y técnicas de muestreo. |
| |
Muestra la curva PR y las curvas ROC, así como las curvas de ganancias, y para las curvas PR y ROC, muestra el área bajo la curva, que generalmente, cuanto mayor sea el área bajo cada una de esas curvas, mejor se ajusta un modelo. |
| |
Proporciona la gráfica de probabilidades predichas por clase que le ayuda a obtener una idea de cómo se ajusta cada modelo. |
| |
Y también proporciona una tabla de datos de técnicas y umbrales, y esa tabla contiene un script que le permite reproducir el informe. |
| |
que se produce la primera vez que ejecuta el complemento. Y queremos enfatizar que si ejecuta esto y desea guardar los resultados sin reescribir todo el |
| |
Algoritmo de métodos de modelado y muestreo, puede guardar esta tabla de técnicas y umbrales y eso le permitirá guardar sus resultados y reproducir el informe. |
| |
Ahora veremos el diálogo de la opción de evaluación de modelos. Permite elegir entre varios modelos y técnicas de muestreo. |
| |
Puedes ingresar cuál es tu variable de clase binaria y todos tus predictores X, y luego |
| |
Nosotros, para que se ajusten a todos los modelos y |
| |
Para evaluarlos en un conjunto de prueba, dividimos aleatoriamente los datos en conjuntos de validación de entrenamiento y de prueba. Puedes proporcionar... puedes establecer las proporciones que se incluirán en cada uno de esos conjuntos. |
| |
Hay una opción de semilla aleatoria si quieres reproducir los resultados. Y también están las opciones de SMOTE. |
| |
a lo que aludí antes, donde puedes elegir el número de vecinos más cercanos, de los cuales seleccionas uno para que sea el vecino más cercano utilizado para generar un nuevo caso, y la replicación de cada caso minoritario es cuántas veces repites el algoritmo para cada observación minoritaria. |
| |
Nuevamente, hay otras tres opciones de muestreo |
| |
Las opciones del complemento corresponden a Tomek, SMOTE y SMOTE más Tomek. La opción de muestreo de Tomek agregará dos columnas a la tabla de datos que pueden usarse como ponderaciones para la predicción de cualquier modelo predictivo que desee crear. |
| |
La primera columna elimina solo el vecino más cercano en el enlace y la otra elimina ambos miembros del enlace de Tomek, por lo que tiene esa opción. |
| |
Las observaciones de SMOTE agregarán observaciones sintéticas a su tabla de datos. |
| |
Y también le proporcionará una columna de origen para que pueda identificar cuál |
| |
Se añadieron observaciones. SMOTE y Tomek añaden observaciones sintéticas y la columna de ponderación que elimina ambos miembros del enlace de Tomek. |
| |
Y la columna de ponderación del muestreo de Tomek y SMOTE más Tomek, |
| |
Es simplemente una columna indicadora que se puede usar como ponderación en una plataforma de modelado JMP. Solo es 1 si se incluye y 0 si se debe excluir. |
| |
La mayoría de los otros tres diálogos de opciones de muestreo son básicamente iguales. |
| |
Una opción disponible en ellos, y no en el cuadro de diálogo de evaluación de modelos, es mostrar tablas intermedias. Esta opción aparece para SMOTE y SMOTE con Tomek. |
| |
Básicamente, permite ver las tablas de datos utilizadas en la construcción de las observaciones de SMOTE. Generalmente, no es necesario verlas, pero si se desea comprender mejor cómo se generan esas observaciones, se pueden consultar las tablas intermedias. |
| |
Y todo está explicado en la documentación. |
| |
Nuevamente, puedes obtener el complemento a través de la Comunidad, |
| |
A través de esta página se puede acceder a esta charla sobre el Discovery Summit Americas 2020. |
| |
Parte de la Comunidad. Y, como mencioné hace un momento, hay documentación disponible dentro del complemento. Simplemente haga clic en el botón Ayuda. |
| |
Y ahora es el momento de que Colleen muestre un ejemplo en una demostración del complemento. |
| Colleen McKendry |
Gracias, Michael. Voy a hacer una demostración del complemento ahora. Para ello, usaré estos datos de mamografía. |
| |
Y así, el conjunto de datos de mamografía se basa en un conjunto de mamografías en película digitalizadas utilizadas en un estudio de microcalcificaciones en imágenes mamográficas. |
| |
Y en estos datos, cada registro se clasifica como 1 o 0. 1 representa que se ve calcificación en la imagen y 0 representa que no la hay. |
| |
En este conjunto de datos, las imágenes en las que se ve calcificación son las que le interesa predecir, por lo que el nivel de clase uno es el nivel de clase que le interesa. |
| |
En el conjunto de datos completo, hay seis predictores continuos y alrededor de 11.000 observaciones. |
| |
Pero para reducir el tiempo de ejecución en esta demostración, solo usaremos un subconjunto del conjunto completo de datos. Por lo tanto, serán aproximadamente la mitad de las observaciones, es decir, unas 5500 observaciones. |
| |
Las observaciones clasificadas como 1, las que le interesan, representan aproximadamente el 2,31 % del total de observaciones, tanto en el conjunto de datos completo como en el conjunto de datos de demostración que utilizamos. Por lo tanto, tenemos una proporción minoritaria de aproximadamente el 2 %. |
| |
Y ahora voy a cambiar a JMP. |
| |
a |
| |
Así que tengo los datos de demostración de la mamografía. |
| |
Y vamos a abrir y ya he instalado el complemento. Entonces tengo el complemento de clasificación desequilibrada en mi menú desplegable y voy a usar la opción de evaluar modelos. |
| |
Y entonces aquí tenemos la ventana de lanzamiento, y vamos a especificar la variable de clase binaria, sus variables predictoras, vamos a seleccionar todos los modelos y todas las técnicas y vamos a especificar |
| |
una semilla aleatoria |
| |
Y haga clic en Aceptar. |
| |
Mientras esto se ejecuta, explicaré qué sucede en segundo plano. Lo primero que hace el complemento es dividir la tabla de datos en un conjunto de datos de entrenamiento y uno de prueba. |
| |
Y entonces tienes dos tablas de datos separadas y luego, dentro de la tabla de datos de entrenamiento, esas observaciones se dividen en observaciones de entrenamiento y validación, y la validación se utiliza en el ajuste del modelo. |
| |
Y entonces, una vez que tenga esos dos conjuntos de datos, |
| |
Hay variables indicadoras...columnas indicadoras que se agregan a la tabla de datos de entrenamiento para cada una de las técnicas de muestreo que usted especifique, excepto aquellas que involucran SMOTE. |
| |
Y entonces esas columnas se agregan y se utilizan como columnas de ponderación y simplemente especifican si la observación se incluirá en el análisis o no. |
| |
Si se especifica una técnica de muestreo con SMOTE, se agregan filas adicionales a la tabla de datos. Estas son las observaciones generadas. |
| |
Una vez generadas las columnas y las filas, cada modelo se ajusta a cada técnica de muestreo. Por lo tanto, si se seleccionan todos... |
| |
Como acabamos de hacer aquí, hay un total de 42 modelos diferentes que se están ajustando. Y eso es todo lo que está sucediendo ahora mismo. En |
| |
En la demostración actual, tenemos 42 modelos en proceso de ajuste. Una vez ajustados, se recopila la información relevante y se compila en un informe de resultados. Ese informe... |
| |
Espero que aparezca pronto. Aquí está el informe. También encontrará una tabla de técnicas y umbrales, y una tabla de resumen. |
| |
Veamos qué se obtiene al ejecutar el complemento. Primero, tenemos el conjunto de entrenamiento. Aquí se pueden ver las columnas de ponderación, las columnas de ponderación que se agregan. Estas son las columnas que se agregan para las probabilidades predichas de esas observaciones. |
| |
Luego tenemos el conjunto de prueba. Este no contiene ninguna de esas columnas de ponderación, pero sí contiene las probabilidades predichas para las observaciones del conjunto de prueba. |
| |
Tenemos el informe de resultados |
| |
y la tabla de datos de técnicas y umbrales. Y Michael mencionó esto en |
| |
La charla anterior, pero esto es importante porque es lo que le gustaría guardar si desea guardar sus resultados y verlos nuevamente. |
| |
Sin tener que volver a ejecutar todo el script. Esta tabla de datos es lo que guardarías y contiene scripts que reproducirán |
| |
El informe de resultados y la tabla resumen, que es lo último que me queda por mostrar. Esto contiene resúmenes de cada técnica de muestreo y combinación de modelos, junto con sus valores de AUC. |
| |
Ahora, al observar la ventana de resultados, en la parte superior se encuentra el cuadro de diálogo de especificaciones. Este contiene la información que especificó en la ventana de inicio. |
| |
Entonces, si olvidas algo que especificaste, como tu semilla aleatoria o las proporciones que asignaste, puedes abrirlo y echar un vistazo. |
| |
También tenemos la distribución binaria de clases. Es decir, la distribución de la variable de clase entre los conjuntos de entrenamiento y de prueba. Esto está diseñado para que la proporción sea la misma, que en este caso es de 2,3. |
| |
Y luego también tenemos el umbral faltante. Así que esto no es muy importante, pero simplemente da... |
| |
una indicación de si un valor de la variable de clase tiene un valor de predicción faltante, entonces eso se muestra aquí. |
| |
Para los resultados reales, contamos con estos gráficos con pestañas. También tenemos las curvas de recuperación de precisión, las curvas ROC y las curvas de ganancias acumuladas. Para las curvas PR y ROC, también tenemos los valores de AUC correspondientes. |
| |
También tenemos estos gráficos de las probabilidades predichas por clase. Son más útiles cuando solo se ven algunas a la vez, como veremos más adelante. |
| |
Y luego tenemos un filtro de datos que conecta todos estos gráficos y resultados juntos. |
| |
Para los resultados del análisis, podemos echar un vistazo. Primero, voy a ordenarlos. |
| |
Así que ya se puede ver que la curva ROC y la curva PR, hay mucha más diferenciación entre las curvas en la curva PR que en la curva ROC. |
| |
Y si seleccionamos los cinco primeros, digamos, todos ellos tienen en realidad un AUC de 0,97. |
| |
Y puedes ver que todos están muy cerca uno del otro. Están prácticamente uno encima del otro. Sería muy difícil determinar qué modelo es realmente mejor y cuál deberías elegir. |
| |
Y ahí es donde, especialmente con datos desequilibrados, las curvas de recuperación de precisión son realmente importantes. Si volvemos a la vista anterior, podemos ver que estos modelos que tuvieron los valores más altos de AUC para las curvas ROC, |
| |
Están muy dispersos en la curva de recuperación de precisión. Y, de hecho, no tienen los valores de AUC más altos para la curva PR. |
| |
Así que tal vez exista un modelo mejor que podamos elegir. |
| |
Ahora voy a mirar y centrarme en los dos primeros, que son Boosted Tree Tomek y SVM Tomek, y lo haré usando el filtro de datos. |
| |
Y luego simplemente queremos ver cuáles se mostrarán e incluirán. |
| |
Así que ahora tenemos las curvas sólo para estos dos modelos y la curva azul es el árbol impulsado y la curva roja es SVM. |
| |
Como pueden ver en estas curvas, se superponen en diferentes valores de la tasa de verdaderos positivos. Por lo tanto, podrían usar estas curvas. |
| |
Para elegir el modelo que desea utilizar en su análisis, basándose quizás en una tasa de verdaderos positivos aceptable. Podemos verlo si añado algunas líneas de referencia. Disculpen mis manos, pero las verán mientras escribo esto. |
| |
Bien, digamos que estas son algunas tasas de verdaderos positivos diferentes que podrían interesarle. Entonces, si, por ejemplo, para cualquier conjunto de datos que tenga, quisiera una tasa de verdaderos positivos de 0,55. |
| |
Podrías elegir tu umbral para que esa sea la tasa positiva verdadera. Y entonces, en este caso, |
| |
Para esa tasa de verdaderos positivos, el modelo de árbol potenciado de Tomek tiene mayor precisión. Por lo tanto, se podría elegir ese modelo. |
| |
Sin embargo, si desea que su tasa de positivos verdaderos sea algo así como 0,85, entonces el modelo SVM podría ser una mejor opción porque tiene una mayor precisión para esa tasa de positivos verdaderos específica. |
| |
Y luego, si tuviera una tasa de verdaderos positivos más alta de 0,95, cambiaría nuevamente y tal vez querría elegir el modelo de árbol potenciado. |
| |
Así es como puedes usar estas curvas para elegir qué modelo es mejor para tus datos. |
| |
Ahora, volvamos a analizar estos gráficos, ahora que solo hay algunos. Esto muestra la distribución de las probabilidades predichas para cada clase de los modelos que seleccionamos. En este caso particular, pueden ver que en SVM hay una mayoría |
| |
probabilidades a lo largo de todo el rango de probabilidades predichas, donde el árbol potenciado hace un mejor trabajo al mantenerlas en el extremo inferior. |
| |
Y eso es todo por esta demostración en particular, pero antes de terminar, quería mostrar algo más. Este fue un ejemplo de cómo se usaría la evaluación. |
| |
Opción de modelos. Pero digamos que solo quiere usar una técnica de muestreo específica. Puede hacerlo aquí. La ventana de inicio se ve prácticamente igual. Puede asignar su clase binaria, sus predictores y hacer clic en Aceptar. |
| |
Y esto genera una nueva tabla de datos y tienes tu |
| |
columna indicadora. |
| |
Su columna de indicador, que simplemente muestra si la observación debe incluirse en el análisis o no. |
| |
Y luego, como era SMOTE más Tomek, también tienes todas estas observaciones generadas por SMOTE. |
| |
Ahora tiene esta nueva tabla de datos y puede usar cualquier tipo de modelo con las opciones que desee. Simplemente use esta columna como columna de ponderación o frecuencia y continúe a partir de ahí. Y con esto termina nuestra demostración del complemento de clasificación desequilibrada. Gracias por verla. |