用 sklearn 中的决策树和随机森林方 法,分别对鸢尾花数据集进行分类,并解释代码段
时间: 2024-02-09 07:11:20 浏览: 101
【代码分享】基于python的文本分类(sklearn-决策树和随机森林实现)
5星 · 资源好评率100%
好的,针对您的问题,我来分别介绍下使用决策树和随机森林方法对鸢尾花数据集进行分类的代码段。
首先,我们需要引入相关的库和数据集:
```python
from sklearn.datasets import load_iris
from sklearn.tree import DecisionTreeClassifier
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
iris = load_iris()
X = iris.data
y = iris.target
```
这里我们导入了 load_iris 函数来加载鸢尾花数据集,然后将数据集中的特征和标签分别存储在 X 和 y 中。
接下来,我们将数据集划分为训练集和测试集:
```python
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
```
这里我们使用 train_test_split 函数将数据集划分为训练集和测试集,其中 test_size 参数指定了测试集的比例,random_state 参数为随机种子,用于保证每次划分的结果相同。
接着,我们使用决策树方法进行分类:
```python
dtc = DecisionTreeClassifier()
dtc.fit(X_train, y_train)
y_pred_dtc = dtc.predict(X_test)
acc_dtc = accuracy_score(y_test, y_pred_dtc)
print("Accuracy of Decision Tree Classifier:", acc_dtc)
```
这里我们定义了一个 DecisionTreeClassifier 类,然后使用 fit 函数将训练集 X_train 和 y_train 传入模型中进行训练,使用 predict 函数对测试集进行预测,最后使用 accuracy_score 函数计算预测的准确率。
最后,我们使用随机森林方法进行分类:
```python
rfc = RandomForestClassifier()
rfc.fit(X_train, y_train)
y_pred_rfc = rfc.predict(X_test)
acc_rfc = accuracy_score(y_test, y_pred_rfc)
print("Accuracy of Random Forest Classifier:", acc_rfc)
```
这里我们定义了一个 RandomForestClassifier 类,然后使用 fit 函数将训练集 X_train 和 y_train 传入模型中进行训练,使用 predict 函数对测试集进行预测,最后使用 accuracy_score 函数计算预测的准确率。
以上就是使用决策树和随机森林方法对鸢尾花数据集进行分类的代码段。
阅读全文