赞
踩
本篇介绍一些决策树的sklearn包tree的知识点,关于决策树的原理可参考文章决策树之原理与调参。
1.决策树的sklearn包介绍
python可以实现分类树和回归树两种:
- from sklearn.tree import DecisionTreeClassifier
- from sklearn.tree import DecisionTreeRegressor
介绍几个调参比较重要的参数。
criterion:划分标准,就是决策树的分裂标准。对于分类树,可选“gini”或“entropy”,即Gini不纯度或信息增益;对于回归树,可选“mse”,“friedman_mse”和“mae”,即均方误差、改进型的均方误差和平均绝对误差
max_depth:决策树的最大深度
min_samples_split:非叶子节点最小分割样本数
min_samples_leaf:叶子节点最小样本数
max_features:搜寻最佳分裂的最大特征数量
ccp_alpha:CCP算法的误差率增益率α阈值,小于该值的误差率增益率对应的节点都会被剪枝
决策树的应用方法除了sklearn包统一的predict外,还有几个输出方法需要介绍一下:
apply:返回每个样本被预测为的叶子节点索引
decision_path:返回决策路径
cost_complexity_pruning_path:返回两个参数,第一个是CCP剪枝后决策树序列T0,T1,...,Tt对应的误差率增益率α;第二个是剪枝后决策树所有叶子节点的不纯度
这里介绍一下sklearn内值包对决策树的索引编码规则。
从根节点开始,先穷尽左边所有路径,再倒序返回右边路径,并从0开始依次编码
举一个例子:
2.决策树可视化
一颗决策树训练完毕后,为了评估决策树的效果,一方面,我们当然希望可以把它可视化,方便阅读;另一方面,希望可以对每一个节点的信息做一些数据分析。本节从可视化和决策树结果数据分析两个角度介绍一些工具。
首先,在Python可以实现可视化,需要用到os、pydotplus、Image和graphviz等包,其中os、pydotplus、Image直接导入即可
- import os
- import pydotplus
- from IPython.display import Image
graphviz是决策树可视化核心的包,它需要在网上下载后导入环境变量里面才可以,graphviz下载地址是
https://graphviz.gitlab.io/_pages/Download/Download_windows.html
下载后解压就是一大堆文件夹,只需要在python里面添加一句语句即可生
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。