决策树是一种监督学习方法,用于分类和回归任务。它通过树结构来构建分类规则或回归模型。
构建决策树的主要步骤是:
- 选择最优特征:计算各个特征的信息增益或者基尼指数,选择最优特征作为根节点。
- 构建子树:根据最优特征的不同取值,划分出多个分支,每个分支构建子树。
- 终止条件:如果所有样本属于同一类或满足其他终止标准,则构建终止。
决策树的主要优点是:
- 易于理解和解释。
- 无需数据集归一化。
- 特征之间无相关性假设。
- 可以处理各种类型数据。
主要缺点是:
- 容易过拟合。
- 对于高维稀疏数据不具有很好的效果。
- 分类结果依赖训练集,对小变化敏感。
代码示例:
python
from sklearn.tree import DecisionTreeClassifier
model = DecisionTreeClassifier(criterion='gini')
model.fit(x_train, y_train)
pred = model.predict(x_test)
from sklearn.tree import export_graphviz
export_graphviz(model, out_file='tree.dot', feature_names=feature_names)
# 使用graphviz命令行将tree.dot转换为pdf