机器学习模型必不可少的5种数据预处理技术

作者: 不靠谱的猫 2020-04-29 16:49:33

机器学习模型必不可少的5种数据预处理技术

如果您曾经参与过数据科学项目,那么您可能会意识到数据挖掘的第一步和主要步骤是数据预处理。在现实生活问题中,我们得到的原始数据往往非常混乱,机器学习模型无法识别模式并从中提取信息。

1.处理空值:

空值是数据中任何行或列中缺失的值。空值出现的原因可能是没有记录或数据损坏。在python中,它们被标记为“Nan”。您可以通过运行以下代码来检查它

  1. data.isnull().sum() 

我们可以用该列的平均值或该列中最频繁出现的项来填充这些空值。或者我们可以用-999这样的随机值替换Nan。我们可以使用panda库中的fillna()函数来填充Nan的值。如果一列有大量的空值(假设超过50%),那么将该列从dataframe中删除会更好。您还可以使用来自同一列中不为空的k近邻的值来填充空值。Sklearn的KNNImputer()可以帮助您完成这项任务。

2. 处理离群值:

离群值是与数据中的其他值保持一定距离的数据点。我们可以使用可视化工具(例如Boxplots)来检测离群值:

机器学习模型必不可少的5种数据预处理技术

通过绘制两个特征向量之间的散点图:

机器学习模型必不可少的5种数据预处理技术

散点图中的离群值

如果您了解数据背后的科学事实(例如这些数据点必须位于的范围),则可以将离群值排除在外。例如,如果年龄是您数据的特征,那么您就知道它必须介于0到100之间(或在某些情况下介​​于0到130岁之间)。但是,如果数据中的年龄值有些荒谬,例如300,那么必须将其删除。如果机器学习模型的预测很关键,即微小的变化都很重要,那么您就不应该放弃这些离群值。同样,如果离群值大量存在(例如25%或更多),那么它们很有可能代表有用的东西。在这种情况下,您必须仔细检查离群值。

3. 归一化或数据缩放:

如果您使用的是基于距离的机器学习算法,例如K近邻,线性回归,K均值聚类或神经网络,那么在将数据输入机器学习模型之前,对数据进行归一化是一个好习惯。归一化是指修改数值特征的值以使其达到共同的标度而不改变它们之间的相关性。不同数值特征中的值位于不同的范围内,这可能会降低模型的性能,因此归一化可以确保在进行预测时为特征分配适当的权重。一些常用的归一化技术是:

a)Min-Max归一化 -将特征缩放到最小和最大值之间的给定范围。公式为:

X(scaled)=a+ (b-a)(X - Xmin)/(Xmax - Xmin)

其中a是最小值,b是最大值。

b)Z-score归一化 -我们从每个特征中减去均值,然后除以其标准差,以使得到的缩放特征具有零均值和单位方差。公式为:

X(scaled)=(X - mean(X)) /σ

这样,您可以将数据的分布更改为正态分布。

4. 编码分类特征

分类特征是包含离散数据值的特征。如果一个分类特征有字符、单词、符号或日期作为数据值,那么这些数据必须被编码成数字,以便机器学习模型能够理解,因为它们只处理数字数据。有三种方法来编码你的数据:

a)标签编码:在 这种类型的编码中,分类特征中的每个离散值都根据字母顺序分配一个唯一的整数。在下面的示例中,您可以看到为每个水果分配了一个相应的整数标签:

机器学习模型必不可少的5种数据预处理技术

标签编码通常适用于线性模型,如线性回归,Logistic回归以及神经网络。

b)One-hot:在这种编码类型中,分类特征中的每个离散值都分配有唯一的one-hot向量或由1和0组成的二进制向量。在one-hot向量中,仅离散值的索引标记为1,其余所有值标记为0。在下面的示例中,您可以看到为每个水果分配了对应的长度为5的one-hot向量:

机器学习模型必不可少的5种数据预处理技术

one-hot编码通常可与基于树的模型(例如随机森林和梯度提升机)配合使用。

c)均值编码-在 这种类型的编码中,分类特征中的每个离散值都使用相应的均值目标标签进行编码。为了更好地理解,让我们看下面的示例:

机器学习模型必不可少的5种数据预处理技术

我们有三个水果标签['Apple','Banana','Orange']。每个水果标签的平均编码公式如下:

Encoded feature = True targets/Total targets

对于Apple来说,true targets是3,total targets是4,因此Apple的均值编码是3/4 =0.75。类似地,Orange的编码是1/2=0.5,banana的编码是3/3 =1。均值编码是标签编码的扩展版本,由于它考虑了目标标签,因此与之相比更符合逻辑。

5. 离散化:

这也是一种很好的预处理技术,有时可以通过减小数据大小来提高模型的性能。它主要用于数值特征。在离散化中,数字特征分为bin / intervals。每个bin都包含一定范围内的数值。一个bin中的值数量可以相同,也可以不同,然后将每个bin视为分类值。我们可以使用离散化将数值特征转换为分类特征。

这些是实现机器学习模型时可以用来预处理数据的不同方法。希望本文对您有所帮助。

机器学习 人工智能 计算机
上一篇:把WiFi装进大脑里,就可以治好瘫痪?瘫痪的猴子竟然6天正常走路 下一篇:概述:人工智能是如何改变网络安全的?
评论
取消
暂无评论,快去成为第一个评论的人吧

更多资讯推荐

AI安全对抗中,只用一招轻松骗过五种神经网络

图像识别作为人工智能最成熟的应用领域,已经大规模落地并服务于人们的日常生活。但在大规模商业化的同时,也面临更多方面的威胁。

张鑫 ·  1天前
盘点人工智能十大经典应用领域、图解技术原理

本文通过案例分门别类地深入探讨人工智能的实际应用。案例甚多,此处所列举的仅是九牛一毛。本该按行业或业务对这些案例进行分类,但相反我选择按在行业或业务中最可能应用的顺序来分类。

Alex Castrounis ·  1天前
机器学习正在帮助Invisalign的患者呈现完美的微笑

Align Technology的移动应用程序可以帮助Invisalign佩戴者按时完成任务,而机器学习和其他功能则有助于吸引潜在消费者试用这款牙齿矫正设备。

Clint Boulton ·  1天前
详解人工智能十大经典应用领域及其技术原理

本文通过案例分门别类地深入探讨人工智能的实际应用。案例甚多,此处所列举的仅是九牛一毛。本该按行业或业务对这些案例进行分类,但相反我选择按在行业或业务中最可能应用的顺序来分类。

华章科技 ·  1天前
目标驱动系统模式,能否成为实现人工通用智能(AGI)的关键?

组织开发AI方案时采取的一大核心模式,正是目标驱动型系统模式。与其他AI模式一样,这种形式的AI能够解决一系列原本需要人类认知能力才能处理的常见问题。

佚名 ·  1天前
机器学习的中流砥柱:用于模型构建的基础架构工具有哪些?

人工智能(AI)和机器学习(ML)已然“渗透”到了各行各业,企业们期待通过机器学习基础架构平台,以推动人工智能在业务中的利用。

读芯术 ·  2天前
后疫情时代的八大关键技术发展趋势

建立必要的基础架构以支持数字化世界并保持比较新的技术,这对于任何企业或国家在后疫情时代的世界中保持竞争力都至关重要。

Ahmed Banafa ·  2天前
从AI测温到安防机器人 智能安防会是新的“守门神”吗?

说起安防系统,很多人的脑海中会先冒出“监控摄像头”,“电子门禁”等字眼,而随着人工智能的加速发展,传统的安防系统短板也在逐渐暴露,越来越多的新功能开始被需要:人脸识别、车辆检测、夜间识别等等,而我们小时候幻想过的机器人站岗的场景,也正在逐渐变成现实……

王嘉陆 ·  2天前
Copyright©2005-2020 51CTO.COM 版权所有 未经许可 请勿转载