投票加权随机森林算法代码
时间: 2023-09-11 09:04:25 浏览: 129
当然,我可以为你提供一个投票加权随机森林算法的代码示例。下面是一个使用Python编写的简单示例:
```python
import numpy as np
from sklearn.ensemble import RandomForestClassifier, VotingClassifier
from sklearn.tree import DecisionTreeClassifier
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=1000, n_features=4, random_state=42)
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 创建三个决策树分类器
clf1 = DecisionTreeClassifier(max_depth=3)
clf2 = DecisionTreeClassifier(max_depth=5)
clf3 = DecisionTreeClassifier(max_depth=7)
# 创建随机森林分类器
rf_clf = RandomForestClassifier(n_estimators=100, random_state=42)
# 创建投票加权随机森林分类器
voting_clf = VotingClassifier(estimators=[('dt1', clf1), ('dt2', clf2), ('dt3', clf3), ('rf', rf_clf)],
voting='soft', weights=[1, 1, 1, 2])
# 在训练集上训练模型
voting_clf.fit(X_train, y_train)
# 在测试集上进行预测
y_pred = voting_clf.predict(X_test)
# 计算准确率
accuracy = accuracy_score(y_test, y_pred)
print("Accuracy:", accuracy)
```
以上代码中,我们首先生成了一个随机的二分类数据集。然后使用`train_test_split`函数将数据集划分为训练集和测试集。接下来,我们创建了三个决策树分类器和一个随机森林分类器,并将它们作为参数传递给`VotingClassifier`。在这个例子中,我们选择了软投票策略,权重分别为1、1、1和2。最后,我们使用训练集对投票加权随机森林分类器进行训练,并使用测试集进行预测。计算并输出了模型的准确率。
希望这个代码示例可以帮到你!如果有任何问题,请随时提问。
阅读全文