1.简介
a.最经典的机器学习模型之一
b.预测结果容易理解,易于解释
c.预测速度快
d.可处理类别和连续数据
2.算法原理
决策树是类似于树的结构,分支节点表示对一个特征进行测试,根据测试结果进行分类,树叶代表一个类别。
决策树模型先对哪些特征进行分类
信息的量化:信息熵,基尼不纯度
什么样的特征带来的最多的信息变化幅度,我们就选择哪个特征来分类
如果特征为连续值,需要对数据进行离散处理
决策树的创建过程
a.遍历所有未划分的特征
b.选择信息增益大的特征划分数据
c.递归处理所有子集
递归处理的结束条件
a.所有特征都用完了
b.划分后的信息增益足够小
决策树的解决过拟合的方法
a.前剪枝:设定一个阈值,信息熵减小的数量小于这个值,停止创建分支
b.后剪枝:决策树创建完成之后,对节点检查其信息熵的增益
c.控制决策树的最大深度
决策树算法在scikit-learn中的算法参数
scikit-learn 中使用sklearn.DecisionTreeClassifier来实现决策树分类算法
a.criterion:特征选择方法
b.max_depth:决策树的最大深度
c.min_samples_split: 创建分支的数据集最小值
d.min_samples_leaf:创建分支后的节点样本数量最小值
e.min_impurity_split:信息增益阈值
以上参数意在解决过拟合问题
德国信用卡实例
德国信用卡欺诈数据集处理数据x = data[data.columns[:-1]]
y = data[data.columns[-1]]
下面进行优化
数据集地址 链接:https://pan.baidu.com/s/1DkUesUvNHWY7VDOjQWPUQQ 密码:ynkb
网友评论