Se divide en la prueba de tren en Sklearn

Se divide en la prueba de tren en Sklearn

El conjunto de datos inicial necesario para entrenar algoritmos de aprendizaje automático se conoce como datos de capacitación. Se instruye los algoritmos de aprendizaje automático para hacer predicciones o realizar una tarea utilizando conjuntos de datos de entrenamiento. El conjunto de datos de prueba evalúa qué tan bien se realizan los datos de capacitación. Sklearn es un kit de herramientas de aprendizaje automático basado en Python que nos permite dividir nuestros datos en tren y probar muestras utilizando el Train_test_split () método. La técnica Train_Test_Split () se discute en este artículo.

¿Qué es la división de prueba de tren?

Los modelos de aprendizaje automático están entrenados utilizando la técnica de división de prueba de tren. Establece cuán efectivamente funcionan los algoritmos de aprendizaje automático. Se puede emplear para resolver problemas que involucran regresión y clasificación. El conjunto de datos de entrenamiento de aprendizaje automático es la división de prueba de tren. Está compuesto por una cantidad significativa de datos. En Python, el scikit El paquete Learn tiene un módulo llamado selección de modelo a partir del cual puede importar "división de pruebas de tren". Puede suministrar la muestra de tamaño de capacitación y prueba en esta función utilizando el tren y los tamaños de prueba. No existe el porcentaje de división perfecto. Debe seleccionar un porcentaje dividido que se adapte a los objetivos de su proyecto.

El modelo debe hacer coincidir con precisión los datos dados utilizando entradas y salidas conocidas. El programa se utiliza para hacer predicciones en el subconjunto de datos restante para aprender de él. Sin conocer los valores anticipados de entrada y salida, esto se puede usar para generar predicciones sobre conjuntos de datos en el futuro. La función Train_Test_Split () en el kit de herramientas de aprendizaje automático de Scikit-Learn en Python se puede utilizar para implementar la técnica de evaluación de división de prueba de trenes. Acepta el conjunto de datos como entrada y lo divide en dos subconjuntos como salida.

Equipo de prueba

El conjunto de pruebas es una selección de instancias extraídas del conjunto de datos para medir la efectividad del modelo. Estos datos se mantienen separados de los datos de capacitación y ajuste. Por lo tanto, no se puede utilizar durante las etapas de capacitación o ajuste del proceso de aprendizaje. Esto solo afectaría el rendimiento al sesgar el modelo a los datos.

Conjunto de entrenamiento

Los conjuntos de entrenamiento y prueba deben mantenerse separados. La fase de entrenamiento consume el conjunto de capacitación para identificar valores de parámetros que minimizan una función de costo específica en todo el conjunto de capacitación. Una vez capacitado en el conjunto de datos de capacitación, el modelo se evaluará en el conjunto de datos de prueba. El conjunto de datos de prueba no debe ser mucho más pequeño que el conjunto de datos de capacitación.

Cómo entrenar datos

Se crea un modelo utilizando datos específicos, denominados datos de "capacitación". En un modelo lineal simple, el modelo formaliza las relaciones entre las variables al producir la ecuación matemática para una línea. El tipo de modelo determina cómo se construye. Por ejemplo, una regresión difiere de otros métodos.

Es importante distinguir los datos de capacitación de otros datos, ya que a menudo divide su conjunto de datos inicial en dos partes: datos de capacitación para crear modelos y probar datos para evaluarlos. Por lo general, lo haría haciendo que su modelo predice valores en los datos de prueba (basados ​​en las variables en el modelo) y comparándolos con los valores reales.

El propósito de dividir nuestros datos

El sobreajuste y el achitimiento son dos problemas importantes que enfrentamos al probar nuestro conjunto de datos.

Construir un modelo basado en datos que se supone que se conoce se llama sesgo de apariencia.

El sobreajuste es cuando un modelo se adapta demasiado a los datos históricos. No tiene éxito en el futuro. El poco acorralado es el acto de crear un modelo que se adapte a los datos pasados ​​tan libremente que se vuelve inútil en el futuro.

Implementación de Train_Test_Split () en Sklearn

# Importar los métodos y bibliotecas necesarios
importar numpy como np
de Sklearn.model_selection import train_test_split
# Creación de un conjunto de datos de muestra
X, y = np.Arange (100).remodelar ((20, 5)), rango (20)
Imprimir ('Las características son', x)
Imprimir ('Las etiquetas de destino son', Lista (y))

Producción

Las características son

[[0 1 2 3 4]
[5 6 7 8 9]
[10 11 12 13 14]
[15 16 17 18 19]
[20 21 22 23 24]
[25 26 27 28 29]
[30 31 32 33 34]
[35 36 37 38 39]
[40 41 42 43 44]
[45 46 47 48 49]
[50 51 52 53 54]
[55 56 57 58 59]
[60 61 62 63 64]
[65 66 67 68 69]
[70 71 72 73 74]
[75 76 77 78 79]
[80 81 82 83 84]
[85 86 87 88 89]
[90 91 92 93 94]
[95 96 97 98 99]]

Las etiquetas de objetivos son

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]

Dividir los datos

X_train, x_test, y_train, y_test = trenes_test_split (x, y, test_size = 0.33, Random_state = 42)
Imprimir ('Las características de entrenamiento son', x_train)
Imprimir ('Las etiquetas de entrenamiento son', y_train)
Imprimir ('Las funciones de prueba son', x_test)
Imprimir ('Las etiquetas de prueba son', y_test)

Producción

Las características de entrenamiento son

[[15 16 17 18 19]
[90 91 92 93 94]
[80 81 82 83 84]
[65 66 67 68 69]
[10 11 12 13 14]
[45 46 47 48 49]
[95 96 97 98 99]
[20 21 22 23 24]
[60 61 62 63 64]
[35 36 37 38 39]
[50 51 52 53 54]
[70 71 72 73 74]
[30 31 32 33 34]]

Las etiquetas de entrenamiento son

[3, 18, 16, 13, 2, 9, 19, 4, 12, 7, 10, 14, 6]

Las características de la prueba son

[[0 1 2 3 4]
[85 86 87 88 89]
[75 76 77 78 79]
[5 6 7 8 9]
[40 41 42 43 44]
[25 26 27 28 29]
[55 56 57 58 59]]

Las etiquetas de prueba son

[0, 17, 15, 1, 8, 5, 11]

Conclusión

Discutimos el método Train_Test_Split () de Sklearn, que se utiliza para dividir los datos iniciales en muestras de tren y prueba. Esto se requiere para evaluar el rendimiento de nuestro modelo y, en última instancia, mejorarlo. También vimos cómo las muestras de tren y prueba son diferentes entre sí. Finalmente, implementamos el método Train_Test_Split () en Sklearn.