您应该知道的7种
机器学习中的特征工程技术
功能工程是每个机器学习爱好者都听说过的话题。但是这个概念一直困扰着大多数人。
您如何在世界范围内使用特征工程?
为什么我们完全需要工程师功能?
我们知道机器学习算法使用一些输入数据来产生结果。但是很多时候,您所获得的数据可能不足以设计一个好的机器学习模型。这就是功能工程的力量发挥作用的地方。
feature_engineering
特征工程主要有两个目标:
准备适当的输入数据集,与机器学习算法要求兼容
改善机器学习模型的性能
在本文中,我们将快速介绍每种机器学习专业人员都应该知道的7种通用功能工程技术。
特征工程技术清单
归因
处理异常值
装箱
日志转换
一键编码
分组操作
缩放比例
1.归责
丢失值是为机器学习准备数据时可能遇到的最常见问题之一。缺少值的原因可能是人为错误,数据流中断,隐私问题等。无论什么原因,缺少值都会影响机器学习模型的性能。
您可以执行的插补操作包括:
数值插补:与保留相比,插补是更可取的选择,因为它保留了数据大小。但是,您可以根据缺失值来估算重要的内容。我建议首先考虑该列中可能缺少值的默认值
分类插补:使用列中出现的最大值替换缺失值是处理分类列的一个不错的选择
随机样本插补:这包括从数据集中进行随机观察,然后使用该观察来替换NaN值
分配归因结束
以均值+ 3 * std进行插补
2.处理异常值
机器学习算法对异常值的敏感性。
在提到如何处理离群值之前,我想指出,检测离群值的最佳方法是直观地展示数据。所有其他统计方法都容易犯错误,而将异常值可视化则有机会进行高精度的决策。
以标准偏差表示的离群值
如果某个值与平均值的距离大于x *标准差,则可以将其视为离群值
以百分比表示的异常值根据数据范围的百分比。换句话说,如果您的数据范围是0到100,则前5%的值不是96到100之间的值。前5%的值表示此处的值不在数据的第95个百分点之内
通过箱线图识别异常值
3.分箱
合并可以应用于分类数据和数字数据。
分级的主要动机是使模型更健壮并防止过度拟合。但是,这会降低性能。每次装箱时,您都会牺牲信息,并使数据更加规范化。
4.日志转换
对数变换(或对数变换)是特征工程中最常用的数学变换之一。这是使用对数转换的好处:
它有助于处理偏斜的数据,并且在转换后,分布变得更接近正态分布
由于幅度差异的归一化,它还减少了异常值的影响,并且模型变得更加健壮
您将日志转换应用到的数据必须仅具有正值,否则您将收到错误
5.一键编码
一键式编码是机器学习中最常见的编码方法之一。此方法将一列中的值分布到多个标志列,并为其分配0或1。这些二进制值表示分组列和编码列之间的关系。
此方法将您难以理解的分类数据更改为数字格式,并使您可以在不丢失任何信息的情况下对分类数据进行分组。
一种热编码应用于“颜色”列
6.分组操作
使用数据透视表进行分类分组或使用lambda基于聚合函数进行分组。
数值分组
在大多数情况下,数值列使用求和和均值函数进行分组。
7.缩放
在大多数情况下,数据集的数字特征没有特定范围,并且彼此不同。为了获得对称数据集,需要缩放。
归
一化归一化(或最小-最大归一化)在0到1之间的固定范围内缩放所有值。此变换不会更改特征的分布,并且由于减小的标准偏差,离群值的影响会增加。因此,建议在规范化之前处理异常值
标准化
标准化(或z分数标准化)在考虑标准偏差的同时缩放值。如果特征的标准偏差不同,则它们的范围也将彼此不同。这减少了特征中离群值的影响。
归一化公式(最小-最大缩放器)
标准化公式
标准化主要涉及梯度下降(线性回归,KNN等)或ANN中涉及距离以加快收敛速度??的地方,而归一化涉及分类或CNN位置(以缩小像素值)的地方。
题库