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

举报
JavaEdge 发表于 2021/06/04 01:13:29 2021/06/04
【摘要】 0 相关源码 1 基础统计模块及常用统计学知识介绍 ◆ Spark 的基础统计模块即MLlib组件中的Basic Statistics部分 ◆ Basic Statistics主要包括Correlation 与Hypothesis testing等 ◆ 其大多被封装在orq.apache spark.mllib.stat._ 中 1.1 基础统计学知识 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机器学习实践系列

联系我

Java开发技术交流Q群

完整博客链接

知乎

Giyhub

文章来源: javaedge.blog.csdn.net,作者:JavaEdge.,版权归原作者所有,如需转载,请联系作者。

原文链接:javaedge.blog.csdn.net/article/details/89252605

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。