spark MLLib的基础统计部分学习
参考学习链接:http://www.itnose.net/detail/6269425.html
机器学习相关算法,建议初学者去看看斯坦福的机器学习课程视频:http://open.163.com/special/opencourse/machinelearning.html(已经被翻译了)
所有文中示例见:http://spark.apache.org/docs/latest/mllib-statistics.html
统计工具
(1)摘要统计
我们通过统计中可用的colStats函数提供RDD [Vector]的列摘要统计。
colStats()返回多变量统计摘要的实例,其中包含列向量的最大值,
最小值,平均值,方差和非零数,以及总计数。
(2)相关性
计算两个数据系列之间的相关性是统计学中的常见操作。
在spark.mllib中,我们提供了在许多系列之间计算成对相关性的灵活性。
支持的相关方法目前是Pearson's和Spearman
(3)分层抽样
与驻留在spark.mllib中的其他统计函数不同,分层抽样方法sampleByKey
和sampleByKeyExact可以对RDD的键值对执行。 对于分层抽样,键可以被
认为是一个标签,而值作为一个特定的属性。 例如,密钥可以是男人或
女人或文档ID,并且相应的值可以是人口中的人的年龄列表或文档中的单
词列表。 sampleByKey方法将翻转硬币以决定是否对采样进行采样,因此
需要对数据进行一次传递,并提供预期的采样大小。 sampleByKeyExact比
在sampleByKey中使用的每层简单随机抽样需要更多的资源,但是将提供具
有99.99%置信度的精确抽样大小。 sampleByKeyExact目前不支持在python中。
(4)假设检验
MLlib当前支持用于判断拟合度或者独立性的Pearson卡方(chi-squared ( χ2) )检验。
不同的输入类型决定了是做拟合度检验还是独立性检验。拟合度检验要求输
入为Vector, 独立性检验要求输入是Matrix。
Statistics.chiSqTest(vector1, vector2)
假设检验是统计学中一个强大的工具,用于确定结果是否具有统计显着性,
这种结果是否偶然发生。 spark.mllib目前支持Pearson的卡方拟合和独立性的卡方检验(χ2χ2)
。 输入数据类型决定是否进行拟合优度或独立性检验。
拟合优度测试需要一个输入类型的向量,而独立性测试需要一个矩阵作为输入。
spark.mllib还支持输入类型RDD [LabeledPoint],以通过卡方独立性测试启用功能选择。
在Spark repo中的“examples / src / main / scala / org / apache / spark / examples / mllib / HypothesisTestingExample.scala”下找到完整的示例代码。
此外,spark.mllib提供了Kolmogorov-Smirnov(KS)检验的一个单样本,双侧实现,
用于概率分布的相等。 通过提供理论分布的名称(目前仅针对正态分布支持)及其参数,
或者根据给定的理论分布计算累积分布的函数,用户可以测试它们的样本是从哪个 分配。
在用户针对正态分布(distName =“norm”)进行测试但不提供分布参数的情况下,
测试初始化为标准正态分布并记录适当的消息。
(5)流线型测试
spark.mllib提供了一些测试的在线实现,以支持A / B测试等用例。
这些测试可以在Spark Streaming DStream [(Boolean,Double)]上执行,其中每个元组的第
一个元素表示控制组(false)或治疗组(true),第二个元素是观察值。
流式重要性测试支持以下参数:
peacePeriod - 从流中忽略的初始数据点的数量,用于减轻新奇效应。
windowSize - 执行假设测试的过去批次的数量。 设置为0将使用所有前面的批次执行累积处理。
(6)随机数生成
随机数据生成对于随机算法,原型设计和性能测试非常有用。
spark.mllib支持使用i.i.d生成随机RDD。 从给定分布绘制的值:均匀,标准正态或泊松。
RandomRDDs提供了工厂方法来生成随机双RDD或向量RDD。 以下示例生成随机双RDD,其值遵循标准
正态分布N(0,1),然后将其映射到N(1,4)。
有关API的详细信息,请参阅RandomRDDs Scala文档。
(7)Kernel density estimation
核密度估计是用于可视化经验概率分布而不需要关于观察到的样本从其中绘制的特定分布的假
设的技术。 它计算在给定的一组点处评估的随机变量的概率密度函数的估计。 它通过将特定
点处的经验分布的PDF表示为以每个样本为中心的正态分布的PDF的均值来实现该估计。
核密度估计(Kernel density estimation),是一种用于估计概率密度函数的非参数方法,
为独立同分布F的n个样本点,设其概率密度函数为f,核密度估计为以下
spark MLLib的基础统计部分学习的更多相关文章
- Spark MLlib知识点学习整理
MLlib的设计原理:把数据以RDD的形式表示,然后在分布式数据集上调用各种算法.MLlib就是RDD上一系列可供调用的函数的集合. 操作步骤: 1.用字符串RDD来表示信息. 2.运行MLlib中的 ...
- Spark MLlib Deep Learning Convolution Neural Network (深度学习-卷积神经网络)3.2
3.Spark MLlib Deep Learning Convolution Neural Network(深度学习-卷积神经网络)3.2 http://blog.csdn.net/sunbow0 ...
- Spark MLlib Deep Learning Deep Belief Network (深度学习-深度信念网络)2.2
Spark MLlib Deep Learning Deep Belief Network (深度学习-深度信念网络)2.2 http://blog.csdn.net/sunbow0 第二章Deep ...
- Spark MLlib Deep Learning Convolution Neural Network (深度学习-卷积神经网络)3.1
3.Spark MLlib Deep Learning Convolution Neural Network (深度学习-卷积神经网络)3.1 http://blog.csdn.net/sunbow0 ...
- Spark MLlib Deep Learning Deep Belief Network (深度学习-深度信念网络)2.3
Spark MLlib Deep Learning Deep Belief Network (深度学习-深度信念网络)2.3 http://blog.csdn.net/sunbow0 第二章Deep ...
- spark MLlib BasicStatistics 统计学基础
一, jar依赖,jsc创建. package ML.BasicStatistics; import com.google.common.collect.Lists; import org.apach ...
- 【原创 Hadoop&Spark 动手实践 12】Spark MLLib 基础、应用与信用卡欺诈检测系统动手实践
[原创 Hadoop&Spark 动手实践 12]Spark MLLib 基础.应用与信用卡欺诈检测系统动手实践
- Spark MLlib Deep Learning Deep Belief Network (深度学习-深度信念网络)2.1
Spark MLlib Deep Learning Deep Belief Network (深度学习-深度信念网络)2.1 http://blog.csdn.net/sunbow0 Spark ML ...
- Spark MLlib Deep Learning Convolution Neural Network (深度学习-卷积神经网络)3.3
3.Spark MLlib Deep Learning Convolution Neural Network(深度学习-卷积神经网络)3.3 http://blog.csdn.net/sunbow0 ...
随机推荐
- 开发框架(WinForm)3
我的开发框架(WinForm)3 今天继续给大家介绍核心库的IOC的使用,在我的框架里,IOC使用的比较简单,主要是用于解除模块间的耦合和实例化接口. 1.接口说明,IocContainer接口比较简 ...
- QzzmServer v2.0正式版发布
V2.1升级程序已发布,具体见下文 首先,感谢网友的热情的测评及反馈,现Qzzm ...
- linux学习心得之vim/Cvim篇
linux学习心得之vim/Cvim篇 在linux 下,vim 时一种最常见的编辑器,很多linux的发行版就自带了.我的是CentOS 6.3. 基本上Vim共分为3种模式,分别是一般模式,编辑模 ...
- CYQ.Data 支持WPF相关的数据控件绑定.Net获取iis版本
CYQ.Data 支持WPF相关的数据控件绑定(2013-08-09) 事件的结果 经过多天的思考及忙碌的开发及测试,CYQ.Data 终于在UI上全面支持WPF,至此,CYQ.Data 已经可以方便 ...
- MVC3升级到MVC4模型验证信息显示为英文问题及解决方案
最近把项目从mvc3升级到mvc4,部署到服务器上出现了一个小问题,就是在表单里字段验证时,验证显示信息为英文,如下: The field 平均租金 must be a number 而在本地是好的, ...
- html5基础的常用的技巧
html5基础的常用的技巧 1. 新的Doctype声明 XHTML的声明太长了,我相信很少会有前端开发人员能手写出这个Doctype声明. <!DOCTYPE html PUBLIC &quo ...
- linuxmint 15/ ubuntu 13.04 install OpenERP client 6.0.4
As we all know OpenERP is a great open-source ERP/CRM project. It does help people a lot when workin ...
- LuaBridge 中C++类和继承示例
luabridge不是一个陌生的名字,GIT上已经有3-4年多没有更新.将lua和C++相互调用封装的很方便,比如以下示例代码: /////////////////////////////////// ...
- hdu 2828 Buy Tickets(线段树)
一道不算复杂的线段树,就是数据处理需要好好想一下. 将输入的所有数据从后往前输入,对于最后一个值,如果它想插入第i个位置,那么他就必须在前面留下i-1个位置.对于倒数第二个人,如果他想插入j位置,那么 ...
- Redis监控数据分布工具Redis-audit 使用总结
Redis-audit 是一个用ruby实现的脚本,通过它,我们可以知道每一类 key 对内存的使用量.它可以提供的数据有:某一类 key 值的访问频率如何,有多少值设置了过期时间,某一类 key 值 ...