PCA的使用方法

2021-10-25 07:57:48 字數 3133 閱讀 2915

@author:wepon

@blog:

在前一篇文章 主成分分析(pca) 中,我基於python和numpy實現了pca演算法,主要是為了加深對演算法的理解,演算法的實現很粗糙,實際應用中我們一般呼叫成熟的包,本文就結束scikit-learn中pca使用的方法和需要注意的細節,參考:sklearn.decomposition.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

意義:白化,使得每個特徵具有相同的方差。關於「白化」,可參考:ufldl教程

components_ :返回具有最大方差的成分。

explained_variance_ratio_:返回 所保留的n個成分各自的方差百分比。

n_components_:返回所保留的成分個數n。

mean_:

noise_variance_:

fit()可以說是scikit-learn中通用的方法,每個需要訓練的演算法都會有fit()方法,它其實就是演算法中的「訓練」這一步驟。因為pca是無監督學習演算法,此處y自然等於none。

fit(x),表示用資料x來訓練pca模型。

函式返回值:呼叫fit方法的物件本身。比如pca.fit(x),表示用x對pca這個物件進行訓練。

用x來訓練pca模型,同時返回降維後的資料。

newx=pca.fit_transform(x),newx就是降維後的資料。

將降維後的資料轉換成原始資料,x=pca.inverse_transform(newx)

將資料x轉換成降維後的資料。當模型訓練好後,對於新輸入的資料,都可以用transform方法來降維。

此外,還有get_covariance()、get_precision()、get_params(deep=true)、score(x, y=none)等方法,以後用到再補充吧。

@author:wepon

@blog:

在前一篇文章 主成分分析(pca) 中,我基於python和numpy實現了pca演算法,主要是為了加深對演算法的理解,演算法的實現很粗糙,實際應用中我們一般呼叫成熟的包,本文就結束scikit-learn中pca使用的方法和需要注意的細節,參考:sklearn.decomposition.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

意義:白化,使得每個特徵具有相同的方差。關於「白化」,可參考:ufldl教程

components_ :返回具有最大方差的成分。

explained_variance_ratio_:返回 所保留的n個成分各自的方差百分比。

n_components_:返回所保留的成分個數n。

mean_:

noise_variance_:

fit()可以說是scikit-learn中通用的方法,每個需要訓練的演算法都會有fit()方法,它其實就是演算法中的「訓練」這一步驟。因為pca是無監督學習演算法,此處y自然等於none。

fit(x),表示用資料x來訓練pca模型。

函式返回值:呼叫fit方法的物件本身。比如pca.fit(x),表示用x對pca這個物件進行訓練。

用x來訓練pca模型,同時返回降維後的資料。

newx=pca.fit_transform(x),newx就是降維後的資料。

將降維後的資料轉換成原始資料,x=pca.inverse_transform(newx)

將資料x轉換成降維後的資料。當模型訓練好後,對於新輸入的資料,都可以用transform方法來降維。

此外,還有get_covariance()、get_precision()、get_params(deep=true)、score(x, y=none)等方法,以後用到再補充吧。

scikit learn中PCA的使用方法

原博文 blog 在前一篇文章 主成分分析 pca 中,我基於python和numpy實現了pca演算法,主要是為了加深對演算法的理解,演算法的實現很粗糙,實際應用中我們一般呼叫成熟的包,本文就結束scikit learn中pca使用的方法和需要注意的細節,參考 sklearn.decomposit...

sklearn中的PCA使用方法

最近在做資料分析的實驗,在準備進行pca資料降維的時候產生了疑問,既然訓練集和測試集不能放在一起降維,那如何讓測試集的維度降到和訓練集一樣,看到sklearn提供的方法裡有乙個tranform實現了這個功能,豁然開朗。不知道sklearn裡的lda和其他降維方法有沒有類似的功能,歡迎大佬指點。若以後...

pythonpip使用方法 pip使用方法整理

匯出專案已安裝的pip包 pip list 檢視專案中安裝的包 pip freeze requirements.txt 將專案中所用到的第三方庫輸出到requirements.txt中 pip install 版本號 pip install i 本次使用清華源進行安裝 離線安裝第三方庫 一鍵安裝整個...