class PCAMODEL(object): n_components = None trainX = None trainY = None testX = None model = None def __init__(self, n='mle', X = None, Y = None): self.n_components = n self.trainX = X self.trainY = Y def build_model(self): self.model = PCA(self.n_components) self.model.fit(self.trainX) def reduce_dim(self, data): return self.model.transform(data)
def PDBpca(pdblist_file, npcs=5,refPDB_file=None): # read pdblist file and fit each structure to refPDB pdbdata, miscs, rmsds = pynumpdb.readPDBlist(pdblist_file,refPDB_file) # run PCA #v,P,PC = pynumpdb._pca.pca_train(pdbdata,npcs,do_norm=0) pca = PCA() pca.fit(pdbdata) v = pca.explained_variance_ P = pca.components_ PC = pca.transform(pdbdata) print v print P print len(PC),len(PC[0]) #print PC.T return v,P,PC
import pylab as pl from scikits.learn.decomposition import PCA, FastICA ############################################################################### # Generate sample data S = np.random.standard_t(1.5, size=(2, 10000)) S[0] *= 2. # Mix data A = [[1, 1], [0, 2]] # Mixing matrix X = np.dot(A, S) # Generate observations pca = PCA() S_pca_ = pca.fit(X.T).transform(X.T).T ica = FastICA() S_ica_ = ica.fit(X).transform(X) # Estimate the sources S_ica_ /= S_ica_.std(axis=1)[:, np.newaxis] ############################################################################### # Plot results def plot_samples(S, axis_list=None): pl.scatter(S[0], S[1], s=2, marker='o', linewidths=0, zorder=10) if axis_list is not None: colors = [(0, 0.6, 0), (0.6, 0, 0)] for color, axis in zip(colors, axis_list):
#!/usr/bin/env python import os, numpy from scikits.learn.decomposition import PCA from ift6266h12.utils.ift6266h12_io import load_train_input, load_test_input, load_valid_input dest_path = '/data/lisa/data/UTLC/pca' trainset = load_train_input('sylvester', normalize=True) testset = load_test_input('sylvester', normalize=True) validset = load_valid_input('sylvester', normalize=True) pca = PCA(32) pca.fit(trainset) numpy.save(os.path.join(dest_path, 'sylvester_train_x_pca32.npy'), pca.transform(trainset)) numpy.save(os.path.join(dest_path, 'sylvester_valid_x_pca32.npy'), pca.transform(validset)) numpy.save(os.path.join(dest_path, 'sylvester_test_x_pca32.npy'), pca.transform(testset))
import pylab as pl from scikits.learn import datasets from scikits.learn.decomposition import PCA from scikits.learn.lda import LDA iris = datasets.load_iris() X = iris.data y = iris.target target_names = iris.target_names print target_names pca = PCA(n_components=2) X_r = pca.fit(X).transform(X) lda = LDA(n_components=2) X_r2 = lda.fit(X, y).transform(X) # Percentage of variance explained for each components print 'explained variance ratio (first two components):', \ pca.explained_variance_ratio_ pl.figure() for c, i, target_name in zip("rgb", [0, 1, 2], target_names): pl.scatter(X_r[y == i, 0], X_r[y == i, 1], c=c, label=target_name) pl.legend() pl.title('PCA of IRIS dataset') pl.figure()
print __doc__ import pylab as pl from scikits.learn import datasets from scikits.learn.decomposition import PCA from scikits.learn.lda import LDA iris = datasets.load_iris() X = iris.data y = iris.target target_names = iris.target_names pca = PCA(n_components=2) X_r = pca.fit(X).transform(X) lda = LDA(n_components=2) X_r2 = lda.fit(X, y).transform(X) # Percentage of variance explained for each components print 'explained variance ratio (first two components):', \ pca.explained_variance_ratio_ pl.figure() for c, i, target_name in zip("rgb", [0, 1, 2], target_names): pl.scatter(X_r[y == i, 0], X_r[y == i, 1], c=c, label=target_name) pl.legend() pl.title('PCA of IRIS dataset') pl.figure()
import pylab as pl from scikits.learn.decomposition import PCA, FastICA ############################################################################### # Generate sample data S = np.random.standard_t(1.5, size=(10000, 2)) S[0] *= 2. # Mix data A = np.array([[1, 1], [0, 2]]) # Mixing matrix X = np.dot(S, A.T) # Generate observations pca = PCA() S_pca_ = pca.fit(X).transform(X) ica = FastICA() S_ica_ = ica.fit(X).transform(X) # Estimate the sources S_ica_ /= S_ica_.std(axis=0) ############################################################################### # Plot results def plot_samples(S, axis_list=None): pl.scatter(S[:,0], S[:,1], s=2, marker='o', linewidths=0, zorder=10) if axis_list is not None: colors = [(0, 0.6, 0), (0.6, 0, 0)] for color, axis in zip(colors, axis_list):