根据鸢尾花训练样本集构建sklearn决策树,并对测试集进行分类处理,给出所建分类器分类精度。并采用graphviz工具画出所生成的决策树。
时间: 2024-10-24 22:11:42 浏览: 50
大数据-分类_SVM分类_分类_决策树_鸢尾花_
首先,我们需要使用Python的scikit-learn库来完成这个任务,步骤如下:
1. **导入所需库**:
```python
import numpy as np
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
from sklearn.metrics import accuracy_score
import graphviz
```
2. **加载鸢尾花数据集**:
```python
iris = datasets.load_iris()
X = iris.data
y = iris.target
```
3. **划分训练集和测试集**:
```python
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
```
4. **创建决策树模型并训练**:
```python
clf = DecisionTreeClassifier(random_state=42)
clf.fit(X_train, y_train)
```
5. **预测测试集并计算准确率**:
```python
y_pred = clf.predict(X_test)
accuracy = accuracy_score(y_test, y_pred)
print(f"决策树分类器的精度为: {accuracy * 100}%")
```
6. **可视化决策树**:
```python
dot_data = tree.export_graphviz(clf, out_file=None, feature_names=iris.feature_names, class_names=iris.target_names, filled=True, rounded=True)
graphviz.Source(dot_data).view() # 如果在Jupyter Notebook中运行此行,会显示交互式图表
```
这段代码会先创建一个决策树分类器,然后用训练数据训练它。接着,我们使用测试集进行预测,并计算预测的准确度。最后,我们使用`export_graphviz`函数将决策树转换成图形文件,`Source`函数将其打开查看。
阅读全文