三种特征归一化的方法之SumNormalizer
来源:互联网 发布:淘宝产品参数 编辑:程序博客网 时间:2024/06/10 18:34
特征归一化(Normalizer):就是将一条记录中各个特征的取值范围固定到【0,1】之间。从而使每一个特征值都在一个范围内。不至于各个特征值之间相差较大的范围。
特征归一化主要有3种方法:
1.总和归一化(sumNormalizer):就是计算所有文档同一个特征值的总和。即每一个特征下标都有一个总和。
2. zscore归一化(ZscoreNormalizer):就是我们大学中学的转为标准正态化。利用均值和方差。
3.linear归一化(LinearNormalizer):就是利用最大值和最小值。
一、SumNormalizer归一化:
1.先简单来说一下这个sumNormalizer的归一化操作的原理:如何将各个特征值化成【0,1】之间的范围之间的数
1.1 一个查询中可能包含多条记录(就是特征向量)。我们将多条记录中相同特征下标的特征值相加。(将多条记录(是同一个查询)中特征下标为【1】的特征值加在一起。)。我们就算出n个(一共有n个特征)数。
1.2 然后将每一个特征值除以对应的下标的总和。我们就会得到一个【0,1】之间的数,将这个值作为新的特征值。
2.说完原理之后,来看一个例子:(假如一共有两个查询,每个查询中有3个特征向量,每一个特征向量包含5个
特征),特征向量如下:
第一个查询1:
2 qid:1 1:3 2:3 3:0 4:7 5:167
2 qid:1 1:3 2:0 3:3 4:5 5:416
0 qid:1 1:3 2:0 3:2 4:7 5:156
第二个查询
2 qid:2 1:1 2:3 3:0 4:156 5:4
2 qid:2 1:2 2:0 3:3 4:406 5:2
0 qid:2 1:3 2:0 3:2 4:146 5:1
2.1 我们先进行1.1的操作,
将同一个查询(查询1)中下标为1(也就是那一列的值)的相加。也就是3+3+3=9。然后将下标为2的相加,也就是3+0+0=3,以此类推:我们可以得到5个值。分别为:9, 3, 5, 19, 739
2.2 我们进行1.2中的操作。
将查询1中每一个特征除以对应的sum和。我们将下标为1(也就是第一列的值)的每一个值除以9。第一个就是3/9=0.33333334。第二个就是3/9=0.33333334。第三个就是3/9=0.33333334。我们在将下标为2(也就是第二列)的每一个值除以3,第一个就是3/3=1,第二个就是0/3=0,第三个就是0/3=0。
以此类推:我们就可以得到新的特征值(这些特征值都在【0,1】的范围之间)
sumNormalizer之后的特征向量值:
第一个查询1:
2 qid:1 1:0.33333334 2:1.0 3:0.0 4:0.36842105 5:0.22598106
2 qid:1 1:0.33333334 2:0.0 3:0.6 4:0.2631579 5:0.5629229
0 qid:1 1:0.33333334 2:0.0 3:0.4 4:0.36842105 5:0.21109608
第二个查询2:
2 qid:2 1:0.166666672:1.0 3:0.04:0.22033899 5:0.5714286
2 qid:2 1:0.333333342:0.0 3:0.64:0.57344633 5:0.2857143
0 qid:2 1:0.52:0.0 3:0.44:0.2062147 5:0.14285715
- 三种特征归一化的方法之SumNormalizer
- 特征归一化方法
- Matlab三种归一化方法
- Matlab三种归一化方法
- 在MATLAB中的三种归一化方法
- 数据归一化和两种常用的归一化方法
- 数据归一化和两种常用的归一化方法
- 数据归一化和两种常用的归一化方法
- 数据归一化和两种常用的归一化方法
- 数据归一化和两种常用的归一化方法
- 数据归一化和两种常用的归一化方法
- 数据归一化和两种常用的归一化方法
- 数据归一化和两种常用的归一化方法
- 数据归一化和两种常用的归一化方法
- 数据归一化和两种常用的归一化方法
- 数据归一化和两种常用的归一化方法
- 据归一化和两种常用的归一化方法
- 数据归一化和两种常用的归一化方法
- Android Studio 开发中遇到的bug
- 谷歌开源TensorFlow Object Detection API物体识别系统
- servlet中的Filter过滤器
- Unicode和UTF-8的区别
- 数字签名算法的实现
- 三种特征归一化的方法之SumNormalizer
- C++字符串流操作
- 日志库EasyLogging++学习系列(9)—— 性能跟踪功能
- jquery 不区分元素根据name获取对象
- php代码标识
- C++编译器多态实现原理
- java弱引用软引用
- springmvc+maven+cxf
- web.xml详细解读