跳到内容

什么是数据预处理?正确的4个关键步骤

2021年8月6日

数据预处理

现实世界的数据在大多数情况下是不完整的、嘈杂的和不一致的。

随着数据生成的指数增长和异构数据源数量的增加,收集异常或错误数据的概率相当高。

但只有高质量的数据才能产生准确的模型,并最终做出准确的预测。因此,处理尽可能高质量的数据至关重要。这个处理数据的步骤被调用数据预处理,这是数据科学的重要步骤之一,机器学习,以及人工智能。

什么是数据预处理?

数据预处理是将原始数据转换成有用的、可理解的格式的过程。真实世界或原始数据通常具有不一致的格式、人为错误,而且可能不完整。数据预处理解决了这些问题,使数据集更完整、更高效地进行数据分析。

这是一个至关重要的过程,可以影响数据挖掘和机器学习项目的成功。它可以更快地从数据集发现知识,并最终影响机器学习模型的性能。

45%

数据科学家的大部分时间都花在数据准备任务上。

来源:Datanami

换句话说,数据预处理就是将数据转换成计算机可以轻松处理的形式。它使数据分析或可视化变得更容易,并提高了在数据上训练的机器学习算法的准确性和速度。

为什么需要进行数据预处理?

正如您所知,数据库是数据点的集合。数据点也称为观测、数据样本、事件和记录。

每个样品用不同的特征来描述,也称为特征属性.数据预处理对于有效地构建具有这些特性的模型至关重要。

收集数据时可能会出现许多问题。您可能必须聚合来自不同数据源的数据,从而导致不匹配的数据格式,例如integer和float。

提示:使用的自动化能力机器学习软件和那些乏味的任务说再见。

如果您从两个或多个独立数据集聚合数据,则gender字段可能有两个不同的值:man和male。同样地,如果您从10个不同的数据集中聚合数据,那么在其中8个中出现的字段可能在其余两个中丢失。

通过对数据进行预处理,我们使数据更容易解释和使用。这个过程消除了数据中的不一致或重复,否则会对模型的准确性产生负面影响。数据预处理还确保不存在任何由于人为错误或bug而导致的错误或丢失的值。总之,采用数据预处理技术可以使数据库更加完整和准确。

质量数据的特征

对于机器学习算法来说,质量是最重要的训练数据.它们的表现或准确性取决于数据的相关性、代表性和综合程度。

在了解如何预处理数据之前,让我们先看看影响数据质量的一些因素。

  • 准确度:顾名思义,准确意味着信息是正确的。过时的信息、打字错误和冗余会影响数据集的准确性。
  • 一致性:数据应该没有矛盾。不一致的数据可能会对同一个问题给出不同的答案。
  • 完整性:数据集不应该有不完整的字段或缺少空字段。这一特性使数据科学家能够进行准确的分析,因为他们能够获得数据所描述的情况的完整图景。
  • 有效性:如果数据样本以正确的格式出现、在指定的范围内并具有正确的类型,则数据集被认为是有效的。无效的数据集很难组织和分析。
  • 及时性:应该在它所代表的事件发生时立即收集数据。随着时间的推移,每个数据集变得越来越不准确和有用,因为它不能代表当前的现实。因此,数据的时效性和相关性是数据质量的重要特征。

数据预处理的四个阶段

对于机器学习模型来说,数据就是素材。

一个不完整的训练集可能会导致诸如偏见等意想不到的后果,给特定群体带来不公平的优势或劣势。不完整或不一致的数据也会对数据挖掘项目的结果产生负面影响。为了解决这些问题,使用了数据预处理的过程。

数据处理有四个阶段:清理、集成、还原和转换。

1.数据清理

数据清理清理是指通过计算缺失值、去除异常值、纠正不一致的数据点和平滑噪声数据来清理数据集的过程。从本质上讲,数据清理背后的动机是为机器学习模型提供完整和准确的样本。

数据清理中使用的技术是特定于数据科学家的偏好和他们试图解决的问题。以下是在数据清理过程中解决的问题和涉及的技术。

缺失值

丢失数据值的问题是很常见的。它可能发生在数据收集过程中,也可能由于某些特定的数据验证规则。在这种情况下,您需要收集额外的数据样本或查找额外的数据集。

当您连接两个或多个数据集以形成更大的数据集时,也会出现值丢失的问题。如果不是所有的字段都出现在两个数据集中,最好在合并之前删除这些字段。

以下是一些解释丢失数据的方法:

  • 手动填写缺少的值。这可能是一种乏味且耗时的方法,不建议用于大型数据集。
  • 使用标准值来替换丢失的数据值。您可以使用一个全局常量,如“unknown”或“N/ a”来替换丢失的值。虽然这是一种简单的方法,但并非万无一失。
  • 用最可能的值填充缺少的值。要预测可能的值,可以使用如下算法逻辑回归或决策树。
  • 使用集中趋势来替换缺失的值。集中趋势是一个值围绕其平均值、众数或中位数聚集的趋势。

如果数据库中任何行或列的值丢失了50%,最好删除整个行或列,除非可以使用上述任何方法填充值。

嘈杂的数据

大量无意义的数据被调用噪音.更准确地说,它是具有错误属性值的测量变量或数据中的随机方差。噪声包括重复或半重复的数据点,对特定研究过程没有价值的数据段,或不需要的信息字段。

例如,如果你需要预测一个人是否会开车,那么关于他头发颜色、身高或体重的信息就无关紧要了。

离群值可以被视为噪声,尽管有些人认为它是有效的数据点。假设您正在训练一种算法来检测图片中的乌龟。图像数据集可能包含错误标记为乌龟的海龟图像。这可以被认为是噪音。

然而,也有一些乌龟的形象看起来更像乌龟而不是乌龟。这个样本可以被认为是一个异常值,而不一定是噪声。这是因为我们想教算法所有可能的方法来检测乌龟,所以,偏离群体是必要的。

对于数值,可以使用散点图或方框图来识别异常值。

以下是用于解决噪音问题的一些方法:

  • 回归:回归分析可以帮助确定有影响的变量。这将使您能够仅使用基本功能,而不是分析大量数据。线性回归和多元线性回归均可用于平滑数据。
  • 装箱:装箱方法可用于收集已排序的数据。它们通过查看排序值周围的值来平滑排序值。然后将排序后的值划分为“箱”,这意味着将数据排序为大小相同的较小段。分块有不同的技术,包括按分块平均值平滑和按分块中间值平滑。
  • 集群:聚类算法如k-means聚类可以用来对数据进行分组和检测过程中的异常点。

2.数据集成

由于数据是从各种来源收集的,数据集成是数据准备的关键部分。集成可能导致多个不一致和冗余的数据点,最终导致模型精度较低。

以下是一些整合数据的方法:

  • 数据整合:数据被物理地放在一起并存储在一个地方。将所有数据放在一个地方可以提高效率和生产率。这个步骤通常涉及使用数据仓库软件
  • 数据虚拟化:在这种方法中,接口提供了来自多个数据源的统一和实时的数据视图。换句话说,数据可以从单一的角度来看。
  • 数据传输:包括在特定应用程序的帮助下将数据从一个位置复制到另一个位置。这个过程可以是同步的,也可以是异步的,通常是事件驱动的。

3.数据简化

顾名思义,数据简化用于减少数据量,从而降低与数据挖掘或数据分析相关的成本。

它提供了数据集的压缩表示。尽管这一步减少了数据量,但它保持了原始数据的完整性。在处理大数据时,这个数据预处理步骤尤其重要,因为涉及的数据量很大。

以下是一些用于数据缩减的技术。

降维

降维,也称为降维,减少数据集中要素或输入变量的数量。

数据集的特征或输入变量的数量称为其维数。特征的数量越多,可视化训练数据集和创建预测模型就越麻烦。

在某些情况下,这些属性中的大多数是相关的,因此是冗余的;因此,可以使用降维算法来减少随机变量的数量,得到一组主变量。

降维分为两部分:特征选择和特征提取。

特征选择,我们试图找到原始特征集的子集。这允许我们得到一个更小的子集,可以用来建模问题。另一方面,特征提取将高维空间中的数据减少到低维空间,或者换句话说,减少维数的空间。

以下是一些降维的方法:

  • 主成分分析(PCA):一种统计技术,用于从一大组变量中提取一组新的变量。新提取的变量称为主成分。此方法仅适用于具有数值的特征。
  • 高相关滤波器:一种用来发现高度相关的特征并删除它们的技术;否则,一对高度相关的变量会增加数据集的多重共线性。
  • 缺失值比率:此方法删除丢失值超过指定阈值的属性。
  • 低方差滤波器:包括去除方差小于阈值的归一化属性,因为数据中的微小变化会转化为更少的信息。
  • 随机森林:这种技术用于评估数据集中每个特性的重要性,允许我们只保留最重要的特性。

其他降维技术包括因子分析、独立成分分析和线性判别分析(LDA)。

特征子集选择

特征子集选择是选择贡献最大或最重要的特征或属性子集的过程。

假设你试图通过查看相似学生的历史数据来预测一个学生是否会通过考试。您有一个具有四个特征的数据集:卷号、总分、学习时数和课外活动。

在这种情况下,学号不会影响学生的成绩,可以取消。新的子集将只有三个特征,并且将比原来的集合更有效率。

这种数据简化方法有助于创建更快、更经济高效的机器学习模型。属性子集选择也可以在数据转换步骤中执行。

Numerosity减少

Numerosity减少是用较小的数据表示形式替换原始数据的过程。有两种方法可以做到这一点:参数方法和非参数方法。

参数化方法使用模型表示数据。对数线性和回归方法用于创建此类模型。相反非参数方法使用聚类、直方图、数据立方体聚合和数据采样存储精简的数据表示。

4.数据转换

数据转换是将数据从一种格式转换为另一种格式的过程。从本质上讲,它涉及到将数据转换成计算机可以有效学习的适当格式的方法。

例如,速度单位可以是英里每小时、米每秒或公里每小时。因此,数据集可以以不同的单位存储汽车的速度值。在将数据输入算法之前,我们需要将数据转换为相同的单元。

以下是数据转换的一些策略。

平滑

这种统计方法是在算法的帮助下去除数据中的噪声。它有助于突出数据集中最有价值的特性并预测模式。它还涉及到消除数据集中的异常值,以使模式更加可见。

聚合

聚合是指汇集来自多个数据源的数据,并将其以统一的格式表示,以便进行数据挖掘或分析。聚合来自不同来源的数据以增加数据点的数量是至关重要的,因为只有这样ML模型才会有足够的示例来学习。

离散化

离散化涉及将连续数据转换成更小的间隔集。例如,将人们分为“青少年”、“年轻人”、“中年人”或“老年人”等类别比使用连续年龄值更有效。

泛化

泛化涉及将低级数据特征转换为高级数据特征。例如,分类属性(如家庭地址)可以泛化为更高级的定义(如城市或州)。

归一化

归一化是指将所有数据变量转换成特定范围的过程。换句话说,它用于缩放属性的值,使其落在更小的范围内,例如,0到1。十进制缩放、最小-最大归一化和z-score归一化是数据归一化的几种方法。

功能建设

特性构建包括从给定的特性集构建新的特性。这种方法简化了原始数据集,使分析、挖掘或可视化数据变得更容易。

概念层次结构生成

概念层次结构生成允许您在要素之间创建层次结构,尽管未指定。例如,如果您有一个包含街道、城市、州和国家数据的房屋地址数据集,则可以使用此方法以分层形式组织数据。

准确的数据,准确的结果

机器学习算法就像孩子一样。他们几乎不知道什么是有利的,什么是不利的。就像孩子开始重复从成年人那里学到的脏话一样,不准确或不一致的数据很容易影响ML模型。关键是为他们提供高质量、准确的数据,数据预处理是必不可少的一步。

机器学习算法通常被认为是非常努力的。但有一种算法经常被贴上懒惰的标签。它被称为再算法是一种优秀的分类算法。

机器学习
机器学习101

了解更多关于机器学习的知识,机器学习是人工智能的一个分支,它可以周期性地根据经验学习和改进,而无需明确编程。

机器学习
机器学习101

了解更多关于机器学习的知识,机器学习是人工智能的一个分支,它可以周期性地根据经验学习和改进,而无需明确编程。

千万不要错过一个帖子。

订阅,让您的手指紧握科技脉搏。

提交此表格即表示您同意接收G2的营销沟通。