现实世界数据在大多数情况下不完整,嘈杂和不一致。
通过指数越来越多的数据生成和越来越多的异构数据源,收集异常或不正确数据的概率非常高。
但只有高质量的数据可以导致准确的模型,最终,准确的预测。因此,为最佳质量处理数据至关重要。调用处理数据的此步骤数据预处理,它是数据科学中的基本步骤之一,机器学习,以及人工智能。
数据预处理是将原始数据转换为有用,可理解的格式的过程。现实世界或原始数据通常具有不一致的格式,人为错误,也可以是不完整的。数据预处理解决了此类问题,并使数据集更完整,更有效地执行数据分析。
这是一个重要的过程,可能会影响数据挖掘和机器学习项目的成功。它使数据集更快地发现了知识发现,最终可能影响机器学习模型的性能。
换句话说,数据预处理正在将数据转换为计算机可以轻松地工作的形式。它使数据分析或可视化更容易,并提高了在数据上培训的机器学习算法的准确性和速度。
正如您所知,数据库是数据点的集合。数据点也称为观测、数据样本、事件和记录。
使用不同的特征来描述每个样品,也称为特征或属性。数据预处理对于有效构建具有这些功能的模型至关重要。
收集数据时可能会出现许多问题。您可能必须聚合来自不同数据源的数据,从而导致不匹配的数据格式,例如integer和float。
提示:使用的自动化能力机器学习软件和那些乏味的任务说再见。
如果您从两个或多个独立数据集中聚合数据,则性别字段可能对男性和男性有两个不同的值。同样,如果您从十个不同的数据集中聚合数据,则在其余两个中可能缺少其中八个存在的字段。
通过预处理数据,我们更轻松地解释和使用。此过程消除了数据中的不一致或重复,否则可以对模型的准确性产生负面影响。数据预处理还可以确保由于人为错误或错误导致的值并没有任何不正确或缺少的值。简而言之,采用数据预处理技术使数据库更加完整和准确。
对于机器学习算法来说,质量是最重要的培训数据。他们的表现或准确性取决于如何相关,代表和全面数据。
在查看数据的预处理方式之前,让我们来看看有助于数据质量的一些因素。
对于机器学习模型来说,数据就是素材。
一个不完整的训练集可能会导致诸如偏见等意想不到的后果,给特定群体带来不公平的优势或劣势。不完整或不一致的数据也会对数据挖掘项目的结果产生负面影响。为了解决这些问题,使用了数据预处理的过程。
数据处理有四个阶段:清理、集成、还原和转换。
数据清理清理是指通过计算缺失值、去除异常值、纠正不一致的数据点和平滑噪声数据来清理数据集的过程。从本质上讲,数据清理背后的动机是为机器学习模型提供完整和准确的样本。
数据清洁中使用的技术是特定于数据科学家的偏好和他们试图解决的问题。以下是快速查看数据清洁期间解决的问题以及所涉及的技术。
缺少数据值的问题很常见。在数据收集期间或由于某些特定的数据验证规则,可能会发生。在这种情况下,您需要收集其他数据样本或查找其他数据集。
当您连接两个或多个数据集以形成更大的数据集时,也会出现丢失值的问题。如果不是所有字段都存在于两个数据集中,最好在合并之前删除此类字段。
以下是解释缺失数据的某些方法:
如果数据库中任何行或列的值丢失了50%,最好删除整个行或列,除非可以使用上述任何方法填充值。
大量无意义的数据被调用噪音。更确切地说,它是测量变量或具有不正确的属性值的数据的随机方差。噪声包括数据点的重复或半重复,对于特定研究过程或不需要的信息字段的无值的数据片段。
例如,如果您需要预测人类是否可以驱动,有关其头发颜色,高度或重量的信息将是无关紧要的。
离群值可以被视为噪声,尽管有些人认为它是有效的数据点。假设您正在训练一种算法来检测图片中的乌龟。图像数据集可能包含错误标记为乌龟的海龟图像。这可以被认为是噪音。
然而,可以有一个乌龟的形象,看起来更像乌龟而不是乌龟。该样本可以被认为是一个异常值并且不一定是噪声。这是因为我们想教导算法所有可能的方法来检测陆龟,因此,与该组的偏差是必不可少的。
对于数值,可以使用散点图或方框图来识别异常值。
以下是用于解决噪音问题的一些方法:
由于数据是从各种来源收集的,数据集成是数据准备的重要组成部分。集成可能导致几个不一致和冗余的数据点,最终导致具有较差劣刻的模型。
以下是一些整合数据的方法:
顾名思义,数据减少用于减少数据量,从而降低与数据挖掘或数据分析相关的成本。
它提供了数据集的压缩表示。尽管这一步减少了数据量,但它保持了原始数据的完整性。在处理大数据时,这个数据预处理步骤尤其重要,因为涉及的数据量很大。
以下是一些用于数据缩减的技术。
减少维度,也称为降维,减少数据集中要素或输入变量的数量。
数据集的特征或输入变量的数量称为其维度。功能的数量越高,令人生气就越多,可以想象训练数据集并创建预测模型。
在某些情况下,这些属性中的大多数是相关的,因此是冗余的;因此,可以使用降维算法来减少随机变量的数量,得到一组主变量。
降维分为两部分:特征选择和特征提取。
在功能选择,我们尝试找到原始功能集的子集。这允许我们获得一个较小的子集,可用于建模问题。另一方面,特征提取将高维空间中的数据减少到低维空间,或者换句话说,减少维数的空间。
以下是执行维度减少的某种方式:
其他降维技术包括因子分析、独立成分分析和线性判别分析(LDA)。
特征子集选择是选择贡献最大或最重要的特征或属性子集的过程。
假设您正在尝试通过查看类似学生的历史数据来预测学生是否会通过或失败。您有一个具有四个特征的数据集:滚动号码,总标记,学习时间和课外活动。
在这种情况下,卷数不会影响学生的性能,可以消除。新子集将仅具有三个功能,并且比原始集更有效。
这种数据简化方法有助于创建更快、更经济高效的机器学习模型。属性子集选择也可以在数据转换步骤中执行。
减少数量是用较小的数据表示形式替换原始数据的过程。有两种方法可以做到这一点:参数方法和非参数方法。
参数方法使用模型表示数据。对数线性和回归方法用于创建此类模型。相反非参数方法使用聚类、直方图、数据立方体聚合和数据采样存储精简的数据表示。
数据转换是将数据从一种格式转换为另一个格式的过程。从本质上讲,它涉及将数据转换为计算机可以有效地学习的适当格式。
例如,速度单位可以是每小时数英尺,每秒或每小时公里。因此,数据集可以在不同单元中存储汽车速度的值。在将此数据送到算法之前,我们需要将数据转换为同一单元。
以下是数据转换的一些策略。
这种统计方法用于在算法的帮助下去除数据的噪声。它有助于突出数据集中最有价值的功能和预测模式。它还涉及消除数据集中的异常值,以使模式更加可见。
聚合是指汇集来自多个数据源的数据,并将其以统一的格式表示,以便进行数据挖掘或分析。聚合来自不同来源的数据以增加数据点的数量是至关重要的,因为只有这样ML模型才会有足够的示例来学习。
离散化涉及将连续数据转换成更小的间隔集。例如,将人们分为“青少年”、“年轻人”、“中年人”或“老年人”等类别比使用连续年龄值更有效。
概括涉及将低级数据特征转换为高级数据特征。例如,诸如归属地址之类的分类属性可以概括为诸如城市或状态的更高级别定义。
归一化是指将所有数据变量转换为特定范围的过程。换句话说,它用于缩放属性的值,使其落入较小的范围内,例如,0到1.十进制缩放,最小校准化和z评分标准化是一些数据归一化的方法。
功能结构涉及从给定的功能集构建新功能。此方法简化了原始数据集,并更容易分析,矿,或可视化数据。
概念层次结构生成允许您在要素之间创建层次结构,尽管未指定。例如,如果您有一个包含街道、城市、州和国家数据的房屋地址数据集,则可以使用此方法以分层形式组织数据。
机器学习算法就像孩子一样。他们几乎不知道什么是有利的,什么是不利的。就像孩子开始重复从成年人那里学到的脏话一样,不准确或不一致的数据很容易影响ML模型。关键是为他们提供高质量、准确的数据,数据预处理是必不可少的一步。
机器学习算法通常被认为是非常努力的。但有一种算法经常被贴上懒惰的标签。它被称为k最近邻算法是一种优秀的分类算法。
千万不要错过一个帖子。
订阅,让您的手指紧握科技脉搏。