选择鸢尾花数据集任意两个特征,建立决策树模型,将最终不同组合下的分类结果输出可视化图;
时间: 2024-11-24 10:42:00 浏览: 19
使用Python的scikit-learn库中的Iris数据集是一个经典的案例,它包含了三种鸢尾花的数据,每种鸢尾花有四个特征(萼片长度、萼片宽度、花瓣长度、花瓣宽度)。你可以选择其中任意两个特征,比如萼片长度(sepal length)和花瓣长度(petal length),来进行决策树建模。
首先,你需要导入所需的库并加载数据集:
```python
import numpy as np
import pandas as pd
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
import matplotlib.pyplot as plt
iris = load_iris()
X = iris.data[:, :2] # 我们只取前两个特征
y = iris.target
```
接着,划分训练集和测试集,并构建决策树模型:
```python
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
clf = DecisionTreeClassifier(random_state=42)
clf.fit(X_train, y_train)
```
然后,我们可以使用`plot_tree`函数从sklearn.metrics模块生成决策树的可视化图形:
```python
from sklearn.tree import plot_tree
plt.figure(figsize=(10,6))
plot_tree(clf, filled=True) # 填充颜色以区分类别
plt.xlabel("特征值")
plt.ylabel("节点")
plt.title(f"基于{X.columns[0]}和{X.columns[1]}的决策树")
plt.show()
```
这个可视化图会显示每个节点的特征阈值,以及根据这些特征如何分割数据以达到最优的分类决策。
阅读全文