在开始讨论数据预处理之前,我想和大家分享一下如何更深入地学习。毕竟,学习效率的高低决定了我们在短时间内能达到的高度。

我有一个非常喜欢的学习思考方式,叫做“是什么——为什么——怎么做”。这三个步骤如同魔法咒语般,贯穿在我整个学习过程中。下面,我将简要介绍我是如何通过这三个步骤完成学习的。

  • 第一步:是什么

    首先,我们需要搞清楚要学习的内容是什么,就像第一次约会时,至少得知道对方的名字吧。了解基本概念和定义是关键。例如,什么是数据预处理?根据我们从百度查到的知识(数据预处理是指在进行数据分析和建模前,对原始数据进行清洗、转换、集成、规范化等一系列处理过程),我们可以了解到数据预处理到底是干什么的。

  • 第二步:为什么

    在理解一个知识点的概念,我们知道它不仅存在,更需要了解它的重要性。就如同第一步所做的,我们了解了数据预处理什么,但是我们为什么要做数据预处理呢?好的,通过继续查阅资料得到了这么一句话,数据预处理旨在减少数据分析和建模过程中的错误和偏差,提高数据的质量和可靠性。

  • 第三步:怎么做

    了解了一个知识点存在的必要性,我们就应当使用该知识点应用到实处,让该知识点彻底服务于我们,而不是单单存在书籍中。我们知道了数据预处理的概念和它存在的必要性,现在就让它服务于我们,怎么服务呢?通过查阅资料,数据预处理的步骤有

    1. 数据清洗:处理缺失数据、异常值和重复数据。
    2. 数据转换:将数据转换为适合分析的格式。
    3. 数据集成:将来自不同来源的数据整合到一个统一的数据集。
    4. 数据规范化:调整数据范围或分布,使其更适合模型的训练。

通过这些步骤,我们可以将原始数据转变为高质量、可靠的数据集,为后续的数据分析和建模打下坚实的基础。

在此过程中遇到任何新的陌生知识点都可以通过这种思维方式去思考解决。

总结一下,学习是一场长跑,而不是短跑。用“是什么——为什么——怎么做”这样的思考方式,可以帮助我们在学习的过程中更加高效,少走弯路。希望大家都能找到适合自己的学习方法,在知识的海洋中遨游得更加自在愉快。

缺失值分析和处理

在数据预处理这里,概念我将不再重复介绍,现在直接进入到我们的正题。

我们现在假定一个场景,你是一名竞赛老师,有400名同学参加了数学竞赛模拟考试,当你的助手在批改试卷时,发现他的猫咪不小心将他电脑旁的水杯打翻了,水进入到了电脑键盘里,导致电脑故障。好在你的助手保存得及时,保留了大多数同学的竞赛信息。当你收到这份数据的时候,这份数据大约是这样的:

缺失值类型

一个天然的数据集,很少能直接拿来应用。其中一个比较大的特点就是数据集中存在缺失值。根据D.Rubin在2002年于《Statistical Analysis with Missing Data》书籍中,可以将缺失类型分为三类,MCAR(Missing Completely At Random)、MAR(Missing At Random)、MNAR(Missing Not At Random)。

  • MCAR(Missing Completely At Random),完全随机缺失。MCAR是指缺失数据的发生是完全随机的,与任何观测变量和未观测变量都无关。换句话说,数据缺失的概率不依赖于数据集中的任何其他信息。
  • MAR(Missing At Random),随机缺失。MAR是指缺失数据的发生与某些观测变量有关,但与未观测变量无关。这意味着缺失的模式可以通过已观测到的数据来解释。
  • MNAR(Missing Not At Random),非随机缺失。MNAR是指缺失数据的发生与未观测变量有关,即缺失的概率直接依赖于数据本身或其他未观测变量。这种情况下,缺失模式不能通过观测数据来解释。

缺失值处理

简单处理

  • 删除处理

    删除处理是最简单的处理方法