scikit-learnでVotingClassifier()を使って3つのクラシファイア(Random Forest、Support Vector Machine、XGBoost)のアンサンブルを作成しようとしています。しかし、アンサンブルの精度は、実際には増加するのではなく、実際には減少しています。なぜ私は理解できません。私のVotingClassifierの精度が私の個々の分類子よりも低いのはなぜですか?
from sklearn.ensemble import VotingClassifier
eclf = VotingClassifier(estimators=[('rf', rf_optimized), ('svc', svc_optimized), ('xgb', xgb_optimized)],
voting='soft', weights=[1,1,2])
for clf, label in zip([rf, svc_optimized, xgb_optimized, eclf], ['Random Forest', 'Support Vector Machine', 'XGBoost', 'Ensemble']):
scores = cross_val_score(clf, X, y, cv=10, scoring='accuracy')
print("Accuracy: %0.3f (+/- %0.3f) [%s]" % (scores.mean(), scores.std(), label))
XGBoostので、私も無駄にそれをより多くのweightageを与えてみました最高の精度を持っています。ここ
はコードです。
私は間違っていますか?