决策树是一种常用的机器学习算法,用于分类和回归任务。以下是使用Python和scikit-learn
库实现决策树分类器的简单实例程序,用于对鸢尾花(Iris)数据集进行分类。
首先,确保你已经安装了scikit-learn
库。如果没有安装,可以通过以下命令安装:
登录后复制
plain
pip install scikit-learn
以下是一个决策树分类器的实例程序:
登录后复制
plain
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier, plot_tree # 导入plot_tree函数
from sklearn.metrics import accuracy_score
import matplotlib.pyplot as plt
# 加载鸢尾花数据集
iris = load_iris()
X, y = iris.data, iris.target
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
# 创建决策树分类器实例
clf = DecisionTreeClassifier(random_state=42)
# 训练模型
clf.fit(X_train, y_train)
# 预测测试集
y_pred = clf.predict(X_test)
# 计算准确率
accuracy = accuracy_score(y_test, y_pred)
print(f"Accuracy: {accuracy:.2f}")
# 可视化决策树
plt.figure(figsize=(12, 8))
plot_tree(clf, filled=True, feature_names=iris.feature_names, class_names=iris.target_names)
plt.title("Decision Tree for Iris Dataset")
plt.show()
在这个程序中,我们首先从scikit-learn
库中加载了鸢尾花数据集,并将数据集划分为训练集和测试集。然后,我们创建了一个DecisionTreeClassifier
实例,并使用训练集对其进行训练。接着,我们使用训练好的模型对测试集进行预测,并计算模型的准确率。最后,我们使用matplotlib
库和tree.plot_tree
函数可视化决策树。
这个程序展示了决策树算法在分类任务中的应用,通过可视化决策树,我们可以直观地了解模型是如何根据特征进行分类决策的。
运行成功截图: