「埃尔法哥哥」机器学习模型必不可少的5种数据预处理技术
【「埃尔法哥哥」机器学习模型必不可少的5种数据预处理技术】
本文插图
如果您曾经参与过数据科学项目 , 那么您可能会意识到数据挖掘的第一步和主要步骤是数据预处理 。 在现实生活问题中 , 我们得到的原始数据往往非常混乱 , 机器学习模型无法识别模式并从中提取信息 。
1.处理空值:
空值是数据中任何行或列中缺失的值 。 空值出现的原因可能是没有记录或数据损坏 。 在python中 , 它们被标记为“Nan” 。 您可以通过运行以下代码来检查它
data.isnull().sum()
我们可以用该列的平均值或该列中最频繁出现的项来填充这些空值 。 或者我们可以用-999这样的随机值替换Nan 。 我们可以使用panda库中的fillna()函数来填充Nan的值 。 如果一列有大量的空值(假设超过50%) , 那么将该列从dataframe中删除会更好 。 您还可以使用来自同一列中不为空的k近邻的值来填充空值 。 Sklearn的KNNImputer()可以帮助您完成这项任务 。
2. 处理离群值:
离群值是与数据中的其他值保持一定距离的数据点 。 我们可以使用可视化工具(例如Boxplots)来检测离群值:
本文插图
通过绘制两个特征向量之间的散点图:
本文插图
散点图中的离群值
如果您了解数据背后的科学事实(例如这些数据点必须位于的范围) , 则可以将离群值排除在外 。 例如 , 如果年龄是您数据的特征 , 那么您就知道它必须介于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)标签编码:在 这种类型的编码中 , 分类特征中的每个离散值都根据字母顺序分配一个唯一的整数 。 在下面的示例中 , 您可以看到为每个水果分配了一个相应的整数标签:
本文插图
推荐阅读
- 「」儿童节就送阿尔法蛋学习手表,安全贴心又能学习
- -悟空哥哥-618年中大促力来袭,iQOO Neo3应该是你不容错过的5G手机
- 埃尔法哥哥面对用户需求与AI技术之间的不平衡,AI产品经理该如何做?
- 埃尔法哥哥谁说机器学习难?它在这朵云上就没有门槛
- 埃尔法哥哥Python基础语法之“数据应用”
- 埃尔法哥哥Bionumerics软件的多位点VNTR分析
- 埃尔法哥哥一个例子就能读懂大数据,原来数据分析能在这些行业里使用
- 埃尔法哥哥C++程序员的职业生涯规划
- 埃尔法哥哥MAML-Tracker:用目标检测思路做目标跟踪?小样本即可得高准确率丨CVPR 2020
- 埃尔法哥哥数据规范之代码表
