数据的归一化是数据预处理中重要的的一步,很多种办法都能够被称作数据的归一化,例如简略的去除小数位,而更高级归一化技术能力对咱们训练有所帮忙,例如 z-score 归一化。
所以本文总结了 7 种常见的数据标准化 (归一化) 的办法。
- Decimal place normalization
- Data type normalization
- Formatting normalization (date abbreviations, date order, & deliminators)
- Z-Score normalization
- Linear normalization (“Max-Min”)
- Clipping normalization
- Standard Deviation Normalization
Decimal place normalization,小数位归一化
小数位归一化产生在具备数字类型的数据表中。如果你应用过 Excel,你就会晓得这是如何产生的。默认状况下,Excel 会保留小数点后两位数字,也能够设定小数的位数,并在整个表格中进行对立。
Data type normalization,数据类型归一化
另一种常见是对数据类型的归一化。在 Excel 或 SQL 查询数据库中构建数据表时,可能会发现自己查看的数字数据有时被辨认为货币,有时被辨认为文本,有时被辨认为数字,有时被辨认为逗号宰割的字符串。
问题是这些数值数据对公式和各种剖析解决的操作是不一样的。所以就须要将它们对立成雷同的类型。。
Formatting normalization,格局的归一化
最初一个简略的技术是格局的归一化。这对于字符串(文本)是很常见的,并且在印刷和打印上呈现的更多。尽管这些问题不会对剖析产生影响,然而他可能会扩散咱们的注意力和事实的成果,例如斜体、粗体或下划线或者字体与其余的文字显示不一样。
Z-Score normalization
当咱们的数据在多个维度上存在显著的大小差的数值时怎么办?例如,如果一个维度的值从 10 到 100,而另一个维度的值从 100 到 100,000,则很难比拟两者的绝对变动。
对于这个问题,目前最好的解决方案就是归一化。在日常工作中,最常见的归一化类型是 Z-Score。简略来说,Z-Score 将数据按比例缩放, 使之落入一个特定区间。公式如下:
其中 X 是数据值,μ 是数据集的平均值,σ 是标准差。
Linear normalization (“Max-Min”)
线性归一化能够说是更容易且更灵便的归一化技术。它通常被称为“max-min”归一化,它容许剖析人员获取汇合中最大 x 值和最小 x 值之间的差值,并建设一个基数。
这是一个很好的开始策略,实际上,线性归一化能够将数据点归一化为任何基数。下是线性归一化的公式:
假如“x”值为 20,最大数字为 55,最小数字为 5。为了归一化这个数字,让咱们从分母开始,后果为 50 (55-5)。当初用同样的想法计算分子:x – min=15 (20–5)。所以咱们标准化的 x 或 x ‘ 是 15/50 = 0.3。
Clipping normalization,剪裁归一化
裁剪并不齐全是一种归一化技术,他其实是在应用归一化技术之前或之后应用的一个操作。简而言之,裁剪包含为数据集建设最大值和最小值,并将异样值从新限定为这个新的最大值或最小值。
例如有一个由数字 [14, 12, 19, 11, 15, 17, 18, 95] 组成的数据集。数字 95 是一个很大的异样值。咱们能够通过重新分配新的最大值将其从数据中剔除。因为删除 95 后,数据集的范畴是 11-19,因而能够将最大值重新分配为 19。最小值也同理
须要留神的是,裁剪不会从数据集中删除点,它只是从新计算数据中的统计值。
Standard Deviation Normalization,标准差归一化
假如咱们的数据有五行,他们的 ID 为 A、B、C、D 和 E,每行蕴含 n 个不同的变量(列)。咱们在上面的计算中应用记录 E 作为示例。其余行以雷同形式进行标准化。
第 i 列中 E 行的 ei 的归一化值计算如下:
当
如果 E 行的所有值都是雷同的,那么 E 的标准差 (std(E)) 等于 0,那么 E 行的所有值都设为 0。
哪些算法须要归一化
1、波及或隐含间隔计算的算法,比方 K -means、KNN、PCA、SVM 等,个别须要进行归一化
2、梯度降落算法,梯度降落的收敛速度取决于:参数的初始地位到 local minima 的间隔,以及学习率 η 的大小,其实还是间隔的计算
3、采纳 sigmoid 等有饱和区的激活函数,如果输出散布范畴很广,参数初始化时没有适配好,很容易间接陷入饱和区,导致梯度隐没,所以才会呈现各种 BN,LN 等算法
哪些算法不须要归一化
与间隔计算无关的概率模型不须要,比方 Naive Bayes;
与间隔计算无关的基于树的模型,比方决策树、随机森林等,树中节点的抉择只关注以后特色在哪里切分对分类更好,即只在意特色外部的绝对大小,而与特色间的绝对大小无关。然而咱们前几篇文章中说到了,应用 Z -Score 归一化会进步模型的准确率。其实归一化的作用就是由相对变为了绝对,所以能够说归一化对于树型模型不那么重要,是一个可选项或者说能够作为一个超参数在训练时进行抉择。
https://www.overfit.cn/post/767ff89fdb544dc1a20aad896d80859f
作者:Manish