决策树实现鸢尾花分类Python代码
时间: 2024-12-13 21:16:56 浏览: 43
决策树实现对鸢尾花分类
决策树是一种常用的数据挖掘算法,它通过构建树状模型来进行预测,尤其适合于分类任务。对于鸢尾花数据集(Iris dataset),我们可以使用Python的scikit-learn库来实现决策树的分类。这是一个简单的例子:
```python
# 导入所需的库
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
from sklearn.metrics import accuracy_score
# 加载鸢尾花数据集
iris = load_iris()
X = iris.data
y = iris.target
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, 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)
# 可视化决策树(这一步需要安装graphviz库)
# from sklearn.tree import export_graphviz
# export_graphviz(clf, out_file='iris_tree.dot', feature_names=iris.feature_names, class_names=iris.target_names, filled=True, rounded=True)
```
在这个例子中,我们首先加载了鸢尾花数据,然后划分了训练集和测试集。接着创建了一个`DecisionTreeClassifier`对象并进行了训练。最后,我们对测试集进行预测,并计算了分类的准确性。
如果你想要运行这个代码,记得先安装必要的库,如`sklearn`和`graphviz`(可视化的部分)。此外,关于如何调整决策树的参数、以及在什么情况下可能遇到的问题,这些都是后续可能要探讨的相关问题。
阅读全文