Tôi đang cố gắng tạo một bộ ba bộ phân loại (Random Forest, Support Vector Machine và XGBoost) bằng cách sử dụng VotingClassifier() trong scikit-learn. Tuy nhiên, tôi thấy rằng độ chính xác của bộ quần áo thực sự giảm thay vì tăng lên. Tôi không thể hiểu tại sao.Tại sao độ chính xác của Trình phân loại VotingClassifier của tôi thấp hơn phân loại cá nhân của tôi?
Đây là mã:
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))
Các XGBoost có tính chính xác cao nhất vì vậy tôi thậm chí đã cố gắng cho nó weightage nhiều vô ích.
Tôi có thể làm gì sai?