基於Python實現PCA主成分分析

參考:PCA主成分分析Python實現
PCA(principle component analysis)主成分分析,主要是用來減少數據集的維度,然後挑選出基本的特徵。

PCA思想

主要思想:移動座標軸,將n維特徵映射到k維上(k<n),這k維是全新的正交特徵。

這k維特徵稱爲主元,是又一次構造出來的k維特徵。而不是簡單地從n維特徵中去除其餘n-k維特徵。

基本步驟

  • 對數據進行歸一化處理(代碼中並不是這麼做的,而是直接減去均值)
  • 計算歸一化後的數據集的協方差矩陣
  • 計算協方差矩陣的特徵值和特徵向量
  • 保留最重要的k個特徵(通常k要小於n)。也能夠自己制定。也能夠選擇一個閾值,然後通過前k個特徵值之和減去後面n-k個特徵值之和大於這個閾值,則選擇這個k
  • 找出k個特徵值相應的特徵向量
  • 將m * n的數據集乘以k個n維的特徵向量的特徵向量(n * k),得到最後降維的數據。

代碼及結果

項目地址:https://github.com/abc222/MyDeepLearningStudy/tree/master/pca_analyze
結果展示:

藍色部分爲重構後的原始數據。紅色則是提取後的二維特徵!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章