Python源码示例:sklearn.decomposition.RandomizedPCA()
示例1
def __init__(self, k=None, mle_components=False, varfrac=None,
randomize=False, whiten=False):
n_specs = sum(1 for x in [k, mle_components, varfrac] if x)
if n_specs > 1:
msg = "can't specify number of components in more than one way"
raise TypeError(msg)
if n_specs == 0:
varfrac = DEFAULT_VARFRAC
if randomize:
if k is None:
raise TypeError("can't do random PCA without a specific k")
pca = RandomizedPCA(k, whiten=whiten)
else:
if k is not None:
n_components = k
elif mle_components:
n_components = 'mle'
elif varfrac is not None:
n_components = varfrac
pca = PCA(n_components, whiten=whiten)
super(BagPCA, self).__init__(pca)
示例2
def test_deprecation_randomized_pca():
rng = np.random.RandomState(0)
X = rng.random_sample((5, 4))
depr_message = ("Class RandomizedPCA is deprecated; RandomizedPCA was "
"deprecated in 0.18 and will be "
"removed in 0.20. Use PCA(svd_solver='randomized') "
"instead. The new implementation DOES NOT store "
"whiten ``components_``. Apply transform to get them.")
def fit_deprecated(X):
global Y
rpca = RandomizedPCA(random_state=0)
Y = rpca.fit_transform(X)
assert_warns_message(DeprecationWarning, depr_message, fit_deprecated, X)
Y_pca = PCA(svd_solver='randomized', random_state=0).fit_transform(X)
assert_array_almost_equal(Y, Y_pca)
示例3
def reduce_randomizedPCA(x):
'''
Reduce the dimensions using Randomized PCA algorithm
'''
# create the CCA object
randomPCA = dc.RandomizedPCA(n_components=2, whiten=True,
copy=False)
# learn the principal components from all the features
return randomPCA.fit(x)
示例4
def pca_algorithm(self):
""" Deterimine PCA algorithm to use. """
if self.rotation_algo == 'randomized':
return RandomizedPCA(random_state=self.random_state)
elif self.rotation_algo == 'pca':
return PCA()
else:
raise ValueError("`rotation_algo` must be either "
"'pca' or 'randomized'.")