决策树划分鸢尾花数集python代码
时间: 2024-09-24 15:16:14 浏览: 55
决策树是一种常用的机器学习算法,它通过构建一棵树来进行分类。在Python中,我们可以使用scikit-learn库中的`DecisionTreeClassifier`来构建决策树模型,用于鸢尾花数据集。鸢尾花数据集通常包含三种鸢尾花(Iris-setosa, Iris-versicolor, Iris-virginica),每种鸢尾花有四个特征。
下面是一个简单的例子,演示如何使用决策树对鸢尾花进行分类:
```python
# 导入必要的库
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
from sklearn.metrics import accuracy_score
# 加载鸢尾花数据集
iris = datasets.load_iris()
X = iris.data
y = iris.target
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 创建决策树分类器
clf = DecisionTreeClassifier()
# 使用训练数据拟合模型
clf.fit(X_train, y_train)
# 预测测试集结果
y_pred = clf.predict(X_test)
# 计算准确率
accuracy = accuracy_score(y_test, y_pred)
print("Accuracy:", accuracy)
# 可视化决策树
from sklearn.tree import export_graphviz
export_graphviz(clf, out_file='tree.dot', feature_names=iris.feature_names, class_names=iris.target_names, filled=True, rounded=True)
```
这个代码首先加载了鸢尾花数据,然后分割成训练集和测试集。接着,创建了一个决策树分类器,并用训练数据对其进行训练。预测测试集的结果后,计算并打印出准确率。最后,我们还选择了可视化决策树(虽然这个例子没有显示出来,因为这里只是一般的解释)。
阅读全文