• Spark-Mllib(二)基本统计


    转自 :http://www.cnblogs.com/tuitui1989/p/5337968.html

    一.基本统计量

    统计向量的长度,最大值,最小值,非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.利用样本选择最佳窗框

     

  • 相关阅读:
    软考笔记(二)
    软件工程笔记
    安卓反编译
    [转] 扫描二维码自动区分下载Android或者iOS
    git使用技巧总结
    利用iTunes给MP3添加专辑插图
    Flex弹性盒子中`flex-grow`,`flex-shrink`,`flex-basis`的区别
    Android 中Activity和Fragment的启动顺序
    Java 类加载的过程
    Android Studio 查看源码出现throw new RuntimeException("Stub!"); 解决办法
  • 原文地址:https://www.cnblogs.com/zhangbojiangfeng/p/6086252.html
Copyright © 2020-2023  润新知