阿里云天池大赛赛题解析——机器学习篇-赛题一(4)

简介: 阿里云是国内知名的云计算、大数据、人工智能技术型公司,是阿里巴巴集团最重要的技术部门。阿里云天池是阿里云面向开发者和教育行业的资源输出部门,天池大赛是国内最大规模的人工智能算法赛事,致力于汇聚全球AI精英为企业解决真实问题。自2014年至今已举办数十次行业顶级算法赛事,全球参赛开发者超过30万人。然而对于更广大的普通开发者和大学生群体来说,高规格的算法大赛仍然具有很高的门槛。本书就是针对受众最广泛的新手人群而编写的,精选阿里巴巴最典型的人工智能算法应用案例,邀请天池大赛最顶级的获奖选手联合编撰,公开那些鲜为人知的技术秘籍,力图使每一个涉足数据智能算法技术的开发者从中获益......

2.1.3 缺失值处理

1. 缺失值的产生原因和分类

      缺失值的产生原因多种多样,主要分为机械原因和人为原因。机械原因是由机械导致的数据缺失,比如数据存储的失败、存储器损坏、机械故障导致某段时间的数据未能收集(对于定时数据采集而言)。人为原因是由人的主观失误、历史局限或有意隐瞒造成的数据缺失。比如,在市场调查中被访人拒绝透露相关问题的答案,或者回答的问题是无效的,或者数据录入人员漏录了数据。

      从缺失的分布来看,缺失值主要分为以下四类:

  • 完全随机丢失:即对于所有的观察结果,丢失的概率是相同的。例如,在数据收集过程中,受访者想在抛出一个硬币之后,再决定是否宣布他们的收入。如果硬币为正面,受访者则宣布自己的收入,反之则不宣布。这里的每个观察值都具有相同的缺失机会。
  • 随机丢失:即变量的值随机丢失并且丢失的概率会因其他输入变量的值或级别不同而变化。例如,在收集年龄信息时,女性年龄数据的缺失率要高于男性的。
  • 不可预测因子导致的缺失:即数据不是随机缺失,而是受一切潜在因子的影响。例如,在医学研究中,如果一个特定的诊断会导致病人不适,那么这项研究就很有可能被抛弃。这个缺失值并不是随机发生的,而是依赖于“不适”这一潜在的因子。
  • 取决于自身的缺失:即发生缺失的概率受缺失值本身的影响。例如,收入特别高和特别低的人不愿意提供自己的收入数据。

2. 缺失值的处理方法

      (1)删除。删除缺失值有两种方法:成列删除(List Wise Deletion)和成对删除(Pair Wise Deletion)。两者对比如表1-2-4 所示:

表1-2-4

1.jpg

      在如图1-2-5 所示的数据集中存在一些缺失值(对应为空格或“.”),并分别采用上述两种方法进行了处理。

2.jpg

图1-2-5 用两种方法删除缺失值

说明:当缺失数据的性质为“完全随机丢失”时,删除缺失值可能会让模型的输出产生偏离。

      (2)平均值、众数、中值填充。其首先是利用从有效数据集中识别出的关系来评估缺失值,然后用计算的该变量所有已知值的平均值或中值(定量属性)或众数(定性属性)来替换给定属性的缺失值,此方法也是最常用的方法。具体操作为一般填充和相似样本填充。

      一般填充是用该变量下所有非缺失值的平均值或中值来补全缺失值。

      相似样本填充是利用具有相似特征的样本的值或者近似值进行填充。

      (3)预测模型填充。即通过建立预测模型来填补缺失值。在这种情况下,会把数据集分为两份:一份是没有缺失值的,用作训练集;另一份是有缺失值的,用作测试集。这样,缺失的变量就是预测目标,此时可以使用回归、分类等方法来完成填充。

      当然,这种方法也有不足之处。首先,预测出来的值往往更加“规范”;其次,如果变量之间不存在关系,则得到的缺失值会不准确。

2.1.4 异常值处理

      通常将远远偏离整个样本总体的观测值称为异常值。

1. 异常值的产生原因和影响

      异常值可能是由数据输入误差、测量误差、实验误差、有意造成异常值、数据处理误差、采样误差等因素造成的。

  • 数据输入误差:是指在数据收集、输入过程中,人为错误产生的误差。例如,客户的年收入是10 万美元,如果数据录入人员多加了一个0,则年收入变为100 万美元,是原来的10 倍。显然,这个样本与其他的样本相比是异常值。
  • 测量误差:这是异常值最常见的来源。例如,有10 台称重机,其中9 台是正常的,1台是有故障的,那么这台有故障的机器测量的值就是异常值。
  • 实验误差:实验误差也会导致出现异常值。
  • 有意造成异常值:这通常发生在一些涉及敏感数据的报告中。例如,当要求青少年报告消费的酒精量时,他们可能会上报比真实数据小的值。
  • 数据处理误差:在操作或数据提取的过程中造成的误差。
  • 采样误差:例如,我们要测量运动员的身高,而样本中包括几名很高的篮球运动员,这种就可能会导致数据集中出现异常值。

      异常值对模型和预测分析的影响主要有增加错误方差,降低模型的拟合能力;异常值的非随机分布会降低正态性;与真实值可能存在偏差;影响回归、方差分析等统计模型的基本假设。

      举一个简单的例子说明:

      对比表1-2-5 中的两组数据可以发现,有异常值的数据集具有显著的平均值和标准差。在无异常值的情况下,数据集的平均值是5.45,标准差是0.99。在加入一个异常值后,数据集的平均值上升为30,标准差则升至81.41,这将彻底改变估计。

表1-2-5

3.jpg

2. 异常值的检测

      一般可以采用可视化方法进行异常值的检测,常用工具包括箱线图、直方图、散点图等。

      如图1-2-6 所示,箱线图是一种很好的可视化工具,常用于可视化基本的统计数据,如异常值、最小值、最大值、四分位数等。

4.jpg

图1-2-6 箱线图

      利用箱线图检测异常值的原则如下:

      不在-1.5*IQR和1.5*IQR之间的样本点认为是异常值,如图1-2-7 所示。

      使用封顶方法可以认为在第5 和第95 百分位数范围之外的任何值都是异常值。

      距离平均值为三倍标准差或更大的数据点可以被认为是异常值。

      下面举例进一步说明异常值的检测。例如,一组客户的年收入是80 万美元,但是其中两个客户的年收入分别为400 万美元和420 万美元,如图1-2-8 所示。由于这两个客户的年收入远远偏离其他人的,因此这两个样本被视为异常值。

5.jpg

图1-2-7 箱线图中的IQR

6.jpg

图1-2-8 异常值检测举例

说明:由于异常值只是对有影响的特殊数据点进行检测,因此它的选择也取决于对业务的理解。

      再举一个例子,现在有一组身高和体重的数据,对其绘制箱线图和散点图,如图1-2-9所示。

7.jpg

图1-2-9 箱线图与散点图示意

      首先通过箱线图观察单变量的分布,没有找到任何异常值。然后通过散点图看双变量分布,可以看到有两个样本的值在【身高,体重】组合的平均值以下。

3. 异常值的处理方法

      对异常值一般采用删除、转换、填充、区别对待等方法进行处理。

  • 删除:如果是由输入误差、数据处理误差引起的异常值,或者异常值很小,则可以直接将其删除。
  • 转换:数据转换可以消除异常值,如对数据取对数会减轻由极值引起的变化。

      例如,图1-2-10 所示即为取对数前后的数据分布直方图,可以看到转换后的数据分布更加均匀,没有明显的异常值。

8.jpg

图1-2-10 对数转换

  • 填充:像处理缺失值一样,我们可以对异常值进行修改,如使用平均值、中值或其他的一些填补方法。在填补之前,需要分析异常值是自然形成的,还是人为造成的。如果是人为造成的,则可以进行填充处理,如使用预测模型填充。
  • 区别对待:如果存在大量的异常值,则应该在统计模型中区别对待。其中一个方法是将数据分为两个不同的组,异常值归为一组,非异常值归为一组,且两组分别建立模型,然后最终将两组的输出合并。


相关文章
|
存储 缓存 网络协议
阿里云特惠云服务器99元与199元配置与性能和适用场景解析:高性价比之选
2025年,阿里云长效特惠活动继续推出两款极具吸引力的特惠云服务器套餐:99元1年的经济型e实例2核2G云服务器和199元1年的通用算力型u1实例2核4G云服务器。这两款云服务器不仅价格亲民,而且性能稳定可靠,为入门级用户和普通企业级用户提供了理想的选择。本文将对这两款云服务器进行深度剖析,包括配置介绍、实例规格、使用场景、性能表现以及购买策略等方面,帮助用户更好地了解这两款云服务器,以供参考和选择。
|
10月前
|
存储 域名解析 弹性计算
阿里云上云流程参考:云服务器+域名+备案+域名解析绑定,全流程图文详解
对于初次通过阿里云完成上云的企业和个人用户来说,很多用户不仅是需要选购云服务器,同时还需要注册域名以及完成备案和域名的解析相关流程,从而实现网站的上线。本文将以上云操作流程为核心,结合阿里云的活动政策与用户系统梳理云服务器选购、域名注册、备案申请及域名绑定四大关键环节,以供用户完成线上业务部署做出参考。
|
PyTorch 调度 算法框架/工具
阿里云PAI-DLC任务Pytorch launch_agent Socket Timeout问题源码分析
DLC任务Pytorch launch_agent Socket Timeout问题源码分析与解决方案
702 18
阿里云PAI-DLC任务Pytorch launch_agent Socket Timeout问题源码分析
|
运维 API 开发工具
【阿里云】操作系统控制台操作体验与性能评测全解析
操作系统控制台是现代云计算环境中进行系统管理和运维的重要工具,提供系统概览、诊断、观测、管理等功能,支持API、SDK、CLI等管理方式。通过创建角色、系统配置和组件安装等操作,用户可以高效管理云端资源,提升操作系统的使用效率和稳定性。尤其适合需要高效管理操作系统的用户及学习云计算、网络管理的学生。建议增强自定义功能、优化性能报告和完善文档支持,以进一步提升用户体验。
491 21
【阿里云】操作系统控制台操作体验与性能评测全解析
|
机器学习/深度学习 人工智能 自然语言处理
阿里云人工智能平台 PAI 开源 EasyDistill 框架助力大语言模型轻松瘦身
本文介绍了阿里云人工智能平台 PAI 推出的开源工具包 EasyDistill。随着大语言模型的复杂性和规模增长,它们面临计算需求和训练成本的障碍。知识蒸馏旨在不显著降低性能的前提下,将大模型转化为更小、更高效的版本以降低训练和推理成本。EasyDistill 框架简化了知识蒸馏过程,其具备多种功能模块,包括数据合成、基础和进阶蒸馏训练。通过数据合成,丰富训练集的多样性;基础和进阶蒸馏训练则涵盖黑盒和白盒知识转移策略、强化学习及偏好优化,从而提升小模型的性能。
|
缓存 并行计算 测试技术
阿里云PAI-全模态模型Qwen2.5-Omni-7B推理浅试
阿里云PAI-全模态模型Qwen2.5-Omni-7B推理浅试
3119 12
|
机器学习/深度学习 人工智能 自然语言处理
云上一键部署通义千问 QwQ-32B 模型,阿里云 PAI 最佳实践
3月6日阿里云发布并开源了全新推理模型通义千问 QwQ-32B,在一系列权威基准测试中,千问QwQ-32B模型表现异常出色,几乎完全超越了OpenAI-o1-mini,性能比肩Deepseek-R1,且部署成本大幅降低。并集成了与智能体 Agent 相关的能力,够在使用工具的同时进行批判性思考,并根据环境反馈调整推理过程。阿里云人工智能平台 PAI-Model Gallery 现已经支持一键部署 QwQ-32B,本实践带您部署体验专属 QwQ-32B模型服务。
|
机器学习/深度学习 人工智能 Java
Java机器学习实战:基于DJL框架的手写数字识别全解析
在人工智能蓬勃发展的今天,Python凭借丰富的生态库(如TensorFlow、PyTorch)成为AI开发的首选语言。但Java作为企业级应用的基石,其在生产环境部署、性能优化和工程化方面的优势不容忽视。DJL(Deep Java Library)的出现完美填补了Java在深度学习领域的空白,它提供了一套统一的API,允许开发者无缝对接主流深度学习框架,将AI模型高效部署到Java生态中。本文将通过手写数字识别的完整流程,深入解析DJL框架的核心机制与应用实践。
1000 3
|
缓存 边缘计算 安全
阿里云CDN:全球加速网络的实践创新与价值解析
在数字化浪潮下,用户体验成为企业竞争力的核心。阿里云CDN凭借技术创新与全球化布局,提供高效稳定的加速解决方案。其三层优化体系(智能调度、缓存策略、安全防护)确保低延迟和高命中率,覆盖2800+全球节点,支持电商、教育、游戏等行业,帮助企业节省带宽成本,提升加载速度和安全性。未来,阿里云CDN将继续引领内容分发的行业标准。
846 7

热门文章

最新文章

推荐镜像

更多
  • DNS