AdaBoostClassifier avec différents apprenants
Je suis en train d'utiliser AdaBoostClassifier avec une base de l'apprenant de l'autre que DecisionTree. J'ai essayé de SVM et KNeighborsClassifier mais j'ai des erreurs. Certains ont-ils un point les classificateurs qui peut être utilisé avec AdaBoostClassifier?
Vous devez vous connecter pour publier un commentaire.
Ok, nous avons une méthode systématique pour tout savoir de la base apprenants pris en charge par AdaBoostClassifier. Compatible de base de l'apprenant de l'ajustement de la méthode de besoin à l'appui de sample_weight, qui peut être obtenue en exécutant le code suivant:
Cette résultats dans la sortie suivante:
AdaBoostClassifier,
BernoulliNB,
DecisionTreeClassifier,
ExtraTreeClassifier,
ExtraTreesClassifier,
MultinomialNB,
NuSVC,
Perceptron,
RandomForestClassifier,
RidgeClassifierCV,
SGDClassifier,
SVC.
Si le classificateur ne pas mettre en œuvre predict_proba, vous devez définir AdaBoostClassifier paramètre de l'algorithme = 'SAMME'.
Merci à Andreas pour montrer comment afficher la liste de tous les estimateurs.
from sklearn.utils.testint import all_estimators; print(all_estimators(type_filter='classifier'))
from sklearn.utils.testing import all_estimators; print(all_estimators(type_filter='classifier'))
Vous devriezpas utilisation SVM avec Adaboost. Adaboost devrait utiliser de faibles-classificateur. En utilisant des classificateurs comme SVM entraînera le surajustement.
Un classificateur qui permet le passage de l'échantillon poids devrait fonctionner.
SVC
est l'un de ces classificateur. Ce message d'erreur spécifique (et traceback) avez-vous l'obtenir? Pouvez-vous fournir un minimaliste de reproduction en cas d'erreur (par exemple, comme un http://gist.github.com )?TypeError: fit() got an unexpected keyword argument 'sample_weight'
. C'est parce queKNeighborsClassifier
ne prend pas en charge pondérée des échantillons ne peut donc pas être utilisé en conjonction avecAdaBoostClassifier
, comme expliqué dans sa docstring.