特征降維
當(dāng)特征選擇完成后父阻,可能由于特征矩陣過(guò)大杜窄,導(dǎo)致計(jì)算量大,訓(xùn)練時(shí)間長(zhǎng)的問(wèn)題蚌本,因此降低特征矩陣維度也是必不可少的盔粹。常見(jiàn)的降維方法有主成分分析法(PCA)和線性判別分析(LDA)。PCA和LDA的區(qū)別是:PCA是為了讓降維后的樣本具有最大的發(fā)散性魂毁;而LDA是為了讓降維后的樣本有最好的分類(lèi)性能力玻佩。
主成分分析法(PCA)
PCA計(jì)算步驟
- 對(duì)數(shù)據(jù)進(jìn)行歸一化處理(代碼中并非這么做的,而是直接減去均值)
- 計(jì)算歸一化后的數(shù)據(jù)集的協(xié)方差矩陣
- 計(jì)算協(xié)方差矩陣的特征值和特征向量
- 保留最重要的k個(gè)特征(通常k<n)席楚,可以自己制定咬崔,也可以選擇個(gè)閾值,然后通過(guò)前k個(gè)特征值之和減去后面n-k個(gè)特征值之和大于這個(gè)閾值烦秩,找到這個(gè)k
- 找出k個(gè)特征值對(duì)應(yīng)的特征向量
- 將m ?? n的數(shù)據(jù)集乘以k個(gè)n維的特征向量的特征向量(n ?? k),得到最后降維的數(shù)據(jù)垮斯。
sklearn代碼
不要擔(dān)心PCA計(jì)算方法,sklearn已經(jīng)將上述步驟封裝好了只祠,代碼如下:
from sklearn.decomposition import PCA
#參數(shù)n_components為主成分?jǐn)?shù)目,即上訴的k
#X 特征矩陣
PCA(n_components=12).fit_transform(X)
線性判別分析(LDA)
LDA概述
LDA的原理是兜蠕,將帶上標(biāo)簽的數(shù)據(jù)(點(diǎn)),通過(guò)投影的方法抛寝,投影到維度更低的空間中熊杨,使得投影后的點(diǎn)曙旭,會(huì)形成按類(lèi)別區(qū)分,一簇一簇的情況晶府,相同類(lèi)別的點(diǎn)桂躏,將會(huì)在投影后的空間中更接近
sklearn代碼
同樣不要擔(dān)心LDA計(jì)算方法,sklearn已經(jīng)將上述步驟封裝好了川陆,代碼如下:
from sklearn.lda import LDA
#參數(shù)n_components為降維后的維數(shù)
#X 特征矩陣, Y標(biāo)簽矩陣
LDA(n_components=12).fit_transform(X, Y)