数据归一化处理和常用标签编码,独热编码

使用机器学习时,会存在不同的特征类型:连续型特征和离散型特征
拿到获取的原始特征,必须对每一特征分别进行归一化,比如,特征A的取值范围是[-1000,1000],特征B的取值范围是[-1,1].如果使用logistic回归,w1x1+w2x2,因为x1的取值太大了,所以x2基本起不了作用。所以,必须进行特征的归一化,每个特征都单独进行归一化。

对于连续性特征:
Rescale bounded continuous features: x = (2x - max - min)/(max - min).
线性放缩到[-1,1]

Standardize all continuous features:x = (x - u)/s.
放缩到均值为0,方差为1


对于离散性特征:
Binarize categorical/discrete features:对于离散的特征基本就是按照one-hot(独热)编码,该离散特征有多少取值,就用多少维来表示该特征。


1.标签编码
LabelEncoder():
将[1,11,111,1111]->[0,1,2,3]

from sklearn.preprocessing import LabelEncoder
s1 = [1,11,111,1111]
le = LabelEncoder()
le.fit(s1)
print(le.transform([111,1111,1,1]))
>>>
[2 3 0 0]

2.独热编码
OneHotEncoder():

from sklearn.preprocessing import OneHotEncoder
ohe = OneHotEncoder()
ohe.fit([[1],[2],[3],[4]])
ohe_r = ohe.transform([[4],[3],[1],[4]]).toarray()
ohe_r
>>>
array([[0., 0., 0., 1.],
       [0., 0., 1., 0.],
       [1., 0., 0., 0.],
       [0., 0., 0., 1.]])
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值