日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

PCA(主成分分析)降维的概念、作用及算法实现

發布時間:2025/3/21 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PCA(主成分分析)降维的概念、作用及算法实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、PCA降維的概念

Principal Component Analysis(PCA):主成分分析法,是最常用的線性降維方法。它的目標是通過某種線性投影,將高維的數據映射到低維的空間中表示,即把原先的n個特征用數目更少的m個特征取代,新特征是舊特征的線性組合。并期望在所投影的維度上數據的方差最大,盡量使新的m個特征互不相關。從舊特征到新特征的映射捕獲數據中的固有變異性。以此使用較少的數據維度,同時保留住較多的原數據點的特性。

PCA的思想是將n維特征映射到k維上(k<n),這k維是全新的正交特征。這k維特征稱為主成分,是重新構造出來的k維特征,而不是簡單地從n維特征中去除其余n-k維特征。

2、PCA降維的作用

①、數據在低維下更容易處理、更容易使用
②、相關特征容易在數據中明確的顯示出來,例如:兩維、三維數據,能進行可視化展示
③、去除數據噪聲
④、降低算法開銷

3、PCA降維的計算步驟

下面一起通過PCA方法把二維數據降成一維來熟悉PCA降維的計算步驟。

原數據如下:

①、計算樣本均值

②、用樣本數據減去樣本均值

運算結果如下:

③、計算數據的主成分。

矩陣的主成分是其協方差矩陣的特征向量按照對應的特征值大小排序得到的。主成分可以通過兩種方法計算:第一種方法是計算數據協方差矩陣。因為協方差矩陣是方陣,所以我們可以用前面的方法計算特征值和特征向量。第二種方法是用數據矩陣的奇異值分解(singular value decomposition)來找協方差矩陣的特征向量和特征值的平方根。

上述數據集的解釋變量協方差矩陣如下:?

用前面介紹過的方法,特征值是1.25057433和0.03398123,單位特征向量是:

下面我們把數據映射到主成分上。第一主成分是最大特征值對應的特征向量,因此我們要建一個轉換矩陣,它的每一列都是主成分的特征向量。如果我們要把5維數據降成3維,那么我們就要用一個3維矩陣做轉換矩陣。在本例中,我們將把我們的二維數據映射成一維,因此我們只需要用特征向量中的第一主成分作為轉換矩陣。最后,我們用數據矩陣右乘轉換矩陣。

下面就是第一主成分映射的結果:?

4、PCA降維的代碼實現及結果

Python代碼實現如下:

import numpy as np x = np.mat([[ 0.9, 2.4, 1.2, 0.5, 0.3, 1.8, 0.5, 0.3, 2.5, 1.3],[ 1, 2.6, 1.7, 0.7, 0.7, 1.4, 0.6, 0.6, 2.6, 1.1]]) x = x.T T = x - x.mean(axis=0) C = np.cov(x.T) w,v = np.linalg.eig(C) v_ = np.mat(v[:,0]) #每個特征值對應的是特征矩陣的每個列向量 v_ = v_.T #默認以行向量保存,轉換成公式中的列向量形式 y = T * v_ print(y)

運行結果如下:

5、參考資料:

https://www.imooc.com/article/44218

https://blog.csdn.net/HLBoy_happy/article/details/77146012

總結

以上是生活随笔為你收集整理的PCA(主成分分析)降维的概念、作用及算法实现的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。