import cPickle import pylab as pl from sklearn import manifold from sklearn.preprocessing import StandardScaler, normalize import numpy as np %pylab inline --no-import-all black_X, black_y = cPickle.load(open('data/blackbox.pkl')) ss = StandardScaler() scaled_X = ss.fit_transform(black_X) X_r, err = manifold.locally_linear_embedding(scaled_X, n_neighbors=5, n_components = 2) print X_r.shape print err for label in np.unique(black_y): pl.figure() pl.plot(X_r[black_y==label, 0], X_r[black_y==label, 1], 'r+') pl.plot(X_r[black_y!=label, 0], X_r[black_y!=label, 1], '.') pl.title(label) mds = manifold.MDS(max_iter=1000, n_components = 2, n_jobs=-1) X_r = mds.fit_transform(scaled_X) print X_r.shape for label in np.unique(black_y): pl.figure() pl.plot(X_r[black_y==label, 0], X_r[black_y==label, 1], 'r+') pl.plot(X_r[black_y!=label, 0], X_r[black_y!=label, 1], '.') pl.title(label) iso = manifold.Isomap(n_neighbors=5, n_components = 2) X_r = iso.fit_transform(scaled_X) print X_r.shape for label in np.unique(black_y): pl.figure() pl.plot(X_r[black_y==label, 0], X_r[black_y==label, 1], 'r+') pl.plot(X_r[black_y!=label, 0], X_r[black_y!=label, 1], '.') pl.title(label) spe = manifold.SpectralEmbedding(n_neighbors=5, n_components = 10) X_r = spe.fit_transform(scaled_X) print X_r.shape for label in np.unique(black_y): pl.figure() pl.plot(X_r[black_y!=label, 0], X_r[black_y!=label, 1], 'y.') pl.plot(X_r[black_y==label, 0], X_r[black_y==label, 1], 'r+') pl.title(label)