Apprentissage d'ensemble en Python par l'exemple

Apprentissage d'ensemble en Python par l'exemple

Il n'y a pas de secret que l'apprentissage automatique s'améliore avec le temps et les modèles prédictifs. Les modèles prédictifs forment le cœur de l'apprentissage automatique. Il est bon d'améliorer la précision du modèle pour de meilleurs résultats dans le modèle d'apprentissage automatique. Une technique appelée «Ensemble Machine Learning» est utilisée pour augmenter les performances et la précision d'un modèle.

L'apprentissage d'ensemble utilise différents modèles d'apprentissage automatique pour essayer de faire de meilleures prédictions sur l'ensemble de données. Les prédictions d'un modèle sont combinées dans un modèle d'ensemble pour faire réussir la prédiction finale. Cependant, beaucoup de gens ne connaissent pas l'apprentissage automatique d'ensemble. Lire ci-dessous; Nous expliquons tout sur cette technique d'apprentissage automatique en utilisant Python avec des exemples appropriés.

Supposons que vous participiez à un jeu de trivia et que vous ayez une bonne connaissance de certains sujets, mais vous ne connaissez rien d'autres sujets. Un membre de l'équipe serait tenu de couvrir tous les sujets du jeu si vous souhaitez obtenir un score maximal dans le jeu. C'est l'idée de base derrière l'apprentissage de l'ensemble dans lequel nous combinons les prédictions de différents modèles pour une sortie précise.

L'image montre un exemple de schémas d'un ensemble. Dans l'image ci-dessus, le tableau d'entrée est rempli par trois pipelines de prétraitement, et il y a des apprenants de base. Tous les ensembles combinent les prédictions des apprenants de base dans le tableau de prédiction final «P».

Supposons que vous envisagiez de combiner toutes les prédictions. Si nous considérons l'exemple ci-dessus, il est facile de répondre lorsque vous avez une équipe; L'apprentissage automatique est le même que les problèmes de classification. Dans l'apprentissage automatique, le système prend une prédiction d'étiquette de classe la plus courante équivalente à la règle majoritaire. Cependant, il existe différentes façons de combiner diverses prévisions, et vous pouvez utiliser un modèle pour apprendre à combiner les prédictions de manière appropriée.

Qu'est-ce que l'apprentissage d'ensemble?

L'apprentissage automatique et les statistiques se propagent dans le monde entier, nous avons donc besoin de techniques différentes pour augmenter les performances d'un modèle prédictif pour une meilleure précision. L'apprentissage d'ensemble est une procédure d'utilisation de différents modèles d'apprentissage automatique et de construction de stratégies pour résoudre un problème spécifique.

L'ensemble combine différents ensembles de modèles d'improvisation sur le pouvoir et la stabilité prédictifs. Selon les modèles basés sur l'ensemble, il existe deux scénarios différents, je.e., une quantité plus élevée ou inférieure de données.

Comprenons l'apprentissage de l'ensemble en utilisant un exemple; Supposons que nous voulons investir dans l'entreprise «ABC», mais nous ne sommes pas sûrs de ses performances. Nous prenons donc des conseils de différentes personnes sur la performance de l'entreprise «ABC». Nous pouvons suivre les conseils de:

Employés de l'entreprise «ABC»: Les employés de l'entreprise savent tout sur les fonctionnalités internes de l'entreprise et toutes les informations intérieures. Cependant, les employés n'ont pas de perspective plus large sur la concurrence, comment la technologie évolue et les effets sur le produit de l'entreprise «ABC». Selon les informations et les expériences passées, avoir des conseils d'employés est 65% à droite.

Conseillers financiers de la société «ABC»: Les conseillers financiers ont une perspective plus large sur l'environnement compétitif. Cependant, les conseils du conseiller financier de l'entreprise ont été corrects de 75% dans le passé.

Traders boursiers: Ces commerçants observent toujours le cours des actions de l'entreprise, et ils connaissent les tendances saisonnières et les performances globales du marché. Ils développent également une institution vive sur la variation des actions au fil du temps. Pourtant, les conseils des commerçants boursiers ont été 70% utiles dans le passé.

Employés de l'entreprise du concurrent: Ces employés connaissent les fonctionnalités internes de l'entreprise d'un concurrent et sont conscientes des changements spécifiques. Cependant, ils n'ont pas chaque vue de leur entreprise et de leurs facteurs externes liés à la croissance du concurrent. Pourtant, les employés de l'entreprise du concurrent étaient 60% des fois dans le passé.

Équipe d'études de marché: Cette équipe s'efforce d'analyser les préférences des clients du produit de l'entreprise «ABC» sur les concurrents. Cette équipe traite de l'équipe du client pour ne pas être au courant de la société «ABC» à apportera en raison de l'alignement de leurs objectifs. Cependant, l'équipe d'études de marché était 75% utile dans le passé.

Équipe d'experts sur les réseaux sociaux: Cette équipe est bénéfique pour comprendre comment les produits de l'entreprise «ABC» sont positionnés sur le marché. Ils analysent également les sentiments du client qui changent avec l'entreprise au fil du temps. Équipe d'experts sur les réseaux sociaux ignorant toute information au-delà du marketing numérique. Donc, ils sont 65% dans le passé.

Dans le scénario ci-dessus, nous avons différents aspects de la prise d'une bonne décision car le taux de précision peut être de 99%. Cependant, les hypothèses que nous avons utilisées ci-dessus sont indépendantes et légèrement extrêmes car elles devraient être corrélées.

Méthodes d'ensemble

Discutons maintenant des informations complètes des différentes techniques d'apprentissage d'ensemble dans Python:

Méthode d'ensemble de base

Il existe trois types de techniques dans la méthode d'ensemble de base, et ils sont:

Vote maximum

Le travail majeur du vote maximum est utilisé pour résoudre les problèmes de classification. Cette méthode a plusieurs modèles indépendants, et la sortie individuelle est connue sous le nom de «vote». Plusieurs modèles sont utilisés pour prédire chaque point de données. La classe avec un vote maximum reviendra comme une sortie. La prédiction que les utilisateurs obtiennent par la majorité du modèle seront utilisées comme prédiction finale.

Par exemple, nous avons cinq experts pour évaluer un produit, ils ont fourni les notes comme celle-ci:

Expert 1 Expert 2 Expert 3 Expert 4 Expert 5 Note finale
4 5 4 5 4 4

Voici l'exemple de code pour l'exemple ci-dessus:

modèle1 = arbre.DecisionTreEClassifier ()
Model2 = KneighborsClassifier ()
modèle3 = logistique ()
modèle1.fit (x_train, y_train)
modèle2.fit (x_train, y_train)
modèle3.fit (x_train, y_train)
pred1 = modèle1.prédire (x_test)
pred2 = modèle2.prédire (x_test)
pred3 = modèle3.prédire (x_test)
final_pred = np.déployer([])
pour i dans la gamme (0, Len (x_test)):
final_pred = np.Ajouter (final_pred, mode ([pred1 [i], pred2 [i], pred3 [i]]))

Dans l'exemple de code ci-dessus, X_Train est une variable indépendante des données de formation, et Y_Train est une variable cible des données de formation. Ici x_train, x_test et y_test sont des ensembles de validation.

Moyenne

Il y a plusieurs prédictions faites pour chaque point de données dans la moyenne; il est utilisé pour le problème de régression. Dans cette technique, nous trouvons en moyenne des prédictions multiples des modèles donnés, puis utilise cette moyenne pour obtenir une prédiction finale.

La méthode de moyenne a des modèles indépendants qui sont utilisés pour trouver la moyenne des prédictions. Généralement, la sortie combinée est plus précise que la sortie individuelle à mesure que la variance est diminuée. Cette méthode est utilisée pour faire des prévisions appropriées dans le problème de régression ou trouver la possibilité du problème de classification.

Si nous considérons l'exemple ci-dessus, alors la moyenne des notes sera

Expert 1 Expert 2 Expert 3 Expert 4 Expert 5 Note finale
4 5 4 5 4 4

moyenne des notes = (4 + 5 + 4 + 5 + 4 + 4) / 5 = 4.4

L'exemple de code pour le problème ci-dessus sera:

modèle1 = arbre.DecisionTreEClassifier ()
Model2 = KneighborsClassifier ()
modèle3 = logistique ()
modèle1.fit (x_train, y_train)
modèle2.fit (x_train, y_train)
modèle3.fit (x_train, y_train)
pred1 = modèle1.Predict_proba (x_test)
pred2 = modèle2.Predict_proba (x_test)
pred3 = modèle3.Predict_proba (x_test)
finalPred = (pred1 + pred2 + pred3) / 3

Moyenne pondérée

Cette méthode est un type étendu de la méthode moyenne car les modèles se voient attribuer divers poids qui définissent l'importance de chaque modèle pour une prédiction appropriée. Par exemple, si une équipe a deux experts et deux débutants, l'importance sera accordée aux experts au lieu des débutants.

Le résultat de la moyenne pondérée peut être calculé comme [(5 × 0.24) + (4 × 0.24) + (5 × 0.19) + (4 × 0.19) + (4 × 0.19)] = 4.68.

Facteurs Expert 1 Expert 2 Expert 3 Expert 4 Expert 5 Note finale
lester 0.24 0.24 0.19 0.19 0.19
notation 5 4 5 4 4 4.68

Exemple de code pour l'exemple ci-dessus de la moyenne pondérée:

modèle1 = arbre.DecisionTreEClassifier ()
Model2 = KneighborsClassifier ()
modèle3 = logistique ()
modèle1.fit (x_train, y_train)
modèle2.fit (x_train, y_train)
modèle3.fit (x_train, y_train)
pred1 = modèle1.Predict_proba (x_test)
pred2 = modèle2.Predict_proba (x_test)
pred3 = modèle3.Predict_proba (x_test)
finalPred = (pred1 * 0.3 + pred2 * 0.3 + pred3 * 0.4)

Méthodes d'ensemble avancées

Empilement

Méthode d'empilement, plusieurs modèles tels que la régression ou la classification sont combinés via un méta-modèle. En d'autres termes, cette méthode utilise différentes prédictions de divers modèles pour construire un nouveau modèle. Tous les modèles de base sont correctement formés sur l'ensemble de données, puis un méta-modèle est correctement formé sur les fonctionnalités renvoyées des modèles de base. Par conséquent, un modèle de base en empilement est spécifiquement différent, et le méta-modèle est bénéfique pour trouver les fonctionnalités du modèle de base pour obtenir une grande précision. L'empilement a une étape d'algorithme spécifique comme ci-dessous:

  • Tout d'abord, entraînez un ensemble de données en n parties.
  • Le modèle de base sera installé dans les parties N-1 et les prédictions sont divisées dans la nième partie. Il faut être effectué pour chaque partie du nième d'un ensemble de train.
  • Le modèle sera installé sur un ensemble de données de train complet, et ce modèle sera utilisé pour prédire un ensemble de données de test.
  • Après cela, la prédiction sur un ensemble de données de train sera utilisée comme fonctionnalité pour créer un nouveau modèle.
  • Enfin, le modèle final sera utilisé pour prédire un ensemble de données de test.

Mélange

Le mélange est le même que la méthode d'empilement, mais il utilise un ensemble de conservation à partir d'un ensemble de train pour faire les prédictions. En termes simples, le mélange utilise un ensemble de données de validation et le maintient séparé pour faire les prédictions au lieu d'utiliser un ensemble de données complet pour former un modèle de base. Voici donc les étapes algorithmiques que nous pouvons utiliser dans le mélange:

  • Tout d'abord, nous devons diviser des ensembles de données de formation dans différents ensembles de données tels que le test, la validation et l'ensemble de données de formation.
  • Maintenant, adaptez le modèle de base par un ensemble de données d'entraînement.
  • Après cela, prédire l'ensemble de données de test et de validation.
  • Les prédictions ci-dessus sont utilisées comme fonctionnalité pour construire le modèle de deuxième niveau.
  • Enfin, le modèle de deuxième niveau est utilisé pour faire les prédictions sur le test et la méta-fonctionnement.

Engage

L'ensachage est également appelé méthode d'amorçage; Il combine les résultats de différents modèles pour obtenir des résultats généralisés. Dans cette méthode, un modèle de base fonctionne sur les sacs ou les sous-ensembles pour obtenir une distribution équitable d'un ensemble de données complet. Ces sacs sont des sous-ensembles d'un ensemble de données avec le remplacement pour la taille d'un sac similaire à un ensemble de données complet. La sortie de l'ensachage est formée une fois que tous les modèles de base sont combinés pour la sortie. Il existe un algorithme spécifique pour la mendicité comme ci-dessous:

  • Tout d'abord, créez différents ensembles de données à partir d'un ensemble de données d'entraînement en choisissant des observations avec un remplacement.
  • Maintenant, exécutez les modèles de base sur chaque ensemble de données créé indépendamment.
  • Enfin, combinez toutes les prédictions du modèle de base à chaque résultat final.

Renforcement

L'obligation fonctionne pour empêcher le mauvais modèle de base d'avoir un impact sur une sortie finale, plutôt que de combiner un modèle de base, la stimulation axée sur la création d'un nouveau modèle dépendant d'un précédent. Ce nouveau modèle supprime toutes les erreurs des modèles précédents, et chaque modèle est connu comme un apprenant faible. Le modèle final est appelé un apprenant fort, créé en obtenant une moyenne pondérée des apprenants faibles. Il s'agit d'une procédure séquentielle dans laquelle chaque modèle ultérieur fonctionne pour corriger les erreurs des modèles précédents. Voici les étapes séquentielles de l'algorithme pour augmenter:

  • Tout d'abord, prenez le sous-ensemble d'un ensemble de données de formation, puis entraînez le modèle de base sur l'ensemble de données.
  • Maintenant, utilisez le troisième modèle pour faire des prédictions sur un ensemble de données complet.
  • Après cela, calculez l'erreur par la valeur prévue et réelle.
  • Une fois calculé l'erreur, puis initialisez le point de données avec le même poids.
  • Maintenant, attribuez un poids plus élevé au point de données incorrectement prédit.
  • Après cela, faites un nouveau modèle en supprimant les erreurs précédentes et en faisant les prédictions appropriées par le nouveau modèle.
  • Nous devons créer différents modèles - chaque modèle successif en corrigeant les erreurs des derniers modèles.
  • Enfin, l'apprenant fort ou le modèle final est une moyenne pondérée de l'apprenant précédent ou faible.

Conclusion

Cela conclut notre explication détaillée de l'apprentissage d'ensemble avec les exemples appropriés dans Python. Comme nous l'avons mentionné précédemment, l'ensemble d'apprentissage a de multiples prédictions, donc en d'autres termes, nous utilisons plusieurs modèles pour trouver la sortie la plus précise possible. Nous avons mentionné les types d'apprentissage d'ensemble avec des exemples et des algorithmes. Il existe plusieurs méthodes pour découvrir les résultats en utilisant plusieurs prédictions. Selon de nombreux scientifiques des données, Ensemble Learning offre la sortie la plus précise possible car elle utilise plusieurs prédictions ou modèles.