什么是决策树?
决策树是一种树形结构的机器学习模型,通过规则分支对数据进行分类或预测。
它像人类做决策一样,通过一系列条件判断逐步缩小范围,最终得出结论。
🧠 核心思想:将数据集分割为更纯的子集,直到达到停止条件。
📌 决策树的核心步骤
特征选择
- 常用指标:信息增益(Information Gain)
- 通过计算特征的信息熵来选择最优划分属性
树的生成
- 递归划分数据集,构建分支节点
- 常见算法:ID3、C4.5、CART
剪枝优化
- 防止过拟合,简化树的结构
- 方法包括预剪枝和后剪枝
🧪 实战示例:用Python实现
from sklearn.tree import DecisionTreeClassifier
# 加载数据集(示例使用鸢尾花数据)
from sklearn.datasets import load_iris
# 分割数据
from sklearn.model_selection import train_test_split
# 模型评估
from sklearn.metrics import accuracy_score
# 数据加载与预处理
data = load_iris()
X_train, X_test, y_train, y_test = train_test_split(data.data, data.target, test_size=0.2)
model = DecisionTreeClassifier()
model.fit(X_train, y_train)
predictions = model.predict(X_test)
print(f"准确率: {accuracy_score(y_test, predictions):.2%}")
📚 扩展阅读
📌 注意事项
- 避免过度拟合:通过设置
max_depth
或min_samples_split
参数 - 特征工程:对非数值型数据进行编码(如One-Hot Encoding)
- 可解释性:决策树适合需要透明规则的场景(如金融风控)