Je travaille sur un problème de classification et j'ai plusieurs classificateurs sklearn ajustés, comme
svm = SVC().fit(X_train, y_train)
dt = tree.DecisionTreeClassifier(criterion='entropy',max_depth=4000).fit(X_train, y_train)
...
for i in range(num_of_models):
m2 = create_model_for_ensemble(dummy_y_train.shape[1])
m2.fit(X_train_array[i], dummy_y_train, epochs=150, batch_size=100, verbose=0)
models.append(m2)
# m2 is a customized Neural Network Classifier, that has a custom predict function (m2.predict_classes)
# The above code is just an example, the point is - m2 is also a classifier.
... etc.
Au départ, ils reçoivent tous les mêmes données d'entrée et ont tous le même type de résultats, ils peuvent tous prédire une étiquette pour une ligne de mes données :
label attribute_1 attribute_2 ... attribute_79 1 ? 0.199574 0.203156 ... 0.046898 2 ? 0.201461 0.203837 ... 0.075002 3 ? 0.209044 0.214268 ... 0.143278 ... ... ... ... ... ...
Où l'étiquette est un nombre entier compris entre 0 et 29.
Mon objectif est de construire un classificateur AdaBoost qui inclut tous les éléments ci-dessus (svm, dt, m2), mais je n'ai pas été en mesure de trouver un exemple sur Google ; chaque exemple parle simplement de plusieurs arbres de décision différents, ou de plusieurs classificateurs différents (mais du même type).
Je sais que c'est possible, pour chaque ligne (ou point de données) de mon dataframe, les poids de chaque classificateur doivent être ajustés, et il n'est pas nécessaire qu'ils soient tous du même type de classificateur - il suffit qu'ils aient tous une méthode .predict.
Alors, comment faire ? Quelqu'un peut-il me donner un exemple ?