python中pca的用法?這個問題可能是我們日常學習或工作經常見到的。希望通過這個問題能讓你收獲頗深。下面是小編給大家帶來的參考內容,讓我們一起來看看吧!
成都創新互聯公司于2013年成立,是專業互聯網技術服務公司,擁有項目成都網站建設、成都網站制作網站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元芙蓉做網站,已為上家服務,為芙蓉各地企業和個人服務,聯系電話:18982081108
from sklearn.decomposition import PCA
PCA
主成分分析(Principal Components Analysis),簡稱PCA,是一種數據降維技術,用于數據預處理。
PCA的一般步驟是:先對原始數據零均值化,然后求協方差矩陣,接著對協方差矩陣求特征向量和特征值,這些特征向量組成了新的特征空間。
sklearn.decomposition.PCA(n_components=None, copy=True, whiten=False) 參數: n_components: 意義:PCA算法中所要保留的主成分個數n,也即保留下來的特征個數n 類型:int 或者 string,缺省時默認為None,所有成分被保留。 賦值為int,比如n_components=1,將把原始數據降到一個維度。 賦值為string,比如n_components='mle',將自動選取特征個數n,使得滿足所要求的方差百分比。 copy: 類型:bool,True或者False,缺省時默認為True。 意義:表示是否在運行算法時,將原始訓練數據復制一份。若為True,則運行PCA算法后,原始訓練數據的值不會有任何改變, 因為是在原始數據的副本上進行運算;若為False,則運行PCA算法后,原始訓練數據的值會改,因為是在原始數據上進行降維計算。 whiten: 類型:bool,缺省時默認為False。 意義:白化,使得每個特征具有相同的方差。
PCA屬性:
components_ :返回具有最大方差的成分。
explained_variance_ratio_:返回 所保留的n個成分各自的方差百分比。
n_components_:返回所保留的成分個數n。
mean_:
noise_variance_:
PCA方法:
1、fit(X,y=None)
fit(X),表示用數據X來訓練PCA模型。
函數返回值:調用fit方法的對象本身。比如pca.fit(X),表示用X對pca這個對象進行訓練。
拓展:fit()可以說是scikit-learn中通用的方法,每個需要訓練的算法都會有fit()方法,它其實就是算法中的“訓練”這一步驟。因為PCA是無監督學習算法,此處y自然等于None。
2、fit_transform(X)
用X來訓練PCA模型,同時返回降維后的數據。
newX=pca.fit_transform(X),newX就是降維后的數據。
3、inverse_transform(X)
將降維后的數據轉換成原始數據,X=pca.inverse_transform(newX)
4、transform(X)
將數據X轉換成降維后的數據。當模型訓練好后,對于新輸入的數據,都可以用transform方法來降維。
此外,還有get_covariance()、get_precision()、get_params(deep=True)、score(X, y=None)等方法,以后用到再補充吧。
實例:
import numpy as np from sklearn.decomposition import PCA X = np.array([[-1, -1], [-2, -1], [-3, -2], [1, 1], [2, 1], [3, 2]]) pca = PCA(n_components=2) newX = pca.fit_transform(X) #等價于pca.fit(X) pca.transform(X) invX = pca.inverse_transform(X) #將降維后的數據轉換成原始數據 print(X) [[-1 -1] [-2 -1] [-3 -2] [ 1 1] [ 2 1] [ 3 2]] print(newX) array([[ 1.38340578, 0.2935787], [ 2.22189802, -0.25133484], [ 3.6053038 , 0.04224385], [-1.38340578, -0.2935787], [-2.22189802, 0.25133484], [-3.6053038 , -0.04224385]]) print(invX) [[-1 -1] [-2 -1] [-3 -2] [ 1 1] [ 2 1] [ 3 2]] print(pca.explained_variance_ratio_) [ 0.99244289 0.00755711]
我們所訓練的pca對象的n_components值為2,即保留2個特征,第一個特征占所有特征的方差百分比為0.99244289,意味著幾乎保留了所有的信息。即第一個特征可以99.24%表達整個數據集,因此我們可以降到1維:
pca = PCA(n_components=1) newX = pca.fit_transform(X) print(pca.explained_variance_ratio_) [ 0.99244289]
感謝各位的閱讀!看完上述內容,你們對python中pca的用法大概了解了嗎?希望文章內容對大家有所幫助。如果想了解更多相關文章內容,歡迎關注創新互聯行業資訊頻道。
文章名稱:python中pca的用法
URL分享:http://vcdvsql.cn/article24/jhjhje.html
成都網站建設公司_創新互聯,為您提供App設計、Google、網站策劃、用戶體驗、定制網站、App開發
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯