class SparsePCAImpl(): def __init__(self, n_components=None, alpha=1, ridge_alpha=0.01, max_iter=1000, tol=1e-08, method='lars', n_jobs=None, U_init=None, V_init=None, verbose=False, random_state=None, normalize_components=False): self._hyperparams = { 'n_components': n_components, 'alpha': alpha, 'ridge_alpha': ridge_alpha, 'max_iter': max_iter, 'tol': tol, 'method': method, 'n_jobs': n_jobs, 'U_init': U_init, 'V_init': V_init, 'verbose': verbose, 'random_state': random_state, 'normalize_components': normalize_components} self._wrapped_model = SKLModel(**self._hyperparams) def fit(self, X, y=None): if (y is not None): self._wrapped_model.fit(X, y) else: self._wrapped_model.fit(X) return self def transform(self, X): return self._wrapped_model.transform(X)
def SPCA(model_data, components=None, transform_data=None): t0 = time() spca = SparsePCA(n_components=components) if transform_data == None: projection = spca.fit_transform(model_data) else: spca.fit(model_data) projection = spca.transform(transform_data) print "Sparse PCA Time: %0.3f" % (time() - t0) return projection
def SPCA(model_data, components = None, transform_data = None): t0 = time() spca = SparsePCA(n_components=components) if transform_data == None: projection = spca.fit_transform(model_data) else: spca.fit(model_data) projection = spca.transform(transform_data) print "Sparse PCA Time: %0.3f" % (time() - t0) return projection