python主成分分析法實(shí)現(xiàn)_第1頁
python主成分分析法實(shí)現(xiàn)_第2頁
免費(fèi)預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、python主成分分析法實(shí)現(xiàn)1.背景PCA(PrincipalComponentAnalysis),PAC的作用主要是降低數(shù)據(jù)集的維度,然后挑選出主要的特征。PCA的主要思想是移動坐標(biāo)軸,找到方差最大的方向上的特征值,什么叫方差最大的方向的特征值呢。就像下圖中的曲線B,一樣,它的覆蓋范圍最廣?;静襟E:(1)首先計(jì)算數(shù)據(jù)集的協(xié)方差矩陣(2)計(jì)算協(xié)方差矩陣的特征值和特征向量(3)保留最重要的n個(gè)特征whatis協(xié)方差矩陣:定義是變量向量減去均值向量,然后乘以變量向量減去均值向量的轉(zhuǎn)置再求均值。例如x是變量,M是均值,協(xié)方差矩陣等于E(x-p)(x-p)化,物理意義是這樣的,例如x=(xl,x2,

2、.,xi)那么協(xié)方差矩陣的第m行n列的數(shù)為xm與xn的協(xié)方差,若m=n,則是xn的方差。如果x的元素之間是獨(dú)立的,那么協(xié)方差矩陣只有對角線是有值,因?yàn)閤獨(dú)立的話對于mHn的情況xm與xn的協(xié)方差為0。另外協(xié)方差矩陣是對稱的??梢詤⒖紈iki:(/wiki/%E5%8D%8F%E6%96%B9%E5%B7%AE%E7%9F%A9%E9%98%B5)2.代碼實(shí)現(xiàn)偽代碼如下(摘自機(jī)器學(xué)習(xí)實(shí)戰(zhàn)):!author:Garvin!fromnumpyimport*importmatplotlib.pyplotaspltdefloadDataSet(fileName

3、,delim='t'):fr=open(fileName)stringArr=line.strip().split(delim)forlineinfr.readlines()datArr=map(float,line)forlineinstringArrreturnmat(datArr)defpca(dataMat,topNfeat=9999999):meanVals=mean(dataMat,axis=0)meanRemoved=dataMat-meanVals#removemeancovMat=cov(meanRemoved,rowvar=0)eigVals,eigVect

4、s=linalg.eig(mat(covMat)eigValInd=argsort(eigVals)#sort,sortgoessmallesttolargesteigValInd=eigValInd:-(topNfeat+1):-1#cutoffunwanteddimensionsredEigVects=eigVects:,eigValInd#reorganizeeigvectslargesttosmallestlowDDataMat=meanRemoved*redEigVects#transformdataintonewdimensionsreconMat=(lowDDataMat*red

5、EigVects.T)+meanValsreturnlowDDataMat,reconMatdefplotBestFit(dataSet1,dataSet2):dataArr1=array(dataSet1)dataArr2=array(dataSet2)n=shape(dataArr1)0n1=shape(dataArr2)0xcord1=;ycord1=xcord2=;ycord2=xcord3=;ycord3=j=0foriinrange(n):xcord1.append(dataArr1i,0);ycord1.append(dataArr1i,1)xcord2.append(dataA

6、rr2i,0);ycord2.append(dataArr2i,1)fig=plt.figure()ax=fig.add_subplot(111)ax.scatter(xcord1,ycord1,s=30,c='red',marker='s')ax.scatter(xcord2,ycord2,s=30,c='green')plt.xlabel('X1');plt.ylabel('X2');plt.show()if_name_='_main_':mata=loadDataSet('/Users

7、/hakuri/Desktop/testSet.txt')a,b=pca(mata,2)loadDataSet函數(shù)是導(dǎo)入數(shù)據(jù)集。PCA輸入?yún)?shù):參數(shù)一是輸入的數(shù)據(jù)集,參數(shù)二是提取的維度。比如參數(shù)二設(shè)為1,那么就是返回了降到一維的矩陣。PCA返回參數(shù):參數(shù)一指的是返回的低維矩陣,對應(yīng)于輸入?yún)?shù)二。參數(shù)二對應(yīng)的是移動坐標(biāo)軸后的矩陣。上一張圖,綠色為原始數(shù)據(jù),紅色是提取的2維特征。3.代碼下載下載地址:請點(diǎn)擊我/*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#t*Y*Y*y*Y*Y*y*Y*Y*y*Y*Y*y*Y*Y*y*Y*Y*y*Y*Y*y*Y*Y*y*Y*Y*y*Y*Y*y*Y*本文來自博客“李博Garvin“*轉(zhuǎn)載請標(biāo)明出處:*x*x*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論