三种特征归一化的方法之SumNormalizer

本文介绍了特征归一化的三种主要方法:总和归一化、zscore归一化及linear归一化,并通过实例详细解释了总和归一化的具体实现过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

特征归一化(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.16666667 2:1.0 3:0.0 4:0.22033899 5:0.5714286

2 qid:2 1:0.33333334 2:0.0 3:0.6 4:0.57344633 5:0.2857143

0 qid:2 1:0.5 2:0.0 3:0.4 4:0.2062147 5:0.14285715


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值