《Spark MLlib 机器学习》细节解释(持续更新)

1、        P220

对该段文字的解决:

得到最大bin 数量后,求最大split 数量。对于无序特征,split = bin 数目/2;对于有序特征,split = bin 数目–1。

其中有读者问到:对于无序特征,split = bin 数目/2这个的由来,解释如下:

1)首先计算numBins:

// 当前的特征数量小于m值,则认为无序

if (numCategories <=maxCategoriesForUnorderedFeature) {//无序时

unorderedFeatures.add(featureIndex)

numBins(featureIndex) = numUnorderedBins(numCategories)

} else {//有序时

numBins(featureIndex) = numCategories

}

根据以上可知,无序时numBins = numUnorderedBins(numCategories)

其中numUnorderedBins函数如下:

/**

* Given the arity of a categorical feature(arity = number of categories),

* return the number of bins for the featureif it is to be treated as an unordered feature.

* There is 1 split for every partitioning ofcategories into 2 disjoint, non-empty sets;

* there are math.pow(2, arity - 1) - 1 suchsplits.

* Each split has 2 corresponding bins.

* 解释:一次划分会有2个bins,好比,切西瓜,一刀下去,分成2块

*/

def numUnorderedBins(arity: Int): Int = 2 * ((1 << arity - 1) - 1)

根据公式:numBins = 2*math.pow(2,arity - 1) – 1

2)根据numBins计算numSplits:

def numSplits(featureIndex: Int): Int = if(isUnordered(featureIndex)) {

numBins(featureIndex) >> 1

} else {

numBins(featureIndex) - 1

}

根据公式:numSplits = numBins/2= math.pow(2, arity - 1) – 1

时间: 2024-10-07 13:37:21

《Spark MLlib 机器学习》细节解释(持续更新)的相关文章

Spark MLlib机器学习算法、源码及实战讲解pdf电子版下载

Spark MLlib机器学习算法.源码及实战讲解pdf电子版下载 链接:https://pan.baidu.com/s/1ruX9inG5ttOe_5lhpK_LQg 提取码:idcb <Spark MLlib机器学习:算法.源码及实战详解>书中讲解由浅入深慢慢深入,解析讲解了MLlib的底层原理:数据操作及矩阵向量计算操作,该部分是MLlib实现的基础:并对此延伸机器学习的算法,循序渐进的讲解其中的原理,是读者一点一点的理解和掌握书中的知识. 目录 · · · · · · 第一部分 Spa

《Spark MLlib机器学习实践》内容简介、目录

http://product.dangdang.com/23829918.html Spark作为新兴的.应用范围最为广泛的大数据处理开源框架引起了广泛的关注,它吸引了大量程序设计和开发人员进行相关内容的学习与开发,其中 MLlib是 Spark框架使用的核心.本书是一本细致介绍 Spark MLlib程序设计的图书,入门简单,示例丰富. 本书分为 12章,从 Spark基础安装和配置开始,依次介绍 MLlib程序设计基础.MLlib的数据对象构建.MLlib中 RDD使用介绍,各种分类.聚类.

工具-maya2014软件操作细节(持续更新……)

空空: 整体 ------------------------------------------------------- [全选控制器] 1.选中总控-显示-隔离选择-查看选定对象 2.全选并创建新层(不同控制器设为不同颜色以示区分),以后只要右键该层-选定对象 3.打开脚本编辑器,全选控制器并将该脚本保存到工具架并命名,以后只要点击工具架上自定义的该脚本工具即可全选该控制器 (模型控制器:按下w/e/r键后,可以直接通过控制器,控制模型的位移/旋转/缩放: 还有一种属性控制器,点击通道盒上

Spark Sreaming与MLlib机器学习

Spark Sreaming与MLlib机器学习 本来这篇是准备5.15更的,但是上周一直在忙签证和工作的事,没时间就推迟了,现在终于有时间来写写Learning Spark最后一部分内容了. 第10-11 章主要讲的是Spark Streaming 和MLlib方面的内容.我们知道Spark在离线处理数据上的性能很好,那么它在实时数据上的表现怎么样呢?在实际生产中,我们经常需要即使处理收到的数据,比如实时机器学习模型的应用,自动异常的检测,实时追踪页面访问统计的应用等.Spark Stream

Spark入门实战系列--8.Spark MLlib(上)--机器学习及SparkMLlib简介

[注]该系列文章以及使用到安装包/测试数据 可以在<倾情大奉送--Spark入门实战系列>获取 1.机器学习概念 1.1 机器学习的定义 在维基百科上对机器学习提出以下几种定义: l“机器学习是一门人工智能的科学,该领域的主要研究对象是人工智能,特别是如何在经验学习中改善具体算法的性能”. l“机器学习是对能通过经验自动改进的计算机算法的研究”. l“机器学习是用数据或以往的经验,以此优化计算机程序的性能标准.” 一种经常引用的英文定义是:A computer program is said

Spark MLlib(下)--机器学习库SparkMLlib实战

1.MLlib实例 1.1 聚类实例 1.1.1 算法说明 聚类(Cluster analysis)有时也被翻译为簇类,其核心任务是:将一组目标object划分为若干个簇,每个簇之间的object尽可能相似,簇与簇之间的object尽可能相异.聚类算法是机器学习(或者说是数据挖掘更合适)中重要的一部分,除了最为简单的K-Means聚类算法外,比较常见的还有层次法(CURE.CHAMELEON等).网格算法(STING.WaveCluster等),等等. 较权威的聚类问题定义:所谓聚类问题,就是给

Spark入门实战系列--8.Spark MLlib(下)--机器学习库SparkMLlib实战

[注]该系列文章以及使用到安装包/测试数据 可以在<倾情大奉送--Spark入门实战系列>获取 1.MLlib实例 1.1 聚类实例 1.1.1 算法说明 聚类(Cluster analysis)有时也被翻译为簇类,其核心任务是:将一组目标object划分为若干个簇,每个簇之间的object尽可能相似,簇与簇之间的object尽可能相异.聚类算法是机器学习(或者说是数据挖掘更合适)中重要的一部分,除了最为简单的K-Means聚类算法外,比较常见的还有层次法(CURE.CHAMELEON等).网

机器学习Spark Mllib算法源码及实战详解进阶与提高视频教程

38套大数据,云计算,架构,数据分析师,Hadoop,Spark,Storm,Kafka,人工智能,机器学习,深度学习,项目实战视频教程 视频课程包含: 38套大数据和人工智能精品高级课包含:大数据,云计算,架构,数据挖掘实战,实时推荐系统实战,电视收视率项目实战,实时流统计项目实战,离线电商分析项目实战,Spark大型项目实战用户分析,智能客户系统项目实战,Linux基础,Hadoop,Spark,Storm,Docker,Mapreduce,Kafka,Flume,OpenStack,Hiv

数据集网站收集(可用于机器学习,数据挖掘等,持续更新)

数据集网站收集(持续更新) 1.Kaggle: https://www.kaggle.com/ 可以按关键字搜索数据集 自带讨论区 有热心群众分享自己的Kernel,可供参考(热心群众们自己对数据的分析代码) 2.天池: https://tianchi.aliyun.com/competition/gameList/algorithmList 包括阿里系公司(淘宝,饿了么)的部分业务数据(不是很全,只作为赛题数据) 需要登录才可以下载 2.UCI Machine Learning Reposit