8
我正在嘗試在scikit-learn中使用VotingClassifier()創建三個分類器(隨機森林,支持向量機和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具有最高的準確度,所以我甚至試圖給它更多的權重也沒有用。
我會做什麼錯?