Sat. Nov 26th, 2022

Encontrar la mejor estrategia de muestreo mediante canalizaciones y ajuste de hiperparámetros

Uno de los pasos a seguir para manejar los problemas de aprendizaje automático desequilibrado es volver a muestrear los datos. Podemos submuestrear la clase mayoritaria y/o sobremuestrear la clase minoritaria. Sin embargo, hay una pregunta que debe abordarse: ¿a qué número debemos reducir la clase mayoritaria y/o aumentar la clase minoritaria? Un método fácil pero lento es alterar los valores de remuestreo de las clases mayoritarias y minoritarias uno por uno para encontrar la mejor coincidencia. Gracias a la biblioteca de aprendizaje desequilibrado y al ajuste de hiperparámetros, podemos idear un método eficiente y relativamente simple para identificar la mejor estrategia de remuestreo.Foto de Dylan McLeod en UnsplashConstruyendo la tuberíaEl conjunto de datos de detección de fraude, que tiene licencia CC y se puede acceder desde la plataforma OpenML, se elige para el experimento. El conjunto de datos tiene 31 características: 28 de las características (V1 a V28) son características numéricas que se transforman mediante PCA para preservar la confidencialidad; ‘Tiempo’ representa los segundos transcurridos para cada transacción; ‘Monto’ indica el monto de la transacción; ‘Clase’ representa si la transacción es fraudulenta o no. Los datos están muy desequilibrados, ya que solo el 0,172 % de todas las transacciones son fraudulentas. Para determinar la mejor proporción de muestreo, necesitamos construir una canalización de aprendizaje automático. Muchos entusiastas de los datos prefieren Pipeline de scikit-learn (sklearn), ya que proporciona una forma sencilla de crear canalizaciones de aprendizaje automático. Sin embargo, el submuestreo y el sobremuestreo no se pueden realizar con el Pipeline de sklearn normal, ya que el muestreo se produciría durante los métodos de ajuste y transformación. Esto se soluciona con la clase Pipeline implementada por la biblioteca de aprendizaje desequilibrado (imblearn). La canalización de imblearn garantiza que el remuestreo solo ocurra durante el método de ajuste. Al principio, cargaremos los datos. Luego, las características y las etiquetas se obtienen de los datos y se crea una división de prueba de tren, por lo que la división de prueba se puede usar para evaluar el rendimiento del modelo entrenado usando la división de tren. Una vez que se crean los conjuntos de prueba y tren , se puede crear una instancia de la canalización. La tubería comprende una secuencia de pasos: transformar los datos, volver a muestrear y concluir con el modelo. Para mantenerlo simple, estaríamos usando un escalador numérico (RobustScaler de sklearn) para escalar los campos numéricos (todas las características son numéricas en el conjunto de datos); luego sigue un método de submuestreo (clase RandomUnderSampler) y un método de sobremuestreo (algoritmo SMOTE) y, finalmente, un modelo de aprendizaje automático (estamos usando LightGBM, un marco para implementar un algoritmo de aumento de gradiente). Como punto de referencia inicial, la clase mayoritaria se submuestrea a 10 000 y la clase minoritaria se sobremuestrea a 10 000.Modelado inicialAntes de pasar al ajuste de hiperparámetros, se entrena un modelo inicial. La tubería construida en la sección anterior se entrena en la división del tren y luego se prueba en la división de prueba. Como los datos que elegimos están muy desequilibrados (antes del remuestreo), no es efectivo medir solo la precisión. Por lo tanto, al usar el informe de clasificación de sklearn, estaremos monitoreando la precisión, el recuerdo y el puntaje f1 de ambas clases.Informe de clasificación para la evaluación de la tubería base. Imagen del autor. Los resultados de la prueba muestran que, aunque el modelo funciona perfectamente en la clasificación de transacciones no fraudulentas, es deficiente en la detección de fraude, ya que la precisión y el puntaje f1 son significativamente bajos. Con este punto de referencia, veremos cómo el ajuste de hiperparámetros puede ayudarnos a encontrar una mejor relación de muestreo.Ajuste para encontrar la mejor relación de muestreoEn este artículo, solo nos centraremos en la estrategia de muestreo de las técnicas de submuestreo y sobremuestreo. Inicialmente, se crean dos listas, que comprenden diferentes estrategias de muestreo para los métodos de submuestreo y sobremuestreo. Estas listas se utilizarán para encontrar la mejor estrategia de muestreo de las estrategias de muestreo dadas. GridSearchCV y RandomizedSearchCV son dos clases de ajuste de hiperparámetros de sklearn, donde la primera recorre todos los valores de los parámetros proporcionados para encontrar el mejor conjunto de valores, y la última elige aleatoriamente los valores de los hiperparámetros y se ejecuta hasta que se alcanzan las iteraciones especificadas por el usuario. En este experimento, usaremos GridSearchCV para el ajuste de hiperparámetros. GridSearchCV requiere dos parámetros: estimador y param_grid. El estimador es el modelo (en nuestro caso, la canalización), y param_grid es un diccionario con las claves que representan los parámetros que deben ajustarse y los valores que representan el conjunto de valores de los parámetros. Uso de una canalización para volver a muestrear y construir el modelo facilita la realización de ajustes de hiperparámetros y la búsqueda de la mejor estrategia de muestreo. Como hemos especificado los nombres de las técnicas de submuestreo y sobremuestreo en la tubería (como “submuestreador” y “sobremuestreador”), podemos acceder a sus parámetros usando “__” para usar el parámetro para el ajuste de hiperparámetros (por ejemplo, “submuestreador__estrategia_muestreo”). Una vez se completa el ajuste de hiperparámetros, podemos obtener el mejor conjunto de estrategias de muestreo para submuestreo y sobremuestreo de la lista especificada, y luego usarlos para entrenar la canalización y evaluar su rendimiento.Informe de clasificación para evaluar la canalización ajustada por hp. Imagen del autor. El uso del ajuste de hiperparámetros para encontrar la mejor estrategia de muestreo es efectivo, ya que la tubería ha mejorado significativamente en la detección de transacciones fraudulentas. El repositorio para el funcionamiento de este artículo se puede encontrar aquí.Ultimas palabrasEncontrar el punto óptimo de la relación de muestreo cuando se vuelve a muestrear lleva mucho tiempo y es complejo, pero las canalizaciones de aprendizaje automático y el ajuste de hiperparámetros pueden proporcionar una solución simple para aliviar el problema. En este artículo, el impacto del ajuste de hiperparámetros para determinar la mejor relación de muestreo para Se examinan las técnicas de submuestreo y sobremuestreo, y la solución es relativamente fácil de implementar. Espero que este artículo le haya resultado útil y me encantaría escuchar sus comentarios/críticas sobre este artículo, ya que me ayudaría a mejorar mis habilidades de escritura y codificación. .¡Salud!