机器学习之决策树

决策树

认识决策树
  • 决策树思想的来源非常朴素,程序设计中的条件分支结构就是if-then结构,最早的决策树就是利用这类结构分割数据的一种分类学习方法
  • 信息的单位:比特bite
信息熵和香农定理
  • https://blog.csdn.net/dyx810601/article/details/82226456
  • 信息熵在信息传递和压缩中常见信息熵
  • 当得到一些信息时信息熵就减小了
  • 信息和消除不确定性是相联系的:信息熵越大,不确定性越大
  • 决策树中把能减少更多的不确定性(信息熵)放在根上
决策树的划分依据之一:信息增益
  • 信息增益:当得知一个特征条件之后,减少的信息熵的大小
  • 特征A对训练数据集D的信息增益g(D,A),定义为集合D的信息熵H(D)与特征A给定条件下D的信息条件熵H(D|A)之差,即公式为:g(D,A)=H(D)-H(D|A)
常见决策树使用的算法
  • ID3
    • 信息增益 - 最大的准则
  • C4.5
    • 信息增益比 - 最大的准则
  • CART
    • 回归树:平方误差最小
    • 分类树:基尼系数 最小的准则 在sklearn中可以选择划分的默认原则 划分更加仔细
  • 基尼系数
    基尼系数
sklearn决策树API
  • sklearn.tree.DecisionTreeClassifier(criterion='gini',max_depth=None,random_state=None)
  • 决策树分类器
  • criterion:默认是’gini’系数,也可以选择信息增益的熵‘entropy’
  • max_depth:树的深度大小
  • random_state:随机数种子
  • method
  • decision_path:返回决策树的路径
决策树的结构、本地保存
  • sklearn.tree.export_graphviz() 该函数能够导出DOT格式
  • tree,export_graphviz(estimator,out_flie='tree.dot',feature_names=[","])
  • 查看dot文件的工具:graphviz
信息论基础–银行贷款分析
  • 特征
    • 年龄;是否有工作;是否有房子;信贷情况;类别
决策树的优缺点以及改进
  • 优点:

    • 简单的理解和解释,树木可视化。
    • 需要很少的数据准备,技术通常需要数据归一化
    • 在企业重要决策中,由于决策树很好的分析能力,在决策过程中应用较多,可以找到主要决策因素
  • 缺点

    • 决策树学习者可以创建不能很好地推广数据地过于复杂的树,这被称为过拟合
  • 改进

    • 减枝cart算法(决策树API当中已经实现,随机森林参数调优):小于参数的sample分支不要
    • 随机森林
集成学习方法之一:‘’‘’‘’‘’‘’‘’‘’‘’‘’随机森林
  • 集成学习方法:通过建立几个模型组合来解决单一预测问题。它的工作原理是生成多个分类/模型,各自独立地学习和作出预测。这些预测最后结合成单预测,因此优于任何一个单分类地做出预测
  • 定义:在机器学习中,随机森林是一个包含多个决策树地分类器,并且其输出地类别是由个别输出的类别的众数而定。
  • 例如:如果你训练了5个树,其中有4个数的结果是True,1个是False,那么最终结果会是True
随机森林建立多个决策树的过程
  • 单个树的建立过程
    • 1.随机在N个样本中选择一个样本,重复N次(样本有可能重复,有放回)
    • 2.随机在M个特征中选择m个特征,m<<M
  • 建立多颗决策树,样本特征大多不一样
  • bootstrap:随机有放回抽样
  • 为什么要随机抽样训练集
    • 如果不进行随机抽样,每棵树的训练集都一样,那么最终训练出来的决策树的分类结果也完全一样
  • 为什么要有放回地抽样
    • 如果不是有放回地抽样,那么每棵树的训练样本都是不同的,都是没有交集的,这样每棵树都是“有偏的",都是绝对”片面的“,也就是说每棵树训练出来都是有很大差异的;而随机森林最后分类取决于多棵树(弱分类器)的投票表决。
随机森林API
  • sklearn.ensemble.RandomForestClassifier(n_estimators=10,criterion='gini',max_depth=None,bootstrap=True,random_state=None)
  • n_estimators:森林里的树木的数量,default=10,有120,200,300,500,800,1200
  • criteria:分割特征的测量方法,default=“gini”
  • max_depth:树的最大深度,default为无
  • max_features="auto",每个决策树的最大特征数量,有"sqrt",“log2”,“None”
  • boostrap:是否在构建树时放回抽样,default=True
随机森林的优点
  • 在当前所有算法中,具有极好的准确率
  • 能够有效地运行在大数据集上:样本多,特征多
  • 能够处理具有高维特征的输入样本,而且不需要降维
  • 能够评估各个特征在分类问题上的重要性
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值