個(gè)人理解這里的規(guī)范化處理指對(duì)提取后的特征集進(jìn)行處理,不是對(duì)原始的數(shù)據(jù)信號(hào)進(jìn)行處理,包括 歸一化 和 標(biāo)準(zhǔn)化。
規(guī)范化的原因: 不同特征具有不同量級(jí)時(shí)會(huì)導(dǎo)致:a.數(shù)量級(jí)的差異將導(dǎo)致量級(jí)較大的特征占據(jù)主導(dǎo)地位;b.數(shù)量級(jí)的差異將導(dǎo)致迭代收斂速度減慢;c.依賴于樣本距離的算法對(duì)于數(shù)據(jù)的數(shù)量級(jí)非常敏感。
歸一化:
,也就是原數(shù)據(jù)減去該特征列最小值,再除以該特征列的極差,將屬性縮放到[0,1]之間。
標(biāo)準(zhǔn)化:
,也就是原數(shù)據(jù)減去該特征列的均值,再除以該特征列的標(biāo)準(zhǔn)差。
注意:
1.所謂規(guī)范化是對(duì)特征列的規(guī)范化,不是對(duì)樣本的特征向量規(guī)范化(如將一個(gè)人身高、年齡、體重等屬性規(guī)范化沒有意義);
2.應(yīng)將訓(xùn)練集和測(cè)試集分開后再規(guī)范化處理,測(cè)試集使用的是訓(xùn)練集保留下的參數(shù)(歸一化的max、min,標(biāo)準(zhǔn)化的mean、std),也就是訓(xùn)練集規(guī)范化時(shí)使用自己的最大值最小值、均值方差,測(cè)試集規(guī)范化計(jì)算時(shí)仍使用訓(xùn)練集的最大值最小值、均值方差。
【例】
訓(xùn)練集兩個(gè)樣本,含三個(gè)特征,
,測(cè)試集也是兩個(gè)樣本,三個(gè)特征,
。
歸一化: 由訓(xùn)練集得到參數(shù) min=(1,2,3),max=(2,3,4),則
?訓(xùn)練集第一維特征的第一個(gè)數(shù)據(jù)1的計(jì)算為
,測(cè)試集第二維特征的第一個(gè)數(shù)據(jù)1的計(jì)算為
.
標(biāo)準(zhǔn)化: 由訓(xùn)練集得到參數(shù) mean=(3/2, 5/2, 7/2), std=(1/2, 1/2, 1/2),則
訓(xùn)練集第一維特征的第一個(gè)數(shù)據(jù)1的計(jì)算為
,測(cè)試集第二維特征的第一個(gè)數(shù)據(jù)1的計(jì)算為
.
?
python實(shí)現(xiàn):
可由 sklearn.preprocessing.MinMaxScaler 和 sklearn.preprocessing.StandardScaler 實(shí)現(xiàn),訓(xùn)練集使用函數(shù) fit_transform(),測(cè)試集使用函數(shù)?transform()。示例如下:
import numpy as np
from sklearn.preprocessing import MinMaxScaler #歸一化:最值
from sklearn.preprocessing import StandardScaler #標(biāo)準(zhǔn)化:均值方差
#訓(xùn)練集,兩行三列,兩個(gè)樣本、三個(gè)特征
x_train = np.array([[1.0,2.0,3.0],
[2.0,3.0,4.0]])
#測(cè)試集,兩行三列,兩個(gè)樣本、三個(gè)特征
x_test = np.array([[1.0,1.0,1.0],
[2.0,2.0,2.0]])
# 特征縮放:歸一化
mms = MinMaxScaler()
x_train_norm = mms.fit_transform(x_train)
x_test_norm = mms.transform(x_test)
print('\n歸一化:\n')
print('x_train_norm:\n',x_train_norm)
print('\nx_test_norm:\n',x_test_norm, "\n")
# 特征縮放:標(biāo)準(zhǔn)化
stdsc = StandardScaler()
x_train_std = stdsc.fit_transform(x_train)
x_test_std = stdsc.transform(x_test)
print('\n標(biāo)準(zhǔn)化:\n')
print('x_train_std:\n',x_train_std)
print('x_test_std:\n',x_test_std)
運(yùn)行結(jié)果:
參考
1.https://blog.csdn.net/zwqjoy/article/details/81182102
2.https://www.cnblogs.com/dearL/p/9532288.html
3.https://blog.csdn.net/anecdotegyb/article/details/74857055
4.https://www.cnblogs.com/dan-baishucaizi/p/9107858.html
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
