版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
决策树和随机森林简介与python实践提纲决策树算法和随机森林算法简介决策树和随机森林实践决策树算法简介决策树是一种用于对实例进行分类的树形结构。决策树由节点(node)和有向边(directededge)组成。节点的类型有两种:内部节点和叶子节点。其中,内部节点表示一个特征或属性的测试条件(用于分开具有不同特性的记录),叶子节点表示一个分类。一旦我们构造了一个决策树模型,以它为基础来进行分类将是非常容易的。具体做法是,从根节点开始,地实例的某一特征进行测试,根据测试结构将实例分配到其子节点(也就是选择适当的分支);沿着该分支可能达到叶子节点或者到达另一个内部节点时,那么就使用新的测试条件递归执行下去,直到抵达一个叶子节点。当到达叶子节点时,我们便得到了最终的分类结果。决策树案例左图
是一棵结构简单的决策树,用于预测贷款用户是否具有偿还贷款的能力。贷款用户主要具备三个属性:是否拥有房产,是否结婚,平均月收入。每一个内部节点都表示一个属性条件判断,叶子节点表示贷款用户是否具有偿还能力。例如:用户甲没有房产,没有结婚,月收入5K。通过决策树的根节点判断,用户甲符合右边分支(拥有房产为“否”);再判断是否结婚,用户甲符合左边分支(是否结婚为否);然后判断月收入是否大于4k,用户甲符合左边分支(月收入大于4K),该用户落在“可以偿还”的叶子节点上。所以预测用户甲具备偿还贷款能力。决策树的主要优点1.简单直观,生成的决策树很直观。2.基本不需要预处理,不需要提前归一化,处理缺失值。3.使用决策树预测的代价是O(log2m)O(log2m)。m为样本数。4.既可以处理离散值也可以处理连续值。很多算法只是专注于离散值或者连续值。5.可以处理多维度输出的分类问题。6.相比于神经网络之类的黑盒分类模型,决策树在逻辑上可以得到很好的解释7.可以交叉验证的剪枝来选择模型,从而提高泛化能力。8.对于异常点的容错能力好,健壮性高。决策树的主要缺点1.决策树算法非常容易过拟合,导致泛化能力不强。可以通过设置节点最少样本数量和限制决策树深度来改进。2.决策树会因为样本发生一点点的改动,就会导致树结构的剧烈改变。这个可以通过集成学习之类的方法解决。3.寻找最优的决策树是一个NP难的问题,我们一般是通过启发式方法,容易陷入局部最优。可以通过集成学习之类的方法来改善。4.有些比较复杂的关系,决策树很难学习,比如异或。这个就没有办法了,一般这种关系可以换神经网络分类方法来解决。5.如果某些特征的样本比例过大,生成决策树容易偏向于这些特征。这个可以通过调节样本权重来改善。
随机森林算法简介2001年Breiman把分类树组合成随机森林(Breiman2001a),即在变量(列)的使用和数据(行)的使用上进行随机化,生成很多分类树,再汇总分类树的结果。随机森林在运算量没有显著提高的前提下提高了预测精度。随机森林对多元公线性不敏感,结果对缺失数据和非平衡的数据比较稳健,可以很好地预测多达几千个解释变量的作用(Breiman2001b),被誉为当前最好的算法之一(Iversonetal.2008)。随机森林顾名思义,是用随机的方式建立一个森林,森林里面有很多的决策树组成,随机森林的每一棵决策树之间是没有关联的。在得到森林之后,当有一个新的输入样本进入的时候,就让森林中的每一棵决策树分别进行一下判断,看看这个样本应该属于哪一类(对于分类算法),然后看看哪一类被选择最多,就预测这个样本为那一类。随机森林算法的优点1.在数据集上表现良好,两个随机性的引入,使得随机森林不容易陷入过拟合2.在当前的很多数据集上,相对其他算法有着很大的优势,两个随机性的引入,使得随机森林具有很好的抗噪声能力3.它能够处理很高维度(feature很多)的数据,并且不用做特征选择,对数据集的适应能力强:既能处理离散型数据,也能处理连续型数据,数据集无需规范化4.在训练过程中,能够检测到feature间的互相影响提纲决策树算法和随机森林算法简介决策树和随机森林实践Python进行决策树和随机森林实践系统准备:centos6.8、Spark2.3.1、Pyrhon3.X数据准备:采用UCI机器学习库中的wine数据集作为算法数据,包括了三种酒中13种不同成分的数量。成分分别为:Alcohol,Malicacid,Ash,lcalinityofash,Magnesium,Totalphenols,Flavanoids,Nonflavanoidphenols,Proanthocyanins,Colorintensity,Hue,OD280/OD315ofdilutedwines,Proline。在“wine.data”文件中,每行代表一种酒的样本,共有178个样本;一共有14列,其中,第一列为类标志属性,共有三类,分别记为“1”,“2”,“3”;后面的13列为每个样本的对应属性的样本值。第1类有59个样本,第2类有71个样本,第3类有48个样本。建模目的:训练决策树模型,使得知道13个特征后,把样本划归到相应类别。实例:
初始化spark,数据处理划分#-*-coding:utf-8-*-frompysparkimportSparkConf,SparkContextfrompyspark.mllib.evaluationimportMulticlassMetricsfrompyspark.mllib.treeimportDecisionTree,RandomForestfrompyspark.mllib.regressionimportLabeledPoint#初始化sparkContextconf=SparkConf().setMaster("local").setAppName("MyDemo")sc=SparkContext(conf=conf)#读取数据wine_rdd=sc.textFile(u"file:/root/Documents/liangdong/work/laboratory/wine数据集.txt").map(
lambdax:str(x).split(",")).map(lambdax:[float(z)forzinx])#转换为LabeledPointdata=wine_rdd.map(lambdax:LabeledPoint(x[0]-1,(x[1:])))#数据集划分(trainData,testData)=data.randomSplit([8.0,
2.0])实例:建立决策树模型并评估#建立决策树模型model=DecisionTree.trainClassifier(trainData,
numClasses=3,
#类别的数目
categoricalFeaturesInfo={},
#提前指定类别变量,如{n:k}表示第n个变量为标称变量,共k个值
impurity='gini',
#信息增益计算方法,可选香浓熵与基尼不纯度,默认基尼不纯度
maxDepth=5,
#树最大深度
maxBins=32,
#特征切割区间箱化个数
minInstancesPerNode=1,
#当节点中包含样本量小于这个值,则该节点不会再被划分
minInfoGain=0.0
#当节点的信息增益小于这个值,则该节点不会再被划分
)
#利用建立好的模型做预测predictions=model.predict(testData.map(lambdax:x.features))predictionsAndLabels=predictions.zip(testData.map(lambdax:x.label))metrics=MulticlassMetrics(predictionsAndLabels)print
"DecisionTree
",metrics.precision()实例:建立随机森林模型并评估#建立随机森林模型model_forest=RandomForest.trainClassifier(trainData,
numClasses=3,
#类别的数目
categoricalFeaturesInfo={},
#提前指定类别变量,如{n:k}表示第n个变量为标称变量,共k个值
numTrees=1000,
#树的数量
featureSubsetStrategy='auto',
#每棵树的特征选取策略,支持的值:“auto”,“all”,“sqrt”,“log2”,“onethird”,当树个数大于1,auto即sqrt,如树个数=1,auto即all
impurity='gini',
#信息增益计算方法,可选香浓熵与基尼不纯度,默认基尼不纯度
maxDepth=5,
#树最大深度
maxBins=32,
#特征切割区间箱化个数
seed=None
#随机种子
)#利用建
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 临时保姆应急合同模板
- 2025年度大型活动临时舞台搭建合同书3篇
- 田园风格二手房买卖合同模板
- 舞蹈教练经纪人聘用协议
- 公共工程项目施工合同违约协议书
- 旅游咨询市场管理办法
- 证券公司固定资产管理方案
- 地质设备维护劳务分包协议
- 航空航天产业房产转让范本
- 农村道路安全使用与规划指南
- GB/T 32285-2015热轧H型钢桩
- 中考数学真题变式题库
- FZ/T 91019-1998染整机械导布辊制造工艺规范
- 主持人培训 课件
- SHSG0522003 石油化工装置工艺设计包(成套技术)内容规定
- 制造部年终总结报告课件
- 企业大学商学院建设方案
- 粤科版高中通用技术选修1:电子控制技术全套课件
- 幼儿园大班数学:《长颈鹿的水果店》 课件
- 检验批现场验收检查原始记录
- 接地装置安装试验记录
评论
0/150
提交评论