Aprendizaje de conjunto en Python con el ejemplo

Aprendizaje de conjunto en Python con el ejemplo

No hay ningún secreto de que el aprendizaje automático está mejorando con el tiempo y los modelos predictivos. Los modelos predictivos forman el núcleo del aprendizaje automático. Es bueno mejorar la precisión del modelo para obtener mejores resultados en el modelo de aprendizaje automático. Se utiliza una técnica llamada "Ensemble Machine Learning" para aumentar el rendimiento y la precisión de un modelo.

Ensemble Learning utiliza diferentes modelos de aprendizaje automático para tratar de hacer mejores predicciones en el conjunto de datos. Las predicciones de un modelo se combinan en un modelo de conjunto para hacer que la predicción final sea exitosa. Sin embargo, muchas personas no están familiarizadas con el aprendizaje automático del conjunto. Lee abajo; Explicamos todo sobre esta técnica de aprendizaje automático utilizando Python con ejemplos apropiados.

Supongamos que estás participando en un juego de trivia y tienes un buen conocimiento de algunos temas, pero no sabes nada otros temas. Se requeriría que un miembro del equipo cubra todos los temas del juego si desea lograr un puntaje máximo en el juego. Es la idea básica detrás del aprendizaje conjunto en el que combinamos las predicciones de diferentes modelos para una salida precisa.

La imagen muestra un ejemplo de esquemas de un conjunto. En la imagen de arriba, la matriz de entrada se llena por tres tuberías de preprocesamiento, y hay estudiantes de base. Todos los conjuntos combinan las predicciones de los alumnos base en la matriz de predicción final "P".

Supongamos que está pensando en combinar todas las predicciones. Si consideramos el ejemplo anterior, es fácil de responder cuando tiene un equipo; El aprendizaje automático es lo mismo que los problemas de clasificación. En el aprendizaje automático, el sistema toma una predicción de etiqueta de clase más común equivalente a la regla mayoritaria. Sin embargo, hay diferentes formas de combinar varias predicciones, y puede usar un modelo para aprender a combinar las predicciones de manera adecuada.

¿Qué es el aprendizaje del conjunto??

El aprendizaje automático y las estadísticas se están extendiendo en todo el mundo, por lo que necesitamos diferentes técnicas para aumentar el rendimiento de un modelo predictivo para una mejor precisión. Ensemble Learning es un procedimiento para utilizar diferentes modelos de aprendizaje automático y construir estrategias para resolver un problema específico.

El conjunto combina diferentes conjuntos de modelos para improvisar en la potencia predictiva y la estabilidad. Según los modelos basados ​​en el conjunto, hay dos escenarios diferentes, yo.mi., una cantidad de datos mayor o menor.

Entendamos el aprendizaje del conjunto usando un ejemplo; Supongamos que queremos invertir en la compañía "ABC", pero no estamos seguros de su rendimiento. Por lo tanto, tomamos consejos de diferentes personas sobre el desempeño de la compañía "ABC". Podemos tomar el consejo de:

Empleados de la empresa "ABC": Los empleados de la empresa saben todo sobre la funcionalidad interna de la empresa y toda la información interna. Sin embargo, los empleados carecen de una perspectiva más amplia sobre la competencia, cómo evoluciona la tecnología y los efectos en el producto de la compañía "ABC". Según la información y las experiencias pasadas, tener el consejo de los empleados es un 65% de veces correcto.

Asesores financieros de la compañía "ABC": Los asesores financieros tienen una perspectiva más amplia sobre el entorno competitivo. Sin embargo, el asesoramiento del asesor financiero de la compañía ha sido un 75% de veces correcto en el pasado.

Comerciantes del mercado de valores: Estos comerciantes siempre observan el precio de las acciones de la compañía, y conocen las tendencias estacionales y el rendimiento general del mercado. También desarrollan una gran institución sobre la variación de las acciones a lo largo del tiempo. Aún así, el consejo de los comerciantes del mercado de valores ha sido un 70% de veces útil en el pasado.

Empleados de la compañía de la competencia: Estos empleados conocen las funcionalidades internas de la empresa de una competencia y son conscientes de los cambios específicos. Sin embargo, no tienen todas las vistas de su empresa y factores externos relacionados con el crecimiento del competidor. Aún así, los empleados de la compañía de la competencia tenían un 60% de veces en el pasado.

Equipo de investigación de mercado: Este equipo trabaja para analizar las preferencias del cliente del producto de la compañía "ABC" sobre los competidores. Este equipo se ocupa del lado del cliente para desconocer la variación "ABC" que la compañía traerá debido a la alineación de sus objetivos. Sin embargo, el equipo de investigación de mercado fue un 75% de veces útil en el pasado.

Equipo de expertos en redes sociales: Este equipo es beneficioso para comprender cómo se posicionan los productos de la empresa "ABC" en el mercado. También analizan los sentimientos del cliente que cambian con la empresa a lo largo del tiempo. Equipo de expertos en redes sociales desconoce cualquier información más allá del marketing digital. Entonces, tienen un 65% de veces en el pasado.

En el escenario anterior, tenemos diferentes aspectos de tomar una buena decisión, ya que la tasa de precisión puede ser del 99%. Sin embargo, los supuestos que hemos usado anteriormente son independientes y ligeramente extremas porque se espera que se correlacionen.

Métodos de conjunto

Ahora discutamos la información completa de las diferentes técnicas de aprendizaje de conjunto en Python:

Método de conjunto básico

Hay tres tipos de técnicas en el método de conjunto básico, y son:

Votación máxima

El trabajo principal de votación máxima se utiliza para resolver problemas de clasificación. Este método tiene múltiples modelos independientes, y la salida individual se conoce como "voto". Se utilizan múltiples modelos para predecir cada punto de datos. La clase con un voto máximo regresará como un resultado. La predicción que obtienen los usuarios por la mayoría del modelo se utilizará como una predicción final.

Por ejemplo, tenemos cinco expertos para calificar un producto, han proporcionado las calificaciones como esta:

Experto 1 Experto 2 Experto 3 Experto 4 Experto 5 Calificación final
4 5 4 5 4 4

Aquí está el código de muestra para el ejemplo anterior:

modelo1 = árbol.DecisionTreeClassifier ()
modelo2 = KneighBorsClassifier ()
modelo3 = logisticRegression ()
modelo1.Fit (x_train, y_train)
modelo2.Fit (x_train, y_train)
modelo3.Fit (x_train, y_train)
Pred1 = Modelo1.Predicte (x_test)
pred2 = modelo2.Predicte (x_test)
pred3 = modelo3.Predicte (x_test)
FINAL_PRED = NP.formación([])
para i en el rango (0, len (x_test)):
FINAL_PRED = NP.append (final_pred, modo ([pred1 [i], pred2 [i], pred3 [i]]))

En el código de muestra anterior, x_train es una variable independiente de los datos de entrenamiento, y Y_train es una variable objetivo de los datos de capacitación. Aquí x_train, x_test e y_test son conjuntos de validación.

Promedio

Hay múltiples predicciones para cada punto de datos en el promedio; se usa para el problema de regresión. En esta técnica, encontramos un promedio de múltiples predicciones de los modelos dados y luego usa este promedio para obtener una predicción final.

El método de promedio tiene modelos independientes que se utilizan para encontrar el promedio de las predicciones. En general, la salida combinada es más precisa que la salida individual a medida que disminuye la varianza. Este método se utiliza para hacer predicciones apropiadas en el problema de regresión o encontrar la posibilidad del problema de clasificación.

Si consideramos el ejemplo anterior, entonces el promedio de las calificaciones será

Experto 1 Experto 2 Experto 3 Experto 4 Experto 5 Calificación final
4 5 4 5 4 4

Promedio de las calificaciones = (4+5+4+5+4+4)/5 = 4.4

El código de muestra para el problema anterior será:

modelo1 = árbol.DecisionTreeClassifier ()
modelo2 = KneighBorsClassifier ()
modelo3 = logisticRegression ()
modelo1.Fit (x_train, y_train)
modelo2.Fit (x_train, y_train)
modelo3.Fit (x_train, y_train)
Pred1 = Modelo1.Predicte_proba (x_test)
pred2 = modelo2.Predicte_proba (x_test)
pred3 = modelo3.Predicte_proba (x_test)
FinalPred = (Pred1+Pred2+Pred3)/3

Peso promedio

Este método es un tipo extendido del método promedio, ya que a los modelos se les asigna varios pesos que definen la importancia de cada modelo para una predicción adecuada. Por ejemplo, si un equipo tiene dos expertos y dos principiantes, se le dará importancia a los expertos en lugar de los principiantes.

El resultado del promedio ponderado se puede calcular como [(5 × 0.24) + (4 × 0.24) + (5 × 0.19) + (4 × 0.19) + (4 × 0.19)] = 4.68.

Factores Experto 1 Experto 2 Experto 3 Experto 4 Experto 5 Calificación final
peso 0.24 0.24 0.19 0.19 0.19
clasificación 5 4 5 4 4 4.68

Código de muestra para el ejemplo anterior de promedio ponderado:

modelo1 = árbol.DecisionTreeClassifier ()
modelo2 = KneighBorsClassifier ()
modelo3 = logisticRegression ()
modelo1.Fit (x_train, y_train)
modelo2.Fit (x_train, y_train)
modelo3.Fit (x_train, y_train)
Pred1 = Modelo1.Predicte_proba (x_test)
pred2 = modelo2.Predicte_proba (x_test)
pred3 = modelo3.Predicte_proba (x_test)
FinalPred = (Pred1*0.3+pred2*0.3+pred3*0.4)

Métodos de conjunto avanzados

Apilado

Método de apilamiento, múltiples modelos como la regresión o la clasificación se combinan a través de un metamodelo. En otras palabras, este método utiliza diferentes predicciones de varios modelos para construir un nuevo modelo. Todos los modelos base están capacitados adecuadamente en el conjunto de datos, y luego un meta-modelo está debidamente capacitado en las características devueltas de los modelos base. Por lo tanto, un modelo base en el apilamiento es específicamente diferente, y el metamodelo es beneficioso para encontrar las características del modelo base para obtener una gran precisión. El apilamiento tiene un paso de algoritmo específico como se muestra a continuación:

  • Primero, capacite un conjunto de datos en n piezas.
  • El modelo base se ajustará en las partes N-1, y las predicciones se dividen en la enésima parte. Se requiere realizar por cada enésima parte de un set de tren.
  • El modelo se instalará en un conjunto de datos de tren completo, y este modelo se utilizará para predecir un conjunto de datos de prueba.
  • Después de eso, la predicción en un conjunto de datos del tren se utilizará como una característica para crear un nuevo modelo.
  • Por fin, el modelo final se utilizará para predecir en un conjunto de datos de prueba.

Mezcla

La mezcla es la misma que el método de apilamiento, pero utiliza un conjunto de Holdout desde un conjunto de tren para hacer las predicciones. En palabras simples, la mezcla utiliza un conjunto de datos de validación y lo mantiene separado para hacer las predicciones en lugar de usar un conjunto de datos completo para entrenar un modelo base. Así que aquí están los pasos algorítmicos que podemos usar en la mezcla:

  • Primero, necesitamos dividir los conjuntos de datos de capacitación en diferentes conjuntos de datos, como el conjunto de datos de prueba, validación y capacitación.
  • Ahora, se ajuste al modelo base por un conjunto de datos de entrenamiento.
  • Después de eso, predice el conjunto de datos de prueba y validación.
  • Las predicciones anteriores se utilizan como una característica para construir el modelo de segundo nivel.
  • Finalmente, el modelo de segundo nivel se usa para hacer las predicciones en la prueba y la meta-featuración.

Harpillera

El bolso también se llama método de arranque; Combina los resultados de diferentes modelos para obtener resultados generalizados. En este método, un modelo base se ejecuta en las bolsas o subconjuntos para obtener una distribución justa de un conjunto de datos completo. Estas bolsas son subconjuntos de un conjunto de datos con el reemplazo para hacer el tamaño de una bolsa similar a un conjunto de datos completo. La salida del empacado se forma una vez que todos los modelos base se combinan para la salida. Hay un algoritmo específico para mendigar a continuación:

  • Primero, cree diferentes conjuntos de datos a partir de un conjunto de datos de capacitación eligiendo observaciones con un reemplazo.
  • Ahora, ejecute modelos base en cada conjunto de datos creado de forma independiente.
  • Finalmente, combine todas las predicciones del modelo base con cada resultado final.

Impulso

El aumento de los trabajos para evitar que el modelo base incorrecto impacte una salida final, en lugar de combinar un modelo base, aumentando el aumento de la creación de un nuevo modelo que depende de uno anterior. Este nuevo modelo elimina los errores de todos los modelos anteriores, y cada modelo se conoce como un alumno débil. El modelo final se llama un alumno fuerte, creado al obtener una media ponderada de los alumnos débiles. Es un procedimiento secuencial en el que cada modelo posterior funciona para corregir errores de modelos anteriores. Los siguientes son los pasos secuenciales del algoritmo para aumentar:

  • Primero, tome el subconjunto de un conjunto de datos de capacitación y luego entrene el modelo base en el conjunto de datos.
  • Ahora, use el tercer modelo para hacer predicciones en un conjunto de datos completo.
  • Después de eso, calcule el error por el valor predicho y real.
  • Una vez calcule el error, inicialice el punto de datos con el mismo peso.
  • Ahora, asigne un peso más alto al punto de datos predicho incorrectamente.
  • Después de eso, haga un nuevo modelo eliminando los errores anteriores y realice predicciones apropiadas por el nuevo modelo.
  • Necesitamos crear diferentes modelos-cada modelo sucesivo corrigiendo los errores de los últimos modelos.
  • Finalmente, el alumno fuerte o el modelo final es una media ponderada del alumno anterior o débil.

Conclusión

Que concluye nuestra explicación detallada del aprendizaje conjunto con los ejemplos apropiados en Python. Como hemos mencionado anteriormente, Ensemble Learning tiene múltiples predicciones, por lo que en otras palabras, usamos múltiples modelos para encontrar el resultado más preciso posible. Hemos mencionado tipos de aprendizaje de conjunto con ejemplos y algoritmos de ellos. Existen múltiples métodos para averiguar los resultados utilizando múltiples predicciones. Según muchos científicos de datos, Ensemble Learning ofrece el resultado más preciso posible, ya que utiliza múltiples predicciones o modelos.