一.基本统计量

统计向量的长度,最大值,最小值,非0个数,模1和模2,方差等

import org.apache.spark.mllib.linalg.{Vector,Vectors}

import org.apache.spark.mllib.stat.{MultivariateStatisticalSummary, Statistics}

val data=sc.parallelize(1 to 100,2)

val obs=data.map(x=>Vectors.dense(x))

val summary=Statistics.colStats(obs)

summary.mean

summary.max

二.相关系数

import org.apache.spark.SparkContext

import org.apache.spark.mllib.linalg._

import org.apache.spark.mllib.stat.Statistics

val x=sc.parallelize(1 to 3,2).map(_.toDouble)

val y=sc.parallelize(1 to 3,2).map(_.toDouble)

val correlation: Double = Statistics.corr(x, y, "pearson")

val data=sc.textFile("coo1").map(_.split(',')).map(_.map(_.toDouble)).map(x=>Vectors.dense(x))

val correlMatrix: Matrix = Statistics.corr(data, "pearson")

三.分成抽样

import org.apache.spark.SparkContext

import org.apache.spark.SparkContext._

import org.apache.spark.rdd.PairRDDFunctions

val info=sc.parallelize(List(('a',2),('a',3),('b',1),('b',3),('c',10),('d',100)))

val ff=Map('a'->0.5,'b'->1.0)

val infosample=info.sampleByKey(withReplacement = false, fractions=ff)

四.假设检验

假设检验是用于检测结果是否统计显著,事件结果是否偶然,mllib目前 提供pearson卡方检验用于计算拟合优度检验和独立检验,

前者需要向量作为输入,后者需要矩阵作为输入

卡方拟合优度检验,一般用于检验样本是否符合某分布,理论频数与实际频数的偏差. 如果分布的参数未知,可考虑用mle

卡方独立性检验,一般针对列链表的形式,理论频数与实际频数的偏差。

五.kernel估计

kernal理论基础,参考Walter Zucchini的文章,主要介绍了几部分:

a.f(x)的估计

b.bandwidth的大小对f(x)估计的影响

c.w(t,h)与kernel函数的关系,w(t,h)=1/h * k(t/h)

d.最佳窗宽的选择,根据MISE最小化 [1/n*y(K)/b(f)]^(1/5),其中y(K)=j2*k2^-2

e.最佳kernel:Epanechnikov kernel

f.利用样本选择最佳窗框

Spark-Mllib(二)基本统计的更多相关文章

  1. spark MLLib的基础统计部分学习

    参考学习链接:http://www.itnose.net/detail/6269425.html 机器学习相关算法,建议初学者去看看斯坦福的机器学习课程视频:http://open.163.com/s ...

  2. 十二、spark MLlib的scala示例

    简介 spark MLlib官网:http://spark.apache.org/docs/latest/ml-guide.html mllib是spark core之上的算法库,包含了丰富的机器学习 ...

  3. spark MLlib BasicStatistics 统计学基础

    一, jar依赖,jsc创建. package ML.BasicStatistics; import com.google.common.collect.Lists; import org.apach ...

  4. Spark MLlib 机器学习

    本章导读 机器学习(machine learning, ML)是一门涉及概率论.统计学.逼近论.凸分析.算法复杂度理论等多领域的交叉学科.ML专注于研究计算机模拟或实现人类的学习行为,以获取新知识.新 ...

  5. Spark MLlib 之 大规模数据集的相似度计算原理探索

    无论是ICF基于物品的协同过滤.UCF基于用户的协同过滤.基于内容的推荐,最基本的环节都是计算相似度.如果样本特征维度很高或者<user, item, score>的维度很大,都会导致无法 ...

  6. RandomForest in Spark MLLib

    决策树类模型 ml中的classification和regression主要基于以下几类: classification:决策树及其相关的集成算法,Logistics回归,多层感知模型: regres ...

  7. Spark MLlib基本算法【相关性分析、卡方检验、总结器】

    一.相关性分析 1.简介 计算两个系列数据之间的相关性是统计中的常见操作.在spark.ml中提供了很多算法用来计算两两的相关性.目前支持的相关性算法是Pearson和Spearman.Correla ...

  8. MLlib学习——基本统计

    给定一个数据集,数据分析师一般会先观察一下数据集的基本情况,称之为汇总统计或者概要性统计.一般的概要性统计用于概括一系列观测值,包括位置或集中趋势(比如算术平均值.中位数.众数和四分位均值),展型(比 ...

  9. Spark MLlib 之 Basic Statistics

    Spark MLlib提供了一些基本的统计学的算法,下面主要说明一下: 1.Summary statistics 对于RDD[Vector]类型,Spark MLlib提供了colStats的统计方法 ...

随机推荐

  1. Redis 简单命令

    1. 新增 set keyName "keyValue" 2. 获取 get keyName 查看所有Key keys * 3. 删除 //删除当前数据库中的所有Key flush ...

  2. dubbo-admin和dubbo-monitor-simple的布署

    dubbo-admin 把dubbo-admin的war包解压到tomcat或者jetty的ROOT目录下,启动就可以访问了(自己配置tomcat的端口) wget http://code.aliba ...

  3. java安全沙箱(四)之安全管理器及Java API

    java是一种类型安全的语言,它有四类称为安全沙箱机制的安全机制来保证语言的安全性,这四类安全沙箱分别是: 类加载体系 .class文件检验器 内置于Java虚拟机(及语言)的安全特性 安全管理器及J ...

  4. 如何在Visual Studio里面查看程序的汇编代码?

    开发工具:Visual Studio 2015 1,在源代码中设置至少一个断点,目的让我们进入调试模式. 2,启动调试,当程序进入调试模式,停留在我们设定的断点处时候,使用快捷键"ALT+8 ...

  5. 用读写锁三句代码解决多线程并发写入文件 z

    C#使用读写锁三句代码简单解决多线程并发写入文件时提示“文件正在由另一进程使用,因此该进程无法访问此文件”的问题 在开发程序的过程中,难免少不了写入错误日志这个关键功能.实现这个功能,可以选择使用第三 ...

  6. Ubuntu14.04安装搜狗拼音输入法

    删除ibus输入法 sudo apt-get purge ibus sudo apt-get autoremove 安装fcitx和拼音输入法 sudo apt-get install fcitx f ...

  7. 04-c#入门(类型转换)

    “无论是什么类型,所有的数据都是一系列的位,即一系列0和1.变量的含义是通过解释这些数据的方式来传达的.”——这句原话是书上翻译的,不过后一句话总感觉理解起来不是很通俗,自己觉得这样理解可能会合适些: ...

  8. block使用小结、在arc中使用block、如何防止循环引用

    引言 使用block已经有一段时间了,感觉自己了解的还行,但是几天前看到CocoaChina上一个关于block的小测试主题: [小测试]你真的知道blocks在Objective-C中是怎么工作的吗 ...

  9. 初学PHP

    这东西必须得静下心来学,快是快不来的,得有一个痛苦的过程.<PHP和MySQL WEB开发>这本书很值得一看,有了坚实的基础,推荐看<深入php++面向对象.模式与实践+第三版> ...

  10. mysql常用单行函数

    一.大小写控制函数 LOWER(str)    将str的值全部置为小写字母 select LOWER('ABC'); --结果: LOWER('ABC') abc UPPER(str)    将st ...