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

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
简介: 阿里云是国内知名的云计算、大数据、人工智能技术型公司,是阿里巴巴集团最重要的技术部门。阿里云天池是阿里云面向开发者和教育行业的资源输出部门,天池大赛是国内最大规模的人工智能算法赛事,致力于汇聚全球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月前
|
机器学习/深度学习 数据采集 算法
R语言中的机器学习库:caret与mlr的深度解析
【9月更文挑战第2天】Caret和mlr是R语言中两个非常重要的机器学习库,它们在数据预处理、模型构建、调优和评估等方面提供了丰富的功能。Caret以其易用性和集成性著称,适合初学者和快速原型开发;而mlr则以其全面性和可扩展性见长,适合处理复杂的机器学习项目。在实际应用中,用户可以根据具体需求和项目特点选择合适的库进行开发。无论是学术研究、商业智能还是教育场景,这两个库都能为数据科学家和机器学习爱好者提供强大的支持。
|
3天前
|
机器学习/深度学习 人工智能 自然语言处理
【MM2024】阿里云 PAI 团队图像编辑算法论文入选 MM2024
阿里云人工智能平台 PAI 团队发表的图像编辑算法论文在 MM2024 上正式亮相发表。ACM MM(ACM国际多媒体会议)是国际多媒体领域的顶级会议,旨在为研究人员、工程师和行业专家提供一个交流平台,以展示在多媒体领域的最新研究成果、技术进展和应用案例。其主题涵盖了图像处理、视频分析、音频处理、社交媒体和多媒体系统等广泛领域。此次入选标志着阿里云人工智能平台 PAI 在图像编辑算法方面的研究获得了学术界的充分认可。
【MM2024】阿里云 PAI 团队图像编辑算法论文入选 MM2024
|
3天前
|
机器学习/深度学习 自然语言处理 JavaScript
信息论、机器学习的核心概念:熵、KL散度、JS散度和Renyi散度的深度解析及应用
在信息论、机器学习和统计学领域中,KL散度(Kullback-Leibler散度)是量化概率分布差异的关键概念。本文深入探讨了KL散度及其相关概念,包括Jensen-Shannon散度和Renyi散度。KL散度用于衡量两个概率分布之间的差异,而Jensen-Shannon散度则提供了一种对称的度量方式。Renyi散度通过可调参数α,提供了更灵活的散度度量。这些概念不仅在理论研究中至关重要,在实际应用中也广泛用于数据压缩、变分自编码器、强化学习等领域。通过分析电子商务中的数据漂移实例,展示了这些散度指标在捕捉数据分布变化方面的独特优势,为企业提供了数据驱动的决策支持。
13 2
信息论、机器学习的核心概念:熵、KL散度、JS散度和Renyi散度的深度解析及应用
|
1天前
|
JSON 测试技术 API
阿里云PAI-Stable Diffusion开源代码浅析之(二)我的png info怎么有乱码
阿里云PAI-Stable Diffusion开源代码浅析之(二)我的png info怎么有乱码
|
1月前
|
机器学习/深度学习 数据采集 存储
一文读懂蒙特卡洛算法:从概率模拟到机器学习模型优化的全方位解析
蒙特卡洛方法起源于1945年科学家斯坦尼斯劳·乌拉姆对纸牌游戏中概率问题的思考,与约翰·冯·诺依曼共同奠定了该方法的理论基础。该方法通过模拟大量随机场景来近似复杂问题的解,因命名灵感源自蒙特卡洛赌场。如今,蒙特卡洛方法广泛应用于机器学习领域,尤其在超参数调优、贝叶斯滤波等方面表现出色。通过随机采样超参数空间,蒙特卡洛方法能够高效地找到优质组合,适用于处理高维度、非线性问题。本文通过实例展示了蒙特卡洛方法在估算圆周率π和优化机器学习模型中的应用,并对比了其与网格搜索方法的性能。
203 1
|
2月前
|
图形学 机器学习/深度学习 人工智能
颠覆传统游戏开发,解锁未来娱乐新纪元:深度解析如何运用Unity引擎结合机器学习技术,打造具备自我进化能力的智能游戏角色,彻底改变你的游戏体验——从基础设置到高级应用全面指南
【8月更文挑战第31天】本文探讨了如何在Unity中利用机器学习增强游戏智能。作为领先的游戏开发引擎,Unity通过ML-Agents Toolkit等工具支持AI代理的强化学习训练,使游戏角色能自主学习完成任务。文章提供了一个迷宫游戏示例及其C#脚本,展示了环境观察、动作响应及奖励机制的设计,并介绍了如何设置训练流程。此外,还提到了Unity与其他机器学习框架(如TensorFlow和PyTorch)的集成,以实现更复杂的游戏玩法。通过这些技术,游戏的智能化程度得以显著提升,为玩家带来更丰富的体验。
49 0
|
7天前
|
机器学习/深度学习 算法 决策智能
【机器学习】揭秘深度学习优化算法:加速训练与提升性能
【机器学习】揭秘深度学习优化算法:加速训练与提升性能
|
3天前
|
机器学习/深度学习 算法 Python
探索机器学习中的决策树算法:从理论到实践
【10月更文挑战第5天】本文旨在通过浅显易懂的语言,带领读者了解并实现一个基础的决策树模型。我们将从决策树的基本概念出发,逐步深入其构建过程,包括特征选择、树的生成与剪枝等关键技术点,并以一个简单的例子演示如何用Python代码实现一个决策树分类器。文章不仅注重理论阐述,更侧重于实际操作,以期帮助初学者快速入门并在真实数据上应用这一算法。
|
27天前
|
机器学习/深度学习 算法 TensorFlow
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
交通标志识别系统。本系统使用Python作为主要编程语言,在交通标志图像识别功能实现中,基于TensorFlow搭建卷积神经网络算法模型,通过对收集到的58种常见的交通标志图像作为数据集,进行迭代训练最后得到一个识别精度较高的模型文件,然后保存为本地的h5格式文件。再使用Django开发Web网页端操作界面,实现用户上传一张交通标志图片,识别其名称。
63 6
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
|
8天前
|
机器学习/深度学习 算法
机器学习入门(三):K近邻算法原理 | KNN算法原理
机器学习入门(三):K近邻算法原理 | KNN算法原理

推荐镜像

更多