創(chuàng)新互聯(lián)www.cdcxhl.cn八線動(dòng)態(tài)BGP香港云服務(wù)器提供商,新人活動(dòng)買多久送多久,劃算不套路!
為安徽等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及安徽網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為網(wǎng)站制作、成都網(wǎng)站建設(shè)、安徽網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!python中pca的用法?這個(gè)問題可能是我們?nèi)粘W(xué)習(xí)或工作經(jīng)常見到的。希望通過這個(gè)問題能讓你收獲頗深。下面是小編給大家?guī)淼膮⒖純?nèi)容,讓我們一起來看看吧!
from sklearn.decomposition import PCA
PCA
主成分分析(Principal Components Analysis),簡稱PCA,是一種數(shù)據(jù)降維技術(shù),用于數(shù)據(jù)預(yù)處理。
PCA的一般步驟是:先對原始數(shù)據(jù)零均值化,然后求協(xié)方差矩陣,接著對協(xié)方差矩陣求特征向量和特征值,這些特征向量組成了新的特征空間。
sklearn.decomposition.PCA(n_components=None, copy=True, whiten=False) 參數(shù): n_components: 意義:PCA算法中所要保留的主成分個(gè)數(shù)n,也即保留下來的特征個(gè)數(shù)n 類型:int 或者 string,缺省時(shí)默認(rèn)為None,所有成分被保留。 賦值為int,比如n_components=1,將把原始數(shù)據(jù)降到一個(gè)維度。 賦值為string,比如n_components='mle',將自動(dòng)選取特征個(gè)數(shù)n,使得滿足所要求的方差百分比。 copy: 類型:bool,True或者False,缺省時(shí)默認(rèn)為True。 意義:表示是否在運(yùn)行算法時(shí),將原始訓(xùn)練數(shù)據(jù)復(fù)制一份。若為True,則運(yùn)行PCA算法后,原始訓(xùn)練數(shù)據(jù)的值不會(huì)有任何改變, 因?yàn)槭窃谠紨?shù)據(jù)的副本上進(jìn)行運(yùn)算;若為False,則運(yùn)行PCA算法后,原始訓(xùn)練數(shù)據(jù)的值會(huì)改,因?yàn)槭窃谠紨?shù)據(jù)上進(jìn)行降維計(jì)算。 whiten: 類型:bool,缺省時(shí)默認(rèn)為False。 意義:白化,使得每個(gè)特征具有相同的方差。
PCA屬性:
components_ :返回具有大方差的成分。
explained_variance_ratio_:返回 所保留的n個(gè)成分各自的方差百分比。
n_components_:返回所保留的成分個(gè)數(shù)n。
mean_:
noise_variance_:
PCA方法:
1、fit(X,y=None)
fit(X),表示用數(shù)據(jù)X來訓(xùn)練PCA模型。
函數(shù)返回值:調(diào)用fit方法的對象本身。比如pca.fit(X),表示用X對pca這個(gè)對象進(jìn)行訓(xùn)練。
拓展:fit()可以說是scikit-learn中通用的方法,每個(gè)需要訓(xùn)練的算法都會(huì)有fit()方法,它其實(shí)就是算法中的“訓(xùn)練”這一步驟。因?yàn)镻CA是無監(jiān)督學(xué)習(xí)算法,此處y自然等于None。
2、fit_transform(X)
用X來訓(xùn)練PCA模型,同時(shí)返回降維后的數(shù)據(jù)。
newX=pca.fit_transform(X),newX就是降維后的數(shù)據(jù)。
3、inverse_transform(X)
將降維后的數(shù)據(jù)轉(zhuǎn)換成原始數(shù)據(jù),X=pca.inverse_transform(newX)
4、transform(X)
將數(shù)據(jù)X轉(zhuǎn)換成降維后的數(shù)據(jù)。當(dāng)模型訓(xùn)練好后,對于新輸入的數(shù)據(jù),都可以用transform方法來降維。
此外,還有g(shù)et_covariance()、get_precision()、get_params(deep=True)、score(X, y=None)等方法,以后用到再補(bǔ)充吧。
實(shí)例:
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) #等價(jià)于pca.fit(X) pca.transform(X) invX = pca.inverse_transform(X) #將降維后的數(shù)據(jù)轉(zhuǎn)換成原始數(shù)據(jù) 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]
我們所訓(xùn)練的pca對象的n_components值為2,即保留2個(gè)特征,第一個(gè)特征占所有特征的方差百分比為0.99244289,意味著幾乎保留了所有的信息。即第一個(gè)特征可以99.24%表達(dá)整個(gè)數(shù)據(jù)集,因此我們可以降到1維:
pca = PCA(n_components=1) newX = pca.fit_transform(X) print(pca.explained_variance_ratio_) [ 0.99244289]
感謝各位的閱讀!看完上述內(nèi)容,你們對python中pca的用法大概了解了嗎?希望文章內(nèi)容對大家有所幫助。如果想了解更多相關(guān)文章內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道。
文章名稱:python中pca的用法-創(chuàng)新互聯(lián)
標(biāo)題網(wǎng)址:http://www.rwnh.cn/article44/copiee.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、Google、網(wǎng)站維護(hù)、網(wǎng)站制作、用戶體驗(yàn)、ChatGPT
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容