Adaboost à Sklearn

Adaboost à Sklearn
«Adaboost est une technique de renforcement du gradient utilisé pour convertir les apprenants faibles en forts. Il est largement utilisé dans diverses plates-formes d'apprentissage automatique compétitives. Cet article discutera de l'algorithme Adaboost, de ses utilisations et de sa mise en œuvre dans Sklearn."

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

En combinant de nombreux modèles, l'ensemble l'apprentissage améliore les résultats d'apprentissage automatique. En comparaison avec l'utilisation d'un seul modèle, cette stratégie permet la génération de plus grandes performances de prédiction. Afin de réduire la variance (l'ensachage), de réduire les biais (augmentation) et d'améliorer les prédictions, les approches d'ensemble mélangent plusieurs techniques d'apprentissage automatique dans un seul modèle prédictif (empilement).

Qu'est-ce qu'Adaboost?

Adaboost est un exemple de «l'apprentissage d'ensemble», qui implique d'utiliser de nombreux apprenants pour créer un algorithme d'apprentissage plus efficace. Adaboost fonctionne en sélectionnant un algorithme de base (tel que les arbres de décision) et en l'améliorant progressivement en considérant les échantillons mal classés dans l'ensemble de formation. Nous sélectionnons une méthode de base et donnons à chaque exemple de formation le même poids. L'ensemble de formation est soumis à l'algorithme de base à chaque itération, et les poids des cas qui ont été classés par erreur. Nous appliquons l'apprenant de base à l'ensemble de formation avec des poids mis à jour chaque fois que nous répétons les temps «n». La moyenne pondérée des apprenants «N» constitue le modèle final.

Pourquoi utilisons-nous Adaboost?

Étant donné que les paramètres d'entrée de l'algorithme Adaboost ne sont pas optimisés simultanément, il est moins affecté par le sur-ajustement. En appliquant Adaboost, la précision des classificateurs faibles peut être augmentée. Au lieu de problèmes de classification binaire, Adaboost est également utilisé pour résoudre les problèmes de classification du texte et des images. Adaboost est également fréquemment employé dans des problèmes d'apprentissage automatique stimulants.

Implémentation d'Adaboost dans Sklearn

Importation de bibliothèques
de Sklearn.Ensemble Import AdaboostClassifier
de Sklearn.Les ensembles de données importent make_classification
Création de l'ensemble de données
X, y = make_classification (n_sample = 500, n_features = 4, n_informative = 2, n_redundant = 0, random_state = 0, shuffle = false)
Imprimer ("Données sur les fonctionnalités", x)
imprimer ("Données d'étiquette est", y)

Sortir

Les données sur les fonctionnalités sont [[0.44229321 0.08089276 0.54077359 -1.81807763]
[ 1.34699113 1.48361993 -0.04932407 0.2390336]
[-0.54639809 -1.1629494 -1.00033035 1.67398571]

[0.8903941 1.08980087 -1.53292105 -1.71197016]
[0.73135482 1.25041511 0.04613506 -0.95837448]
[0.26852399 1.70213738 -0.08081161 -0.70385904]]
Les données de l'étiquette sont [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]

Créer le modèle et faire des prédictions

clf = adaboostClassifier (n_esimators = 100, random_state = 0)
CLF.ajustement (x, y)
imprimer ("l'étiquette de sortie est", CLF.prédire ([[1.5, 1, 0.5, -0.5]]))
imprimer ("score de classification est", CLF.score (x, y))

Sortir

L'étiquette de sortie est [1]
Le score de classification est 0.94

Conclusion

Nous avons discuté de l'algorithme Adaboost dans l'apprentissage automatique, y compris l'apprentissage d'ensemble, ses avantages et sa mise en œuvre dans Sklearn. Il s'agit d'un algorithme utile car il utilise un ensemble de modèles pour décider de la sortie au lieu d'un et convertit également les apprenants faibles en apprenants forts. Sklearn fournit une implémentation Adaboost dans la classe «Ensemble», où nous fournissons des paramètres personnalisés pour le modèle.