决策树实战:用Python从零开始构建鸢尾花分类模型(附可视化教程)
如果你刚开始接触机器学习,面对一堆算法名词感到无从下手,那么决策树可能是你最好的起点。它不像神经网络那样像个“黑箱”,也不像支持向量机那样需要复杂的数学推导。决策树的工作方式非常直观——就像我们日常做决定一样,通过一系列“是”或“否”的问题,最终得到一个结论。想象一下医生诊断病情:先问“发烧吗?”,如果回答“是”,接着问“咳嗽吗?”,如此层层递进,直到得出诊断结果。决策树正是将这种思考过程自动化、数据化的工具。
今天,我们就用经典的鸢尾花数据集,手把手带你用Python构建一个决策树分类模型。我会带你走过从数据准备、模型训练、评估到可视化的完整流程,特别是最后一步——把看似抽象的树模型变成一张清晰可见的图表。你会发现,理解一个模型如何“思考”,远比单纯调用一个API函数更有价值。无论你是数据分析师、学生,还是对AI好奇的开发者,这篇实战指南都能让你在几小时内获得可复现的成果。
1. 环境准备与数据初探
在动手写代码之前,我们需要确保手头有趁手的“工具”。对于机器学习项目,一个配置得当的Python环境是成功的一半。我推荐使用Anaconda来管理你的环境,它能很好地处理不同项目间的包依赖冲突。如果你还没有安装,可以去Anaconda官网下载对应操作系统的版本。
安装完成后,打开你的终端或Anaconda Prompt,创建一个专用于本项目的环境是个好习惯:
conda create -n decision_tree_demo python=3.9
conda activate decision_tree_demo
接下来,安装我们本次实战需要的核心库。scikit-learn是机器学习的瑞士军刀,pandas和numpy用于数据处理,matplotlib用于基础绘图,而graphviz则是我们可视化决策树的关键。
pip install scikit-learn pandas numpy matplotlib
关于graphviz的安装需要特别注意,它分为两个部分:Graphviz软件本身和Python接口库。很多新手在这里会卡住。首先,你需要去Graphviz官网下载并安装对应你操作系统的软件。安装时,请务必勾选“Add Graphviz to the system PATH for all users”(或类似选项),这样系统才能找到它的可执行文件。安装完成后,重启一下终端,输入dot -V,如果能看到版本号,说明软件安装成功。然后,再安装Python接口:
pip install graphviz
工具就绪,让我们来看看今天的主角——鸢尾花数据集。这个数据集在机器学习领域就像“Hello World”一样经典,它包含了150个鸢尾花的样本,每个样本有4个特征(花萼长度、花萼宽度、花瓣长度、花瓣宽度),并属于3个种类之一(山鸢尾、变色鸢尾、维吉尼亚鸢尾)。它的规模适中,特征含义清晰,非常适合教学和实验。
# 导入必要的库
import pandas as pd
import numpy as np
from sklearn.datasets import load_iris
import matplotlib.pyplot as plt
# 加载数据集
iris = load_iris()
# 将数据转换为更易操作的DataFrame格式
df = pd.DataFrame(data=iris.data, columns=iris.feature_names)
df['target'] = iris.target
df['target_name'] = df['target'].apply(lambda x: iris.target_names[x])
print("数据集前5行预览:")
print(df.head())
print(f"\n数据集

1570

被折叠的 条评论
为什么被折叠?



