python實現PCA演算法,參考機器學習實戰

2021-09-12 00:08:52 字數 747 閱讀 6527

def

pca(datamat, topnfeat=

9999999):

meanvals = mean(datamat, axis=0)

#求每一維特徵的平均值

meanremoved = datamat - meanvals #中心化

covmat = cov(meanremoved, rowvar=0)

#求特徵間的協方差矩陣

ei**als,ei**ects = linalg.eig(mat(covmat)

)#求得協方差矩陣的特徵值,特徵向量

ei**alind = argsort(ei**als)

#從小到大對特徵值排序

ei**alind = ei**alind[:-

(topnfeat+1)

:-1]

#實現特徵值由大到小排序,並取排名前topnfeat的特徵值

redei**ects = ei**ects[

:,ei**alind]

#取排名前topnfeat特徵值對應的特徵向量

lowddatamat = meanremoved * redei**ects#中心化後的資料乘特徵向量即得降維後的特徵矩陣

reconmat =

(lowddatamat * redei**ects.t)

+ meanvals#重構原始資料

return lowddatamat, reconmat

python 實現PCA變換

在機器學習中,指標不全面會無法保證模型的準確性,但指標太多又容易造成指標維度災難。主成分分析的主要思想 1 進行特徵降維變換,不能完全地表示原有的物件,能量總會有損失。2 希望找到一種能量最為集中的變換方法使得損失最小 主成分分析就是試圖在力保資料資訊丟失最小的原則下,對這種多變數的資料進行最佳綜合...

pca演算法實現人臉識別

用matlab實現的pca演算法,用於降維,適用於各種試驗,如人臉識別程式。使用方法 1 選擇訓練和測試的資料庫路徑 2 選擇測試影象的路徑 3 執行createdatabase 函式給訓練影象建立二維矩陣 4 執行 eigenfacecore 函式建立基本的空間 5 執行 recognition ...

三種方法實現PCA演算法 Python

主成分分析,即principal component analysis pca 是多元統計中的重要內容,也廣泛應用於機器學習和其它領域。它的主要作用是對高維資料進行降維。pca把原先的n個特徵用數目更少的k個特徵取代,新特徵是舊特徵的線性組合,這些線性組合最大化樣本方差,盡量使新的k個特徵互不相關。...