赞
踩
投票机制就是多个模型分别预测,然后投票,票数最高的就是整个模型最后的效果
from sklearn.linear_model import LogisticRegression from sklearn.naive_bayes import GaussianNB from sklearn.ensemble import RandomForestClassifier, VotingClassifier from sklearn.datasets import make_classification from sklearn.model_selection import train_test_split from sklearn.metrics import accuracy_score # ============= 准备数据 ============= x, y = make_classification(n_samples=10000, n_classes=4, n_informative=5) x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.3, random_state=100) # ============= 准备模型 ============= clf1 = LogisticRegression(multi_class='multinomial', random_state=1) clf2 = RandomForestClassifier(n_estimators=50, random_state=1) clf3 = GaussianNB() # ============= 集成模型 ============= vot_classifier = VotingClassifier(estimators=[ ('lr', clf1), ('rf', clf2), ('gnb', clf3)], voting='soft', flatten_transform=True) # ============= 开始预测 ============= vot_classifier.fit(x_train, y_train) print("acc:", accuracy_score(vot_classifier.predict(x_test), y_test))
sklearn voting 官方文档:https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.VotingClassifier.html
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。