spark mllib中决策树优缺点是什么
发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,小编给大家分享一下spark mllib中决策树优缺点是什么,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!决策树的优点:可以生成可以理解的规则。计算量相对来说不是很大。可以处理连续和
千家信息网最后更新 2025年12月01日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安全错误
数据库的锁怎样保障安全
ipfs分布式服务器是什么走势
宜兴软件开发文档
嘉兴工控软件开发
怎么打开ap服务器
多媒体数据库基本功能
网络安全屏障图片
自动售货机的软件开发多少钱
数据库知识点总结清华大学出版社
绵阳市网络安全保卫支队号码
文档无法输入数据库
毛概网络安全
软件开发+南宁
网络安全知识诗歌名字
大连市网络安全教育基地答案
国家医保平台服务器开小差
移动wifi网络安全
湘潭智能软件开发中介
数据库排他锁共享锁
软件开发学习入门
多个网页连接数据库
用友数据库fd代表什么
国外网络安全2020
黑色沙漠端游服务器
浙江网络技术开发信息中心
腾讯软件开发师待遇
应届生去银行软件开发
无线网络安全ssid
单片机的应用于数据库管理
服务器安全用什么问题
服务器硬盘有多少寸的