随机森林 python 代码
时间: 2024-08-23 11:02:30 浏览: 67
随机森林是一种集成学习算法,它通过构建多个决策树并结合它们的预测结果来提高整体模型的性能和准确性。在Python中,可以使用`scikit-learn`库来实现随机森林算法。以下是一个简单的随机森林模型的示例代码,用于分类任务:
```python
from sklearn.datasets import load_iris
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
# 加载示例数据集,例如鸢尾花数据集
iris = load_iris()
X, y = iris.data, iris.target
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
# 创建随机森林分类器实例
rf_clf = RandomForestClassifier(n_estimators=100, random_state=42)
# 训练模型
rf_clf.fit(X_train, y_train)
# 预测测试集结果
y_pred = rf_clf.predict(X_test)
# 计算并打印准确率
accuracy = accuracy_score(y_test, y_pred)
print(f'模型准确率: {accuracy:.2f}')
```
在这个例子中,我们首先从`scikit-learn`库中导入了必要的模块。然后,我们加载了鸢尾花数据集,并将数据分为训练集和测试集。接着,我们创建了一个`RandomForestClassifier`类的实例,并设置了决策树的数量为100。之后,我们使用训练集数据训练了模型,并使用测试集数据进行了预测。最后,我们计算了模型在测试集上的准确率并打印出来。
请注意,实际应用中可能需要对模型进行更多的调整和参数优化,例如调整`n_estimators`(决策树数量)、`max_depth`(树的最大深度)、`min_samples_split`(分割内部节点所需的最小样本数)等参数,以及进行交叉验证来找到最佳参数组合。
阅读全文