基于Spark的机器学习实践 (六) - 基础统计模块

2022-11-30 14:56:42 浏览数 (1)

0 相关源码

1 基础统计模块及常用统计学知识介绍

◆ Spark 的基础统计模块即MLlib组件中的Basic Statistics部分

◆ Basic Statistics主要包括Correlation 与Hypothesis testing等

◆ 其大多被封装在orq.apache spark.mllib.stat._ 中

1.1 基础统计学知识

1.1.1 常用的统计学知识

◆ 描述性统计 平均数,方差,众数,中位数…

◆ 相关性度量 spark 提供了皮尔逊和斯皮尔曼相关系数,反映变量间相关关系密切程度

◆ 假设检验 根据一定假设条件,由样本推断总体的一种统计学方法,spark提供了皮尔森卡方检测

2 实战统计汇总

◆ 实战的数据来源是北京市历年降水量数据

◆ 学习使用spark对数据进描述性统计

◆ 在进行机器学习模型的训练前,可以了解数据集的总体情况

2.1 coding实战

  • 保存降水量文件
  • 字符串值
  • 实际内容只有一行,读取到数组的是一个超长字符串,需要进行分割.
  • 所需依赖
  • 导入
  • val data = txt.flatMap(_.split(",")).map(value => linalg.Vectors.dense(value.toDouble))
  • data.take(10)
  • 统计方法
  • 最大值
  • 平均值

3 学习相关系数

3.1 相关性度量

◆ 是一种研究变量之间线性相关程度的量

◆ 主要学习皮尔逊相关系数:

几组(x, y)的点集,以及各个点集中x和y之间的相关系数。我们可以发现相关系数反映的是变量之间的线性关系和相关性的方向(第一排),而不是相关性的斜率(中间),也不是各种非线性关系(第三排)。请注意:中间的图中斜率为0,但相关系数是没有意义的,因为此时变量Y是0

3.2 实战相关系数

我们对北京市历年降水量进行相关性统计,看看年份与降水量之间的相关性有多大

  • 过滤
  • 相关系数值

4 学习假设检验

4.1 假设检验

◆ 根据一定假设条件,由样本推断总体的一种统计学方法。基本思路是先提出假设(虚无假设),使用统计学方法进行计算,根据计算结果判断是否拒绝假设

◆ 假设检验的统计方法有很多,如卡方检验,T检验等

◆ spark实现的是皮尔森卡方检验,它可以实现适配度检测和独立性检测

4.2 皮尔森卡方检验

最常用的卡方检验,可以分为适配度检验和独立性检验

◆ 适配度检验:验证观察值的次数分配与理论值是否相等

◆ 独立性检验:两个变量抽样到的观察值是否相互独立

4.3 实战 : 判断性别与左撇子是否存在关系

  • 导入数据
  • 计算

否定了假设检验,所以性别与左撇子是有关的!

Spark机器学习实践系列

  • 基于Spark的机器学习实践 (一) - 初识机器学习
  • 基于Spark的机器学习实践 (二) - 初识MLlib
  • 基于Spark的机器学习实践 (三) - 实战环境搭建
  • 基于Spark的机器学习实践 (四) - 数据可视化
  • 基于Spark的机器学习实践 (六) - 基础统计模块

联系我

Java开发技术交流Q群

完整博客链接

知乎

Giyhub

0 人点赞