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

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 阿里云是国内知名的云计算、大数据、人工智能技术型公司,是阿里巴巴集团最重要的技术部门。阿里云天池是阿里云面向开发者和教育行业的资源输出部门,天池大赛是国内最大规模的人工智能算法赛事,致力于汇聚全球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 对数转换

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


相关文章
|
1月前
|
机器学习/深度学习 测试技术
阿里云入选Gartner数据科学和机器学习平台挑战者象限
Gartner® 正式发布了《数据科学与机器学习平台魔力象限》报告(Magic Quadrant™ for Data Science and Machine Learning Platforms),阿里云成为唯一一家入选该报告的中国厂商,被评为“挑战者”(Challengers)。
|
17天前
|
机器学习/深度学习 人工智能 自然语言处理
【EMNLP2024】阿里云人工智能平台 PAI 多篇论文入选 EMNLP2024
阿里云人工智能平台 PAI 的多篇论文在 EMNLP2024 上入选。论文成果是阿里云与华南理工大学金连文教授团队、复旦大学王鹏教授团队共同研发。EMNLP 是人工智能自然语言处理领域的顶级国际会议,聚焦于自然语言处理技术在各个应用场景的学术研究,尤其重视自然语言处理的实证研究。该会议曾推动了预训练语言模型、文本挖掘、对话系统、机器翻译等自然语言处理领域的核心创新,在学术和工业界都有巨大的影响力。此次入选标志着阿里云人工智能平台 PAI 在自然语言处理和多模态算法能力方面研究获得了学术界认可。
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
【MM2024】阿里云 PAI 团队图像编辑算法论文入选 MM2024
阿里云人工智能平台 PAI 团队发表的图像编辑算法论文在 MM2024 上正式亮相发表。ACM MM(ACM国际多媒体会议)是国际多媒体领域的顶级会议,旨在为研究人员、工程师和行业专家提供一个交流平台,以展示在多媒体领域的最新研究成果、技术进展和应用案例。其主题涵盖了图像处理、视频分析、音频处理、社交媒体和多媒体系统等广泛领域。此次入选标志着阿里云人工智能平台 PAI 在图像编辑算法方面的研究获得了学术界的充分认可。
【MM2024】阿里云 PAI 团队图像编辑算法论文入选 MM2024
|
1月前
|
机器学习/深度学习 自然语言处理 JavaScript
信息论、机器学习的核心概念:熵、KL散度、JS散度和Renyi散度的深度解析及应用
在信息论、机器学习和统计学领域中,KL散度(Kullback-Leibler散度)是量化概率分布差异的关键概念。本文深入探讨了KL散度及其相关概念,包括Jensen-Shannon散度和Renyi散度。KL散度用于衡量两个概率分布之间的差异,而Jensen-Shannon散度则提供了一种对称的度量方式。Renyi散度通过可调参数α,提供了更灵活的散度度量。这些概念不仅在理论研究中至关重要,在实际应用中也广泛用于数据压缩、变分自编码器、强化学习等领域。通过分析电子商务中的数据漂移实例,展示了这些散度指标在捕捉数据分布变化方面的独特优势,为企业提供了数据驱动的决策支持。
62 2
信息论、机器学习的核心概念:熵、KL散度、JS散度和Renyi散度的深度解析及应用
|
1月前
|
机器学习/深度学习 算法 Python
深度解析机器学习中过拟合与欠拟合现象:理解模型偏差背后的原因及其解决方案,附带Python示例代码助你轻松掌握平衡技巧
【10月更文挑战第10天】机器学习模型旨在从数据中学习规律并预测新数据。训练过程中常遇过拟合和欠拟合问题。过拟合指模型在训练集上表现优异但泛化能力差,欠拟合则指模型未能充分学习数据规律,两者均影响模型效果。解决方法包括正则化、增加训练数据和特征选择等。示例代码展示了如何使用Python和Scikit-learn进行线性回归建模,并观察不同情况下的表现。
277 3
|
1月前
|
机器学习/深度学习 人工智能 算法
揭开深度学习与传统机器学习的神秘面纱:从理论差异到实战代码详解两者间的选择与应用策略全面解析
【10月更文挑战第10天】本文探讨了深度学习与传统机器学习的区别,通过图像识别和语音处理等领域的应用案例,展示了深度学习在自动特征学习和处理大规模数据方面的优势。文中还提供了一个Python代码示例,使用TensorFlow构建多层感知器(MLP)并与Scikit-learn中的逻辑回归模型进行对比,进一步说明了两者的不同特点。
64 2
|
1月前
|
JSON 测试技术 API
阿里云PAI-Stable Diffusion开源代码浅析之(二)我的png info怎么有乱码
阿里云PAI-Stable Diffusion开源代码浅析之(二)我的png info怎么有乱码
|
5天前
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
16 2
|
1月前
|
缓存 Java 程序员
Map - LinkedHashSet&Map源码解析
Map - LinkedHashSet&Map源码解析
67 0
|
1月前
|
算法 Java 容器
Map - HashSet & HashMap 源码解析
Map - HashSet & HashMap 源码解析
52 0

推荐镜像

更多