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
Populating the interactive namespace from numpy and matplotlib
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)
(1000, 2) 0.000327491333647
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)
(1000, 2)
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)
(1000, 2)
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)
(1000, 10)