决策树是机器学习中一种直观且强大的分类与回归方法,通过树状结构对数据进行分割,适用于多种场景。以下是核心知识点梳理:
1. 基本概念
决策树由节点和分支组成,内部节点代表特征判断,叶节点代表最终分类结果。
- 例如:判断“是否下雨”作为根节点,分支分为“是”和“否”
- 常见算法:ID3、C4.5、CART(可点击 CART算法详解 深入学习)
2. 核心原理
- 信息增益(ID3算法):选择分裂后数据纯度最高的特征
- 基尼系数(CART算法):衡量数据集的不纯度,数值越小越好
- 递归构建:重复选择最优特征并分割子节点,直到满足停止条件
3. 优缺点对比
✅ 优点:
- 易于理解和解释(可可视化树状结构)
- 无需复杂预处理(能处理类别型和数值型数据)
- 训练速度较快
❌ 缺点:
- 容易过拟合(可通过剪枝优化,如 决策树剪枝技术)
- 对连续值和缺失值敏感
4. Python代码示例 🐍
from sklearn.tree import DecisionTreeClassifier
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
# 加载数据集
data = load_iris()
X, y = data.data, data.target
# 划分训练集与测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
# 训练决策树模型
model = DecisionTreeClassifier()
model.fit(X_train, y_train)
# 预测与评估
accuracy = model.score(X_test, y_test)
print(f"模型准确率:{accuracy:.2f}")