import numpy as np import pylab as pl from matplotlib import offsetbox from scikits.learn.utils.fixes import qr_economic from scikits.learn import manifold, datasets, decomposition, lda digits = datasets.load_digits(n_class=6) X = digits.data y = digits.target n_samples, n_features = X.shape # ---------------------------------------------------------------------- # Random 2D projection using a random unitary matrix print "Computing random projection" rng = np.random.RandomState(42) Q, _ = qr_economic(rng.normal(size=(n_features, 2))) X_projected = np.dot(Q.T, X.T).T # ---------------------------------------------------------------------- # Projection on to the first 2 principal components print "Computing PCA projection" X_pca = decomposition.RandomizedPCA(n_components=2).fit_transform(X) # ---------------------------------------------------------------------- # Projection on to the first 2 linear discriminant components print "Computing LDA projection" X2 = X.copy() X2.flat[:: X.shape[1] + 1] += 0.01 # Make X invertible
import numpy as np import pylab as pl from matplotlib import offsetbox from scikits.learn.utils.fixes import qr_economic from scikits.learn import manifold, datasets, decomposition, lda digits = datasets.load_digits(n_class=6) X = digits.data y = digits.target n_samples, n_features = X.shape #---------------------------------------------------------------------- # Random 2D projection using a random unitary matrix print "Computing random projection" rng = np.random.RandomState(42) Q, _ = qr_economic(rng.normal(size=(n_features, 2))) X_projected = np.dot(Q.T, X.T).T #---------------------------------------------------------------------- # Projection on to the first 2 principal components print "Computing PCA projection" X_pca = decomposition.RandomizedPCA(n_components=2).fit_transform(X) #---------------------------------------------------------------------- # Projection on to the first 2 linear discriminant components print "Computing LDA projection" X2 = X.copy() X2.flat[::X.shape[1] + 1] += 0.01 # Make X invertible X_lda = lda.LDA(n_components=2).fit_transform(X2, y)