【大数据分析】MLlib,基本统计

MLlib Statistics 是统计模块。包括:汇总统计、相关系数分析、分层抽样、假设检验、随机数据生成等。

列统计汇总

Statistics的colStats函数是列统计方法,该方法可以计算每列最大值、最小值、平均值、方差值、L1范数、L2范数。

val dataPath = "E:\\Scala_TestData\\sample_stat.txt"
val rdd = sc.textFile(dataPath).map(_.split(" ")).map(d=>d.map(d=>d.toDouble))
val denseRdd = rdd.map(d=>Vectors.dense(d))
val stats = Statistics.colStats(denseRdd)
println(stats.max)
println(stats.min)
println(stats.mean)
println(stats.variance)
println(stats.normL1)
println(stats.normL2)
[12.0,7.0,6.0,100.0,23.0]
[1.0,2.0,1.0,4.0,3.0]
[5.25,4.25,3.0,29.5,9.75]
[24.917,4.92,4.7,2211.0,82.25]
[21.0,17.0,12.0,118.0,39.0]
[13.6,9.3,7.07,100.6,25.04]

相关系数

Pearson,Spearman、Cosine相似度、欧氏距离的平方,都可以用来描述两个向量的相关性。
欧氏距离
计算欧氏距离是衡量两个向量间相似度的常见方法。如果这个“距离”比较小说明这两个向量比较相似。
在这里插入图片描述
Pearson
衡量向量相似度的一种方法。输出范围为-1到+1, 0代表无相关性,负值为负相关,正值为正相关。
在这里插入图片描述
Cosine相似度
输出范围和Pearson相关性系数一致,含义也相似。
在这里插入图片描述
Spearman相关系统也用来表达两个变量的相关性,但是它没有Pearson对变量的分布要求那么严格,另外Spearman相关系数可以更好地测度变量的排序关系。
在这里插入图片描述

val corr1 = Statistics.corr(datardd,"pearson")
val corr2 = Statistics.corr(datardd,"spearman")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值