主成份分析

概念

主成份分析(PCA)是一種維度歸約的技術(shù)。
(維度規(guī)約:把高維數(shù)據(jù)轉(zhuǎn)換成低維數(shù)據(jù)的。)

涉及的其他概念

  1. 數(shù)據(jù)標準化處理
  2. 計算相關(guān)系數(shù)(矩陣)、協(xié)方差cov,
    【知乎】如何通俗易懂地解釋「協(xié)方差」與「相關(guān)系數(shù)」的概念?https://www.zhihu.com/question/20852004
  3. 特征根
  4. 特征向量
  5. 矩陣方程求解

用途

用較少的變量去解釋原始數(shù)據(jù)中的大部分變量,將許多相關(guān)性很高的變量轉(zhuǎn)化成彼此相互獨立或不相關(guān)的變量。

計算步驟

1.設(shè)原始變量為數(shù)據(jù)矩陣X(n,P),共n條記錄,P個屬性(列)。
2.將矩陣X按列進行中心標準化,繼續(xù)記為X(z-score 標準化)。


3.按列計算相關(guān)系數(shù)矩陣,記為R。
相關(guān)系數(shù) = 協(xié)方差xy / (樣本標準差x樣本標準差y)
相關(guān)系數(shù)計算公式

  1. 求R的特征方程|R-λE|=0 的特征根 λ1≥λ2≥λp>0
  2. 確定主成份個數(shù)m。
    分子為第1-第m個特征值的和
    分母為所有特征值的和
    分子/分母>a,一般a去80%。即這m個主成份可以概括80%的信息。
  3. 計算m個相應(yīng)的單位特征向量:
    把上面m個λ代入方程,求(R-λE)β=0的解,
    得β1、β2、β3..βm
  4. 計算主成份:
    Zi= Xβ,i=1,2,3...m

對計算步驟的理解

  1. 過程如上,首先對矩陣數(shù)據(jù)進行標準化轉(zhuǎn)換,提升模型的精度。
  2. 對標準化后的矩陣數(shù)據(jù),求出每一條記錄中兩兩屬性列之間的相關(guān)系數(shù)。
  3. 由于原矩陣可以分解成特征值Λ及特征向量U。所以計算出相關(guān)系數(shù)矩陣的所有特征根,這所有的特征根(以及相應(yīng)的特征向量),包含了100%的數(shù)據(jù)變量信息。
  4. 把特征根從大到小排序求和,取m個特征值,目的是為了概括80%~90%的信息。
  5. 計算出對應(yīng)的單位特征向量。
  6. 計算主成份。

python中如何做主成份分析

在python中,主成份分析的函數(shù)在Scikit-Learn下:
sklearn.decomposition.PCA

from sklearn.decomposition import PCA

pca = PCA()
pca.fit(data)
pca.components_ #返回模型的各個特征向量(原始數(shù)據(jù))
pca.explained_variance_ratio_ # 返回各個成分各自的方差百分比(貢獻率)
# 根據(jù)以上貢獻率,選取前n個主成份,累積貢獻率達到95%左右。然后重新建立模型
pca = PCA(3)#這里假設(shè)前3個主成份已經(jīng)足夠代表數(shù)據(jù)集的大部分信息。
pca.fit(data)
low_d = pca.transform(data) #計算出主成份結(jié)果。
#到這里位置,原始數(shù)據(jù)已經(jīng)從8維降到了3個維度,同時這三個維度占了原始數(shù)據(jù)大部分的信息。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • PCA 算法主要是把高維度的數(shù)據(jù)降為低維度數(shù)據(jù)。典型地應(yīng)用包括數(shù)據(jù)壓縮和數(shù)據(jù)可視化。本文介紹 PCA 算法及其典型...
    kamidox閱讀 5,221評論 6 12
  • 數(shù)學(xué)是計算機技術(shù)的基礎(chǔ),線性代數(shù)是機器學(xué)習(xí)和深度學(xué)習(xí)的基礎(chǔ),了解數(shù)據(jù)知識最好的方法我覺得是理解概念,數(shù)學(xué)不只是上學(xué)...
    闖王來了要納糧閱讀 23,284評論 2 48
  • 一、創(chuàng)建一個文件夾,將模塊文件放入A中。 在下面的例子中,模塊文件是nester.py,文件夾是nester。...
    金石明鏡閱讀 330評論 0 1
  • 爬上四樓 三樓的燈滅了 開機又慢成兩分鐘 老舊的筆記本 馮唐寫了新詩 少了雞雞腫脹 吃了一碗不正宗的酸辣粉 沒加香...
    叫我哪托閱讀 300評論 1 1
  • 7.6 Editing 7.6.1 讓一個文檔區(qū)域可以編輯:contenteditable屬性 一個元素節(jié)點擁有可...
    IAIAE閱讀 313評論 0 1

友情鏈接更多精彩內(nèi)容