Cómo ajustar sus modelos de aprendizaje automático para mejorar la precisión de los pronósticos

0
How To Fine Tune Your Machine Learning Models To Improve Forecasting Accuracy

El modelo predictivo de aprendizaje automático con ajuste fino es un paso crucial para mejorar la precisión de los resultados pronosticados. En el pasado reciente, he escrito varios artículos que explican cómo funciona el aprendizaje automático y cómo enriquecer y descomponer el conjunto de características para mejorar la precisión de sus modelos de aprendizaje automático.

Este artículo descubre detalles de:

  1. Recuperación de estimaciones del rendimiento de un modelo utilizando métricas de puntuación
  2. Búsqueda y diagnóstico de problemas comunes de algoritmos de aprendizaje automático
  3. Ajuste de parámetros de modelos de aprendizaje automático

Lea FinTechExplained d isclaimer Step

Paso 1: Entender qué es el modelo de aprendizaje automático de afinación

A veces, tenemos que explorar cómo los parámetros del modelo pueden mejorar la precisión de pronóstico de nuestro modelo de aprendizaje automático.

El modelo de aprendizaje automático de ajuste fino es un arte negro. Puede llegar a ser una tarea exhaustiva. Cubriré varias metodologías en este artículo que podemos seguir para obtener resultados precisos en menos tiempo.

A menudo me hacen una pregunta sobre las técnicas que se pueden utilizar para ajustar los modelos de pronóstico cuando las características son estables. y el conjunto de características se descompone. Una vez que se ha intentado todo, debemos ajustar nuestros modelos de aprendizaje automático.

Afinar el modelo de aprendizaje a máquina es como girar los interruptores y botones de TV hasta que obtenga una señal más clara

Este diagrama ilustra cómo los parámetros pueden depender de entre sí.

  • X Train – Datos de entrenamiento de variables independientes, también conocidas como características
  • X Test – Datos de prueba de variables independientes
  • Y Train – Datos de entrenamiento de la variable dependiente
  • Y Test – Datos de prueba de variable dependiente

Por ejemplo, si está pronosticando el volumen de cascada en función de la temperatura y la humedad, entonces el volumen de agua se representa como Y (variable dependiente) y la Temperatura y la Humedad son la X (variables o características independientes). Los datos de entrenamiento de X se conocen entonces como X Train, que puede usar para entrenar su modelo.

Los hiperparámetros son parámetros de los modelos que se pueden ingresar como argumentos a los modelos.

Paso 2: Cubrir lo básico

Antes de ajustar su modelo de pronóstico, es importante comprender brevemente qué es el aprendizaje automático.

Si es nuevo en el aprendizaje automático, consulte este artículo:

Aprendizaje automático en 8 minutos

A menudo es más fácil mejorar los datos que introducimos en los modelos que ajustar los parámetros del modelo. Si desea mejorar la precisión de su modelo de pronóstico, primero enriquezca los datos en el conjunto de características.

Si ingresa datos de baja calidad, entonces el modelo arrojará resultados deficientes.

Lea este artículo que destaca Técnicas comunes que podemos utilizar para enriquecer las características:

Procesamiento de datos para mejorar la precisión del modelo de aprendizaje automático

Si no está seguro de si su modelo es el modelo más apropiado para el problema, eche un vistazo en este artículo. Revisa los algoritmos más comunes del modelo de aprendizaje automático:

Comparación de algoritmos de aprendizaje automático

Paso 3: Encuentra tu métrica de puntuación

El requisito previo más importante es decidir la métrica que vas a utilizar utilizar para calificar la precisión del modelo de pronóstico.

Podría ser R al cuadrado, R al cuadrado ajustado, Matriz de confusión, F1, Recall, Variance, etc.

Lea este artículo para comprender las medidas matemáticas más importantes que cada dato El científico debe saber. Estas medidas se explican de una manera fácil de entender:

Debe saber las medidas matemáticas para cada científico de datos

 de sklearn.metrics contiene un gran número de métricas de puntuación

Paso 4. Obtenga un pronóstico preciso Puntuación

Una vez que haya preparado su conjunto de entrenamiento, haya enriquecido sus características, haya escalado los datos, descompuesto los conjuntos de características, haya decidido la métrica de puntuación y haya entrenado a su modelo en los datos de entrenamiento, entonces debe probar la precisión del modelo en datos invisibles. . Los datos invisibles se conocen como “datos de prueba”.

Puede utilizar la validación cruzada para evaluar cómo funciona su modelo en datos invisibles. Esto se conoce como error de generalización de su modelo.

Validación cruzada

Hay dos metodologías comunes de validación cruzada

Validación cruzada reservada

No es una práctica inteligente de aprendizaje automático entrenar su modelo y puntúa su precisión en el mismo conjunto de datos. Es una técnica muy superior para probar su modelo con diferentes valores de parámetros de modelo en un conjunto de prueba invisible.

Es una buena práctica dividir su conjunto de datos en tres partes:

  1. Conjunto de entrenamiento
  2. Conjunto de validación [19659004] Conjunto de pruebas

Entrene a su modelo en el conjunto de entrenamiento (60% de los datos), luego realice la selección del modelo (parámetros de ajuste) en el conjunto de validación (20% de los datos) y una vez que esté listo, pruebe su modelo en el conjunto de pruebas (20% de los datos).

Cree las proporciones de los conjuntos de datos de capacitación, validación y prueba de acuerdo con las necesidades de su modelo de aprendizaje automático y la disponibilidad de los datos.

K Fold Cross Validación

La validación cruzada KFold es un mecanismo superior al uso de la validación cruzada de reserva. La forma en que funciona es que los datos se dividen en k pliegues (partes). Los pliegues k-1 se usan para entrenar el modelo y el último pliegue se usa para probar el modelo.

Este mecanismo se repite k veces. Además, cada vez se pueden usar una serie de métricas de desempeño para evaluar y calificar el desempeño. El promedio de las métricas de rendimiento son reportados. Las proporciones de la clase se conservan en StratifiedKFold.

Elija entre 8–12 k pliegues

 de sklearn.cross_validation import cross_val_score
puntuaciones = cross_val_score (estimator = pipe_lr, X = X_train, y = Y_train, cv = 12, n_jobs =)
mean_scores = scores.mean ()

El parámetro n_jobs controla el número de CPU utilizadas para ejecutar la validación cruzada.

Paso 5: Diagnosticar el mejor valor de parámetro utilizando curvas de validación

Una vez que se hayan establecido los puntajes de pronóstico precisos, averigüe todos los parámetros que su modelo requiere Luego puede usar las curvas de validación para explorar cómo sus valores pueden mejorar la precisión de los modelos de pronóstico.

Antes de ajustar los parámetros, debemos diagnosticar y encontrar si el modelo sufre un subequipo o falta de ajuste.

Modelos que Tener un gran número de parámetros tiende a sobreajustarse. Podemos usar curvas de validación para resolver el problema del sobreajuste y la insuficiencia en el aprendizaje automático.

Los parámetros también se conocen como hiperparámetros

Foto de Dominik Scythe en Unsplash

La curva de validación se utiliza para pasar en un rango de valores para los parámetros del modelo. Cambia los valores de los parámetros del modelo uno a la vez y luego los valores de precisión se pueden trazar contra el valor del parámetro del modelo para evaluar la precisión del modelo.

Por ejemplo, si su modelo toma un parámetro llamado “número de árboles” ”Luego puede probar su modelo pasando 10 valores diferentes del parámetro. Puede usar la curva de validación para informar la precisión en cada uno de los valores del parámetro para evaluar la precisión. Finalmente, obtenga la puntuación que devuelve la mayor precisión y le proporciona los resultados requeridos en tiempos aceptables.

Sci-kit learn ofrece un módulo de curva de validación:

 desde sklearn.learning_curve import validation_curve
number_of_trees = [1,2,3,4,5,6,7,99,1000]
train_scores, test_scores = validation_curve (estimator =, ... X = X_train, y = Y_train, param_range = number_of_trees,…)

Paso 6: Utilice la búsqueda en la cuadrícula para optimizar la combinación del hiperparámetro

Una vez que hemos recuperado los valores óptimos de los parámetros del modelo individual, podemos usar la búsqueda en la cuadrícula para obtener la combinación de los valores del hiperparámetro de un modelo que nos puede dar la mayor precisión. 19659068] La búsqueda en cuadrícula evalúa todas las combinaciones posibles de los valores de los parámetros.

La búsqueda en cuadrícula es exhaustiva y utiliza la fuerza bruta para evaluar los valores más precisos. Por lo tanto, es una tarea de computación intensiva.

Use GridSearchCV de sci-kit para realizar una búsqueda de cuadrícula

 desde sklearn.grid_search import GridSearchCV

Paso 7: sintonizar continuamente los parámetros para mejorar aún más la precisión

La clave aquí es mejorar el conjunto de entrenamiento siempre que haya más datos disponibles.

Siempre pruebe su modelo de pronóstico con datos de prueba más ricos que el modelo no se ha visto antes.

Siempre asegúrese de elegir el modelo correcto y los valores de los parámetros para el trabajo.

Es importante proporcionar más datos tan pronto como estén disponibles y probar la precisión de el modelo de forma continua para que el rendimiento y la precisión se puedan optimizar aún más.

Resumen

Este artículo descubrió detalles de cómo podemos:

  1. Recuperar estimaciones del rendimiento de un modelo utilizando métricas de puntaje
  2. Encuentre y diagnostique los problemas comunes de los algoritmos de aprendizaje automático
  3. Ajuste los parámetros de los modelos de aprendizaje automático para mejorar aún más la precisión

Espero que ayude.

Original . Publicado de nuevo con permiso.

Recursos:

Relacionados:

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *