实验二——决策树分类器

作者 by 超米 / 2024-05-15 / 暂无评论 / 146 个足迹

# 导入必要的库
from sklearn.datasets import load_iris
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
from sklearn.tree import export_graphviz
import graphviz

# 加载数据集
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=1)

# 创建决策树分类器实例
clf = DecisionTreeClassifier(criterion='gini')

 # 训练模型
clf.fit(X_train, y_train)

# 预测
predictions = clf.predict(X_test)

# 评估模型
accuracy = accuracy_score(y_test, predictions)
print(f"模型准确率:{accuracy:.2f}")
    
# 导出决策树为DOT格式
dot_data = export_graphviz(clf, out_file=None, 
                           feature_names=iris.feature_names,  
                           class_names=iris.target_names,
                           filled=True, rounded=True)

# 画出决策树
graph = graphviz.Source(dot_data)

# 保存决策树为PDF文件
graph.render("iris")

# 直接在Jupyter Notebook中显示决策树
graph

独特见解