多数投票Python集成学习
时间: 2023-12-14 15:34:02 浏览: 124
以下是一个使用多数投票法实现Python集成学习的例子:
```python
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.ensemble import VotingClassifier
from sklearn.tree import DecisionTreeClassifier
from sklearn.neighbors import KNeighborsClassifier
from sklearn.svm import SVC
# 加载鸢尾花数据集
iris = load_iris()
X = iris.data
y = iris.target
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 定义三个不同的分类器
clf1 = DecisionTreeClassifier(max_depth=4)
clf2 = KNeighborsClassifier(n_neighbors=7)
clf3 = SVC(kernel='rbf', probability=True)
# 定义投票分类器
eclf = VotingClassifier(estimators=[('dt', clf1), ('knn', clf2), ('svc', clf3)], voting='soft')
# 训练投票分类器
eclf.fit(X_train, y_train)
# 在测试集上进行预测
y_pred = eclf.predict(X_test)
# 输出预测结果
print("预测结果:", y_pred)
# 输出分类器得分
print("分类器得分:", eclf.score(X_test, y_test))
```
在这个例子中,我们使用了三个不同的分类器:决策树分类器,K近邻分类器和支持向量机分类器。我们将这三个分类器组合成一个投票分类器,并使用sklearn库中的VotingClassifier类来实现。在训练过程中,我们使用训练集对投票分类器进行训练,并使用测试集对其进行评估。最后,我们输出了预测结果和分类器得分。
阅读全文