python array按行归一化_机器学习 第40集:特征不归一化有什么危害?特征归一化公式是什么?( 含有笔记、代码、注释 )...

特征不归一化有什么危害?特征归一化公式是什么?

① 例如,我用一个人身高(cm)与脚码(尺码)大小来作为特征值,类别为男性或者女性。我们现在如果有5个训练样本,分布如下:

A [(179,42),男] B [(178,43),男] C [(165,36)女] D [(177,42),男] E [(160,35),女]

② 很容易看到第一维身高特征是第二维脚码特征的4倍左右,那么在进行距离度量的时候,我们就会偏向于第一维特征。

注:这样造成俩个特征并不是等价重要的,最终可能会导致距离计算错误,从而导致预测错误。

注:例如,来了一个测试样本 F(167,43),来预测他是男性还是女性,我们采取k=3来预测。

注:下面是用欧式距离分别算出F离训练样本的欧式距离,选取最近的3个,多数类别就是我们最终的结果,计算如下:

v2-07d94c435dc95d66091768d56499f363_b.png

注:由计算可得,最近的前三个分别是C,D,E三个样本,那么由C,E为女性,D为男性,女性多于男性得到我们要预测的结果为女性。

注:这样问题就来了,一个女性的脚43码的可能性,远远小于男性脚43码的可能性。

注:算法会预测 F 为女性是因为由于各个特征量纲的不同,在这里导致了身高的重要性已经远远大于脚码了,这是不客观的。

注:我们应该让每个特征都是同等重要的,这也是我们要归一化的原因!

特征归一化公式是什么?

① 特征归一化公式如下:

v2-29ca8ef656be738701cb731fa19283cf_b.jpg

Python基础积累(numpy)

numpy创建矩阵

import 

运行结果:

[ 2 23 4]
int32

a 

运行结果:

[[2 3 4]
[3 4 5]]

注:生成2行3列的矩阵。

a 

运行结果:

[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]

注:生成3行4列的全零矩阵。

a 

运行结果:

[[1 1 1 1]
[1 1 1 1]
[1 1 1 1]]

注:创建全一数据,同时指定数据类型,http://np.int默认为int32。

a 

运行结果:

[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]

注:创建全空数组,其实每个值都是接近于零的数。

a 

运行结果:

[10 12 14 16 18 20]

注:创建连续数组,数据为10-20之间,步长为2。

b 

运行结果:

[[10 12 14]
[16 18 20]]

注:使用reshape改变上述数据的形状。

a 

运行结果:

[ 1. 1.47368421 1.94736842 2.42105263 2.89473684 3.36842105
3.84210526 4.31578947 4.78947368 5.26315789 5.73684211 6.21052632
6.68421053 7.15789474 7.63157895 8.10526316 8.57894737 9.05263158
9.52631579 10. ]
[[ 1. 1.47368421 1.94736842 2.42105263]
[ 2.89473684 3.36842105 3.84210526 4.31578947]
[ 4.78947368 5.26315789 5.73684211 6.21052632]
[ 6.68421053 7.15789474 7.63157895 8.10526316]
[ 8.57894737 9.05263158 9.52631579 10. ]]

注:linspace(1,10,20) 开始端1,结束端10,且分割成20个数据,生成线性矩阵。

注:reshape使得线性矩阵改为五行四列的矩阵。

"♥每天积累一点点♥"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值