【发布时间】:2016-02-04 04:38:05
【问题描述】:
我正在使用 scikit learn PCA 并尝试选择满足 1-(sum i 1 to k Sii)/(sum j 1 to n Sjj)
- scikit learn 是否具有返回给定方差保留百分比阈值的最小分量的函数?
- 有没有更有效的方法来提出 n_component?
谢谢。
【问题讨论】:
标签: machine-learning scikit-learn pca
我正在使用 scikit learn PCA 并尝试选择满足 1-(sum i 1 to k Sii)/(sum j 1 to n Sjj)
谢谢。
【问题讨论】:
标签: machine-learning scikit-learn pca
只需将n_components 设置为float,它将用作解释方差的下限。
n_components : int、None 或 string
要保留的组件数。如果未设置 n_components 则保留所有组件: n_components == min(n_samples, n_features) if n_components == 'mle', Minka的MLE用于猜测维度
【讨论】:
关于您的问题 #1 - 获得给定方差保留百分比阈值的最少组件数:
from sklearn.decomposition import PCA as sklearnPCA
sklearn_pca = sklearnPCA(n_components = 0.99, svd_solver ='full')
关于您的问题 #2 - 以下论点 - Minka 的最大似然估计 - 将猜测主成分的数量:
...
sklearn_pca = sklearnPCA(n_components = "mle", svd_solver ="full")
【讨论】: