美文网首页
MLIib基本统计

MLIib基本统计

作者: 机器不能学习 | 来源:发表于2018-11-14 21:39 被阅读0次

MLIib全貌
ML Algorithms (ML 算法): 常用的学习算法,如分类,回归,聚类和协同过滤
Featurization (特征): 特征提取,变换,降维和选择
Pipelines (管道): 用于构建,评估和调整 ML Pipelines 的工具
Persistence (持久性): 保存和加载算法,模型和 Pipelines
Utilities (实用): 线性代数,统计学,数据处理等

主要内容

  • 相关性
  • 假设验证
  • 累计计数器

相关性

计算两个物体的相关性是统计里常见的操作。在spark.ml中我们会提供灵活的函数来计算多个物体的相关性。现在我们提供的相关系数只有Spearman和Pearson。
(关于两者可参见http://blog.sina.com.cn/s/blog_69e75efd0102wmd2.html,简单说两者后者对异常值波动比较多设置无法计算,而前者可以,更加广泛)

Correlation使用特定的方法计算输入Vectors的相关矩阵。这个输出是一个DataFrame包括了这个相关矩阵的所有列向量。

import org.apache.spark.ml.linalg.{Matrix, Vectors}
import org.apache.spark.ml.stat.Correlation
import org.apache.spark.sql.Row

val data = Seq(
  Vectors.sparse(4, Seq((0, 1.0), (3, -2.0))),
  Vectors.dense(4.0, 5.0, 0.0, 3.0),
  Vectors.dense(6.0, 7.0, 0.0, 8.0),
  Vectors.sparse(4, Seq((0, 9.0), (3, 1.0)))
)

val df = data.map(Tuple1.apply).toDF("features")
val Row(coeff1: Matrix) = Correlation.corr(df, "features").head
println(s"Pearson correlation matrix:\n $coeff1")

val Row(coeff2: Matrix) = Correlation.corr(df, "features", "spearman").head
println(s"Spearman correlation matrix:\n $coeff2")

假设验证

假设验证是一个十分有用的工具应用去决定结果是否具有统计学意义,不管这个结果是否是偶然发生的。spark.ml目前支持Pearson’s Chi-squared ( χ2) 的独立验证。(皮尔逊卡方值:研究两个定类变量间是否独立即是否存在某种关联性的最常用的方法)
ChiSquareTest会针对每一个标签对特征值进行一次皮尔逊独立测试。会把(特征值,标签)对转化为一个列联矩阵(算以最大似然法为参数规则可能性矩阵)来计算Chi-squared。所有的标签和特征值都必须是明确的。

import org.apache.spark.ml.linalg.{Vector, Vectors}
import org.apache.spark.ml.stat.ChiSquareTest

val data = Seq(
  (0.0, Vectors.dense(0.5, 10.0)),
  (0.0, Vectors.dense(1.5, 20.0)),
  (1.0, Vectors.dense(1.5, 30.0)),
  (0.0, Vectors.dense(3.5, 30.0)),
  (0.0, Vectors.dense(3.5, 40.0)),
  (1.0, Vectors.dense(3.5, 40.0))
)

val df = data.toDF("label", "features")
val chi = ChiSquareTest.test(df, "features", "label").head
println(s"pValues = ${chi.getAs[Vector](0)}")
println(s"degreesOfFreedom ${chi.getSeq[Int](1).mkString("[", ",", "]")}")
println(s"statistics ${chi.getAs[Vector](2)}")

累计器

77/5000
我们通过Summarizer为Dataframe提供矢量列摘要统计。我们可以获得一些有用的指标,列的最大值,最小值,平均值,非0个数还有总计。

相关文章

  • MLIib基本统计

    MLIib全貌ML Algorithms (ML 算法): 常用的学习算法,如分类,回归,聚类和协同过滤Featu...

  • 统计函数

    统计函数(Subtotal)、统计函数(Countif、Countifs) · Subtotal · 基本用法 ·...

  • python数据分析(四)

    1、基本统计 基本统计分析:描述性统计分析,用来概括事物整体状况以及事物间联系(即事物的基本特征),以发现其内在规...

  • pandas 和numpy库处理数据(2)

    接上:对于数据的基本统计分析(统计元素不再解释,基本是均值、方差等计算)

  • 数据分析方法python

    基本统计 基本统计分析:描述性统计分析,用于概括事务整体状况以及树屋建联系(及事务的基本特征),以发现其内在规律的...

  • 数据分析3 - 数据分析方法

    基本统计 基本统计分析,也叫描述性统计分析,用来概括事物整体状况以及事物间联系(即事物的基本特征),以发现其内在规...

  • 基本统计量应用

    案例 使用基本描述统计量计算存款金额的基本描述统计量,并分别对城镇储户和农村储户进行比较。 数据 实验体会 首先拿...

  • 0428Excel学习笔记(统计函数)

    统计函数(Subtotal、Countif、Countifs) 一、统计函数(Subtotal) 1、基本用法 不...

  • 统计学中的基本概念和重要公式(一)

    统计学中的基本概念和重要公式 一、基本概念 二、重要公式 一、基本概念 1、描述统计学2、推断统计学3、数据的几种...

  • 统计报表制作,怎样做报表统计

    统计报表是管理者获取基本统计信息和了解基本发展情况的重要手段。一份看似简单的统计报表,其实操作起来并没有那么简单。...

网友评论

      本文标题:MLIib基本统计

      本文链接:https://www.haomeiwen.com/subject/zehsfqtx.html