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

简介: # 0 [相关源码](https://github.com/Wasabi1234/Spark-MLlib-Tutorial) # 1 基础统计模块及常用统计学知识介绍 ◆ Spark 的基础统计模块即MLlib组件中的Basic Statistics部分 ◆ Basic Statis...

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 实战 : 判断性别与左撇子是否存在关系

  • 导入数据
  • 计算

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

目录
相关文章
|
SQL
SQL 的 AND、OR 和 NOT 运算符:条件筛选的高级用法
SQL的AND运算符用于根据多个条件筛选记录,确保所有条件都为TRUE才返回记录。下面是AND运算符的基本语法:
374 1
|
10月前
|
人工智能 运维 监控
2025年阿里云服务器配置选择全攻略:CPU、内存、带宽与系统盘详解
在2025年,阿里云服务器以高性能、灵活扩展和稳定服务助力数字化转型,提供轻量应用服务器、通用型g8i实例等多样化配置,满足个人博客至企业级业务需求。针对不同场景(如计算密集型、内存密集型),推荐相应实例类型与带宽规划,强调成本优化策略,包括包年包月节省成本、ESSD云盘选择及地域部署建议。文中还提及安全设置、监控备份的重要性,并指出未来可关注第九代实例g9i支持的新技术。整体而言,阿里云致力于帮助用户实现性能与成本的最优平衡。 以上简介共计238个字符。
|
数据可视化 数据挖掘
OKR工作法能带来什么样的变化?如何根据OKR设定具体的工作目标?
本文深入探讨了OKR(Objectives and Key Results)目标管理框架的起源、定义、实施步骤及其优势,特别介绍了“板栗看板”在OKR管理模式中的应用,展示了如何通过现代化工具提升OKR的实施效果,助力企业明确方向、提高透明度、增强团队协作,最终实现战略目标。
OKR工作法能带来什么样的变化?如何根据OKR设定具体的工作目标?
|
11月前
|
弹性计算 运维 监控
【阿里云云服务诊断】调研报告
作为一名资深后端工程师,我调研了阿里云的【云服务诊断】工具。该工具主要提供两大核心功能:健康状态检查和实时诊断。 1. **健康状态检查**:可查看云资源的可用性状态,快速排除云服务异常,帮助用户聚焦其他潜在问题。 2. **实时诊断**:针对网站无法访问、ECS故障、配置错误等常见问题进行检测,并提供修复建议,极大提升问题排查效率。 使用体验良好,建议增加自定义检查项以提升运维基本功。总体而言,这是个高效实用的工具,值得推荐给开发者和企业用户。
260 3
【阿里云云服务诊断】调研报告
|
消息中间件 存储 测试技术
流量回放的数据隔离
流量回放的数据隔离
456 4
|
消息中间件 监控 Cloud Native
云原生中间件与开源自建TCO对比
本文深入阐释云原生中间件与开源自建TCO对比。
5991 89
云原生中间件与开源自建TCO对比
|
关系型数据库 Serverless 分布式数据库
PolarDB产品使用问题之普通版本的集群如何迁移到Serverless集群
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
198 5
|
前端开发 JavaScript 中间件
阿里开源:Dawn - 基于「中间件和 Pipeline」的自动化构建工具
  Dawn 取「黎明、破晓」之意,原为「阿里云·业务运营团队」内部的前端构建和工程化工具,现已完全开源。它通过 pipeline 和 middleware 将开发过程抽象为相对固定的阶段和有限的操作,简化并统一了开发人员的日常构建与开发相关的工作。   采用中间件技术,封装常用功能,易于扩展,方便重用支持 pipeline 让多个 task 协同完成构建任务简单、一致的命令行接口,易于开发人员使用支持基于「中心服务」管理中间件和工程模板支持搭建私有中心服务,并统一下发构建规则,易于团队统一管理   依赖的环境、软件及其版本:   Node.js v7.6.0 及以上版本Mac/Linu
685 88
|
数据采集 算法 编译器
倚天710规模化应用 - 性能优化 -自动反馈优化分析与实践
编译器优化分成静态优化与动态优化,静态优化指传统编译器gcc/llvm时,增加的优化等级,如O1,O2,O3,Ofast,此时,编译器会依据编译优化等级增加一些优化算法,如函数inline、循环展开以及分支静态预测等等。一般情况下,优化等级越高,编译器做的优化越多,性能会更会好。在阿里生产环境中,单纯依赖于静态优化,并不能达到程序运行流畅目的,通过分析CPU硬件取指令、执行指令,往往会出现一些分支预测失败导致iCacheMiss率高的场景,限制了程序的性能进一步提升。基于此,业务引入了动态反馈优化工具,依据生产环境的实际运行数据,反哺指导编译器对程序代码进一步调整编译优化策略,提高分支预准确率