点击标题下「小小挖掘机」可快速关注
连续特征离散化可以使模型更加稳健,比如当我们预测用户是否点击某个商品时,一个点击该商品所属类别下次数为100次和一个点击次数为105次的用户可能具有相似的点击行为,有时候特征精度过高也可能是噪声,这也是为什么在LightGBM中,模型采用直方图算法来防止过拟合。 连续特征经常是用户或者事物对应一些行为的统计值,常见的处理方法包括:
这里要特别注意一下归一化和标准化的区别,在平常的使用中,很多同学都容易把这两者的概念混淆,因为两者的英文翻译是一样的(Feature scaling,特征缩放,参考维基百科 Feature scaling - Wikipedia)。但是根据其本意和实际用途(或者称之为公式)来理解是不一样的。
归一化
归一化一般是将数据映射到指定的范围,用于去除不同维度数据的量纲以及量纲单位,最常见的归一化方法有:
1、Min-Max 归一化
Min-Max 归一化是指对原始数据进行线性变换,将值映射到[0,1]之间。Min-Max 归一化的计算公式为: 式中, 为原始数据中的一个数据, 表示原始数据中的最小值, 表示原始数据中的最大 值, 为 Min-Max 归一化后的数据。
2、均值归一化
均值归一化是指通过原始数据中的均值、最大值和最小值来进行数据的标准化。均值归 一化法计算公式为: 式中, 为原始数据中的一个数据, 表示原始数据的均值, 表示原始数据中的最大值, 表示原始数据中的最小值, 为均值归一化后的数据。
3、小数定标归一化
小数定标归一化是指通过移动小数点的位置来进行数据的归一化。小数点移动的位数取决于原始数据中的最大绝对值。小数定标归一化的计算公式为: 式中, 为原始数据中的一个数据, 经过小数定标(Decimal scaling)归一化后的数据, 表示满足条件的最小整数。例如,一组数据为[-309, -10, -43,87,344,970],其中绝对值最大的是 970。使用小数定标归一化,用 1000(即 j=3)除以每个值。这样,-309 被归一化为-0.309,970 被归一化为 0.97。
4、向量归一化
向量归一化是指通过用原始数据中的每个值除以所有数据之和来进行数据的归一化。向量归一化的计算公式为: 式中, 为原始数据中的一个值,分母表示的是原始数据的所有数据之和, 为归一化后的数据。
5、指数归一化
指数转换是指通过对原始数据的值进行相应的指数函数变换来进行数据的标准化。进行指数转换常见的函数方法有 函数、 函数和 函数。
a. 函数
函数对应的标准化计算公式为: 式中, 为原始数据中的一个数据, 表示原始数据中的最大值, 为指数转换后的数据。
b. 函数
函数对应的标准化计算公式为: 式中, 为原始数据中的一个数据, 为自然常数,分母表示的是原始数据中每个数据被 求指数后的和,分子表示的是原始数据中一个数据被 求指数, 为指数转换后的数据。
c. 函数
Sigmoid 函数对应的标准化计算公式为: 式中, 为原始数据中的一个常数, 为自然常数, 为指数转换后的数据。
标准化