决策树实现鸢尾花分类
决策树是一种基于树结构的分类方法,可以用于解决多分类问题。下面是用决策树实现鸢尾花(Iris)分类的步骤:
1.准备数据集
鸢尾花数据集是机器学习中常用的数据集之一,包含3种不同品种的鸢尾花,每种品种有50个样本,共150个样本。每个样本包含4个特征:花萼长度,花萼宽度,花瓣长度和花瓣宽度。
我们可以从sklearn库中加载鸢尾花数据集:
from sklearn.datasets import load_iris
iris = load_iris()
X = iris.data # 特征
y = iris.target # 标签
2.划分数据集
将数据集划分为训练集和测试集,其中训练集用于构建决策树模型,测试集用于评估模型的性能。
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
3.构建决策树模型
使用sklearn库中的DecisionTreeClassifier类构建决策树模型,并使用训练集训练模型。
from sklearn.tree import DecisionTreeClassifier
clf = DecisionTreeClassifier(random_state=42)
clf.fit(X_train, y_train)
4.评估模型性能
使用测试集评估模型的性能,可以使用sklearn库中的accuracy_score函数计算模型的准确率。
from sklearn.metrics import accuracy_score
y_pred = clf.predict(X_test)
accuracy = accuracy_score(y_test, y_pred)
print("Accuracy:", accuracy)
5.可视化决策树
可以使用graphviz库将决策树可视化,方便我们观察决策树的结构和分类规则。
from sklearn.tree import export_graphviz
import graphviz
dot_data = export_graphviz(clf, out_file=None,
feature_names=iris.feature_names,
class_names=iris.target_names,
filled=True, rounded=True,
special_characters=True)
graph = graphviz.Source(dot_data)
graph.render("iris")
运行上述代码后,会在当前目录下生成一个名为“iris.pdf”的文件,打开该文件即可查看决策树的结构和分类规则。
以上就是用决策树实现鸢尾花分类的全部步骤
原文地址: https://www.cveoy.top/t/topic/g571 著作权归作者所有。请勿转载和采集!