阿里云天池大赛赛题解析——机器学习篇-赛题一(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 对数转换

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


相关文章
|
4月前
|
存储 缓存 网络协议
阿里云特惠云服务器99元与199元配置与性能和适用场景解析:高性价比之选
2025年,阿里云长效特惠活动继续推出两款极具吸引力的特惠云服务器套餐:99元1年的经济型e实例2核2G云服务器和199元1年的通用算力型u1实例2核4G云服务器。这两款云服务器不仅价格亲民,而且性能稳定可靠,为入门级用户和普通企业级用户提供了理想的选择。本文将对这两款云服务器进行深度剖析,包括配置介绍、实例规格、使用场景、性能表现以及购买策略等方面,帮助用户更好地了解这两款云服务器,以供参考和选择。
|
5月前
|
机器学习/深度学习 传感器 监控
机器学习:强化学习中的探索策略全解析
在机器学习的广阔领域中,强化学习(Reinforcement Learning, RL)无疑是一个充满魅力的子领域。它通过智能体与环境的交互,学习如何在特定的任务中做出最优决策。然而,在这个过程中,探索(exploration)和利用(exploitation)的平衡成为了智能体成功的关键。本文将深入探讨强化学习中的探索策略,包括其重要性、常用方法以及代码示例来论证这些策略的效果。
|
4月前
|
运维 API 开发工具
【阿里云】操作系统控制台操作体验与性能评测全解析
操作系统控制台是现代云计算环境中进行系统管理和运维的重要工具,提供系统概览、诊断、观测、管理等功能,支持API、SDK、CLI等管理方式。通过创建角色、系统配置和组件安装等操作,用户可以高效管理云端资源,提升操作系统的使用效率和稳定性。尤其适合需要高效管理操作系统的用户及学习云计算、网络管理的学生。建议增强自定义功能、优化性能报告和完善文档支持,以进一步提升用户体验。
148 21
【阿里云】操作系统控制台操作体验与性能评测全解析
|
4月前
|
机器学习/深度学习 人工智能 Java
Java机器学习实战:基于DJL框架的手写数字识别全解析
在人工智能蓬勃发展的今天,Python凭借丰富的生态库(如TensorFlow、PyTorch)成为AI开发的首选语言。但Java作为企业级应用的基石,其在生产环境部署、性能优化和工程化方面的优势不容忽视。DJL(Deep Java Library)的出现完美填补了Java在深度学习领域的空白,它提供了一套统一的API,允许开发者无缝对接主流深度学习框架,将AI模型高效部署到Java生态中。本文将通过手写数字识别的完整流程,深入解析DJL框架的核心机制与应用实践。
213 3
|
4月前
|
缓存 边缘计算 安全
阿里云CDN:全球加速网络的实践创新与价值解析
在数字化浪潮下,用户体验成为企业竞争力的核心。阿里云CDN凭借技术创新与全球化布局,提供高效稳定的加速解决方案。其三层优化体系(智能调度、缓存策略、安全防护)确保低延迟和高命中率,覆盖2800+全球节点,支持电商、教育、游戏等行业,帮助企业节省带宽成本,提升加载速度和安全性。未来,阿里云CDN将继续引领内容分发的行业标准。
267 7
|
5月前
|
云安全 人工智能 安全
阿里云网络安全体系解析:如何构建数字时代的"安全盾牌"
在数字经济时代,阿里云作为亚太地区最大的云服务提供商,构建了行业领先的网络安全体系。本文解析其网络安全架构的三大核心维度:基础架构安全、核心技术防护和安全管理体系。通过技术创新与体系化防御,阿里云为企业数字化转型提供坚实的安全屏障,确保数据安全与业务连续性。案例显示,某金融客户借助阿里云成功拦截3200万次攻击,降低运维成本40%,响应时间缩短至8分钟。未来,阿里云将继续推进自适应安全架构,助力企业提升核心竞争力。
|
5月前
|
存储 弹性计算 人工智能
阿里云发票申请图文教程及常见问题解析
在购买完阿里云服务器或者其他云产品之后,如何申请发票成为了许多用户关注的焦点。尤其是对于初次购买阿里云服务器的用户来说,发票申请流程可能并不熟悉。本文将为大家详细介绍阿里云服务器购买之后如何申请发票,以及申请过程中可能遇到的常见问题,帮助大家轻松完成发票申请。
|
5月前
|
机器学习/深度学习 算法 搜索推荐
机器学习“捷径”:自动特征工程全面解析
​ 在机器学习项目中,特征工程是影响模型性能的关键步骤。它通过从原始数据中提取出更有用的特征,帮助模型更好地捕捉数据中的模式。然而,传统的特征工程过程往往需要大量的领域知识和实验调整,是一项耗时费力的工作。 近年来,自动特征工程(Automated Feature Engineering)技术的兴起,为这一问题提供了新的解决方案。它旨在通过自动化方法从数据中生成和选择最优特征,使得特征工程过程更加高效。本文将详细介绍自动特征工程的基本概念、常用技术、工具,并通过代码示例展示其实际应用。
|
2月前
|
机器学习/深度学习 数据采集 人工智能
20分钟掌握机器学习算法指南
在短短20分钟内,从零开始理解主流机器学习算法的工作原理,掌握算法选择策略,并建立对神经网络的直观认识。本文用通俗易懂的语言和生动的比喻,帮助你告别算法选择的困惑,轻松踏入AI的大门。
140 7
|
8月前
|
机器学习/深度学习 算法 数据挖掘
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构。本文介绍了K-means算法的基本原理,包括初始化、数据点分配与簇中心更新等步骤,以及如何在Python中实现该算法,最后讨论了其优缺点及应用场景。
472 6

热门文章

最新文章

推荐镜像

更多
  • DNS