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

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

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的机器学习实践 (六) - 基础统计模块


目录
相关文章
|
3月前
|
分布式计算 Java Serverless
EMR Serverless Spark 实践教程 | 通过 spark-submit 命令行工具提交 Spark 任务
本文以 ECS 连接 EMR Serverless Spark 为例,介绍如何通过 EMR Serverless spark-submit 命令行工具进行 Spark 任务开发。
369 7
EMR Serverless Spark 实践教程 | 通过 spark-submit 命令行工具提交 Spark 任务
|
2月前
|
分布式计算 Serverless 数据处理
EMR Serverless Spark 实践教程 | 通过 Apache Airflow 使用 Livy Operator 提交任务
Apache Airflow 是一个强大的工作流程自动化和调度工具,它允许开发者编排、计划和监控数据管道的执行。EMR Serverless Spark 为处理大规模数据处理任务提供了一个无服务器计算环境。本文为您介绍如何通过 Apache Airflow 的 Livy Operator 实现自动化地向 EMR Serverless Spark 提交任务,以实现任务调度和执行的自动化,帮助您更有效地管理数据处理任务。
158 0
|
3月前
|
分布式计算 Hadoop Serverless
数据处理的艺术:EMR Serverless Spark实践及应用体验
阿里云EMR Serverless Spark是基于Spark的全托管大数据处理平台,融合云原生弹性与自动化,提供任务全生命周期管理,让数据工程师专注数据分析。它内置高性能Fusion Engine,性能比开源Spark提升200%,并有成本优化的Celeborn服务。支持计算存储分离、OSS-HDFS兼容、DLF元数据管理,实现一站式的开发体验和Serverless资源管理。适用于数据报表、科学项目等场景,简化开发与运维流程。用户可通过阿里云控制台快速配置和体验EMR Serverless Spark服务。
|
4月前
|
分布式计算 运维 Serverless
通过Serverless Spark提交PySpark流任务的实践体验
EMR Serverless Spark服务是阿里云推出的一种全托管、一站式的数据计算平台,旨在简化大数据计算的工作流程,让用户更加专注于数据分析和价值提炼,而非基础设施的管理和运维。下面就跟我一起通过Serverless Spark提交PySpark流任务吧。
149 1
|
4月前
|
分布式计算 Spark 大数据
深入探究Apache Spark在大数据处理中的实践应用
【6月更文挑战第2天】Apache Spark是流行的开源大数据处理框架,以其内存计算速度和低延迟脱颖而出。本文涵盖Spark概述、核心组件(包括Spark Core、SQL、Streaming和MLlib)及其在数据预处理、批处理分析、交互式查询、实时处理和机器学习中的应用。通过理解Spark内部机制和实践应用,可提升大数据处理效率,发挥其在各行业的潜力。
|
4月前
|
机器学习/深度学习 分布式计算 API
技术好文:Spark机器学习笔记一
技术好文:Spark机器学习笔记一
30 0
|
5月前
|
机器学习/深度学习 数据采集 分布式计算
【机器学习】Spark ML 对数据进行规范化预处理 StandardScaler 与向量拆分
标准化Scaler是数据预处理技术,用于将特征值映射到均值0、方差1的标准正态分布,以消除不同尺度特征的影响,提升模型稳定性和精度。Spark ML中的StandardScaler实现此功能,通过`.setInputCol`、`.setOutputCol`等方法配置并应用到DataFrame数据。示例展示了如何在Spark中使用StandardScaler进行数据规范化,包括创建SparkSession,构建DataFrame,使用VectorAssembler和StandardScaler,以及将向量拆分为列。规范化有助于降低特征重要性,提高模型训练速度和计算效率。
|
5月前
|
机器学习/深度学习 分布式计算 算法
【机器学习】Spark ML 对数据特征进行 One-Hot 编码
One-Hot 编码是机器学习中将离散特征转换为数值表示的方法,每个取值映射为一个二进制向量,常用于避免特征间大小关系影响模型。Spark ML 提供 OneHotEncoder 进行编码,输入输出列可通过 `inputCol` 和 `outputCol` 参数设置。在示例中,先用 StringIndexer 对类别特征编码,再用 OneHotEncoder 转换,最后展示编码结果。注意 One-Hot 编码可能导致高维问题,可结合实际情况选择编码方式。
|
5月前
|
分布式计算 Shell 开发工具
Spark编程实验二:RDD编程初级实践
Spark编程实验二:RDD编程初级实践
72 1
|
5月前
|
机器学习/深度学习 人工智能 数据挖掘
【机器学习】贝叶斯统计中,“先验概率”和“后验概率”的区别?
【5月更文挑战第11天】【机器学习】贝叶斯统计中,“先验概率”和“后验概率”的区别?
下一篇
无影云桌面