Python3.x中sklearn機器學習庫中PCA參數問題

PCA爲主成分分析庫

導入方式:from sklearn.decomposition import PCA

其中默認有三個主要參數:

n_components

此參數可以幫我們指定希望PCA降維後的特徵維度數目,可以是int型的數字123,也可以是閾值百分比,類似98%,也可以指定爲string類型,MLE

copy

類型:bool,True或者False,缺省時默認爲True,
意義:表示是否在運行算法時,將原始數據複製一份。如果爲True,則運行PCA算法後,原始數據的值不會有任何改變。因爲是在原始數據的副本上進行運算的。

whiten

類型:bool,缺省時默認爲False
意義:白化,目的是每個特徵具有相同的方差。

svd_solver

指定奇異值分解SVD的方法,有4個可以選擇的值:{‘auto’, ‘full’, ‘arpack’, ‘randomized’,}具體詳見【http://www.cnblogs.com/pinard/p/6243025.html】

但是在pca = PCA(n_components = 'mle')(MLE即極大似然估計)時報錯

TypeError: '>=' not supported between instances of 'str' and 'int'

通過查看help(PCA)發現,當n_components == 'mle'時,需要和參數svd_solver一起使用,且svd_solver需要選擇full參數

即pca = PCA(n_components = 'mle',svd_solver='full')纔可執行成功

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章