PCA編程實(shí)現(xiàn)小結(jié)

分析思路:

先導(dǎo)入pandas、numpy包;

定義一個(gè)myPCA,傳入data及n_components參數(shù),并設(shè)置components為1000000維;

①先求每個(gè)屬性的平均值,即按列求平均值,并將結(jié)果賦予mean_vals;

②將每列數(shù)據(jù)減去該列平均數(shù),得到新的data,并賦予mid;

③求mid的協(xié)方差矩陣,將結(jié)果賦予cov_mat;

④引入scipy的linalg包;

⑤通過linalg.eig求協(xié)方差矩陣cov_mat的特征值和特征向量,并將結(jié)果賦予eig_vals,eig_vects;

⑥求最大特征值。先將特征值通過np.argsort進(jìn)行排序,然后取最大特征值,并將結(jié)果賦予eig_val_index;

⑦求最大特征值特征向量,將結(jié)果賦給eig_vects;

⑧用mid乘以特征向量eig_vects,得到轉(zhuǎn)換后的矩陣low_dim_mat;

⑨返回降維后的矩陣和特征值。

代碼實(shí)現(xiàn)如下:

返回結(jié)果為:

(array([[-0.82797019],

???????[ 1.77758033],

???????[-0.99219749],

???????[-0.27421042],

???????[-1.67580142],

???????[-0.9129491 ],

???????[ 0.09910944],

???????[ 1.14457216],

???????[ 0.43804614],

???????[ 1.22382056]]), array([0.0490834 +0.j, 1.28402771+0.j]))

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

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

  • 本文先簡要明了地介紹了特征向量和其與矩陣的關(guān)系,然后再以其為基礎(chǔ)解釋協(xié)方差矩陣和主成分分析法的基本概念,最后我們結(jié)...
    xiao_dong_zi閱讀 4,517評(píng)論 0 10
  • 矩陣RowMatrix是最基礎(chǔ)的分布式矩陣類型。每行是一個(gè)本地向量,行索引無實(shí)際意義(即無法直接使用)。數(shù)據(jù)存儲(chǔ)在...
    夜迷走閱讀 3,148評(píng)論 0 1
  • 愚人節(jié)不該愚的就是你最好的朋友而更不應(yīng)該愚的就是信任。。 怎么樣可以愚出有價(jià)值的愚人節(jié)玩笑呢? 我們給您帶來了無傷...
    認(rèn)真的草閱讀 1,513評(píng)論 0 0
  • 應(yīng)家長的要求大學(xué)要在家附近選,還記得當(dāng)時(shí)我的老師都想給家長打電話覺得家長太古板,后來還是聽家長的話了,因...
    哏都的me閱讀 235評(píng)論 1 1
  • 天氣晴朗,云南昆明滇池邊,我和我的老公四哥池邊發(fā)呆,騎自行車,品茶,閑聊…… 想起過往 倍感珍惜眼前的一切,我愛的...
    淑琴書社閱讀 292評(píng)論 0 0

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