spark mllib中决策树优缺点是什么
发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,小编给大家分享一下spark mllib中决策树优缺点是什么,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!决策树的优点:可以生成可以理解的规则。计算量相对来说不是很大。可以处理连续和
千家信息网最后更新 2025年01月23日spark mllib中决策树优缺点是什么
小编给大家分享一下spark mllib中决策树优缺点是什么,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
决策树的优点:
可以生成可以理解的规则。
计算量相对来说不是很大。
可以处理连续和种类字段。
决策树可以清晰的显示哪些字段比较重要
决策树的缺点:
对连续性的字段比较难预测。
对有时间顺序的数据,需要很多预处理的工作。
当类别太多时,错误可能就会增加的比较快。
一般的算法分类的时候,只是根据一个字段来分类。
出去玩记录表
出去玩 | 温度 | 起风 | 下雨 | 湿度 |
1 | 1 | 0 | 0 | 1 |
0 | 1 | 0 | 1 | 1 |
0 | 0 | 1 | 0 | 0 |
1 | 1 | 1 | 0 | 0 |
1 | 1 | 0 | 0 | 0 |
1 | 1 | 1 | 0 | 0 |
运行代码如下
package spark.DTimport org.apache.spark.mllib.tree.DecisionTreeimport org.apache.spark.mllib.util.MLUtilsimport org.apache.spark.{SparkContext, SparkConf}/** * 决策树使用案例-出去玩 * **********************************决策树******************************** * 决策树是一种监督学习,监督学习,就是给定一对样本,每个样本都有一组属性和一个类别, * 这些类别是事先确定的,那么通过学习得到一个分类器,这个分类器能够对新出现的对象给 * 出正确的分类.其原理是:从一组无序无规则的因素中归纳总结出符合要求的分类规则. * * 决策树算法基础:信息熵,ID3 * 信息熵:对事件中不确定的信息的度量.一个事件或属性中,其信息熵越大,含有的不确定信 * 息越大,对数据分析的计算也越有益.故,信息熵的选择总是选择当前事件中拥有最高 * 信息熵的那个属性作为待测属性. * ID3:一种贪心算法,用来构造决策树.以信息熵的下降速度作为测试属性的标准,即在每个 * 节点选取还尚未被用来划分的,具有最高信息增益的属性作为划分标准,然后继续这个过程, * 直到生成的决策树能完美分类训练样例. * * 使用场景:任何一个只要符合 key-value 模式的分类数据都可以根据决策树进行推断. * * 决策树用来预测的对象是固定的,丛根到叶子节点的一条特定路线就是一个分类规则,决定 * 一个分类算法和结果. * * **********************************决策树******************************** * Created by eric on 16-7-19. */object DT { val conf = new SparkConf() //创建环境变量 .setMaster("local") //设置本地化处理 .setAppName("ZombieBayes") //设定名称 val sc = new SparkContext(conf) def main(args: Array[String]) { val data = MLUtils.loadLibSVMFile(sc, "./src/main/spark/DT/DTree.txt") val numClasses = 2//分类数量 val categorycalFeaturesInfo = Map[Int, Int]()//设定输入格式 val impurity = "entropy" //设定信息增益计算方式 val maxDepth = 5 //最大深度 val maxBins = 3 //设定分割数据集 val model = DecisionTree.trainClassifier( data,//输入数据集 numClasses,//分类数量,本例只有出去,不出去,共两类 categorycalFeaturesInfo,// 属性对格式,这里是单纯的键值对 impurity,//计算信息增益形式 maxDepth,// 树的高度 maxBins//能够分裂的数据集合数量 ) println(model.topNode) println(model.numNodes)//5 println(model.algo)//Classification }}
DTree.txt
1 1:1 2:0 3:0 4:10 1:1 2:0 3:1 4:10 1:0 2:1 3:0 4:01 1:1 2:1 3:0 4:01 1:1 2:0 3:0 4:01 1:1 2:1 3:0 4:0
结果如下
id = 1, isLeaf = false, predict = 1.0 (prob = 0.6666666666666666), impurity = 0.9182958340544896, split = Some(Feature = 0, threshold = 0.0, featureType = Continuous, categories = List()), stats = Some(gain = 0.31668908831502096, impurity = 0.9182958340544896, left impurity = 0.0, right impurity = 0.7219280948873623)
5
Classification
看完了这篇文章,相信你对"spark mllib中决策树优缺点是什么"有了一定的了解,如果想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!
决策
分类
信息
属性
数据
字段
算法
规则
事件
数量
类别
学习
优缺点
最高
对象
就是
标准
样本
格式
篇文章
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
一个java连接两个数据库
河南平顶山零基础学软件开发
维护网络安全面临的机遇
网络安全到底有什么重要性
linux计算服务器
邵芬红李珊数据库原理答案
浪潮服务器进入bios密码
数据库服务器框架
达梦数据库连接数量查询
公同软件开发放什么科目
思科网络安全运维章节答案
ibm服务器指示灯
服务器维修组图
新网服务器托管安全吗
肇庆市网络安全演练流程
b站无法连接服务器
甘肃戴尔服务器维修费用云主机
网络安全宣传周梅江会展
四川软件开发总产值
高校信息化 网络安全
企业网络安全总体设计
vpn服务器 插件
数据库怎么去掉日期的星期
温州齐盛网络技术有限公司
服务器添加域名解析
常见服务器软件的功能
手机移动网络安全吗
广电局网络安全应急
创造数据库的命令格式
数据库管理系统的安全子系统