Beispiel #1
0
import pylab as pl
from pyhum.decomposition import KernelPCA

# make sure results are reproducible
np.random.seed(2014)

# load ensemble from disk (nfeatures x nsamples)
X = np.loadtxt("ensemble.csv", delimiter=",", skiprows=1, usecols=xrange(100))

fig = pl.figure()

for d in xrange(1, 5):
    kpca = KernelPCA(degree=d)
    ncomps = kpca.train(X, ncomps=50)
    img = kpca.predict(np.ones(ncomps))
    denoised = kpca.denoise(img)

    pl.subplot(2, 4, d)
    pl.title("d = %i" % d)
    pl.imshow(img.reshape(250, 250), cmap="PuBu")
    pl.axis("off")

    pl.subplot(2, 4, d + 4)
    pl.imshow(denoised.reshape(250, 250), cmap="PuBu")
    pl.axis("off")

fig.tight_layout(h_pad=0.5, w_pad=0.5)
bbox_props = dict(boxstyle="rarrow,pad=0.3", fc="white", ec="b", lw=2)
fig.text(0.15,
         0.5, ("Kernel PCA for increasing degrees: "
               "reconstruction above and denoised version below"),
Beispiel #2
0
import pylab as pl
from pyhum.decomposition import KernelPCA

# make sure results are reproducible
np.random.seed(2014)

# load ensemble from disk (nfeatures x nsamples)
X = np.loadtxt("ensemble.csv", delimiter=",", skiprows=1, usecols=xrange(100))

fig = pl.figure()

for d in xrange(1, 5):
    kpca = KernelPCA(degree=d)
    ncomps = kpca.train(X, ncomps=50)
    img = kpca.predict(np.ones(ncomps))
    denoised = kpca.denoise(img)

    pl.subplot(2, 4, d)
    pl.title("d = %i" % d)
    pl.imshow(img.reshape(250, 250), cmap="PuBu")
    pl.axis("off")

    pl.subplot(2, 4, d + 4)
    pl.imshow(denoised.reshape(250, 250), cmap="PuBu")
    pl.axis("off")

fig.tight_layout(h_pad=0.5, w_pad=0.5)
bbox_props = dict(boxstyle="rarrow,pad=0.3", fc="white", ec="b", lw=2)
fig.text(
    0.15,
    0.5,
Beispiel #3
0
acceptance = np.loadtxt("acceptance1000.dat")
fig = plot_acceptance(acceptance)
pl.show(); fig.savefig("acceptance.pdf", bbox_inches="tight")

#-----------------------------------------------------------

logger.info("Plotting prior and posterior ensemble... (be patient)")

CSI = np.loadtxt("ensemble1000.dat")
nsamples, ncomps = CSI.shape
Xprior = np.loadtxt("ensemble.csv", delimiter=",", skiprows=1, usecols=xrange(nsamples))
kpca = KernelPCA(degree=4)
kpca.train(Xprior, ncomps=ncomps)
Xpost = kpca.predict(CSI.T)
Xpost = kpca.denoise(Xpost)
idx = np.argsort(posterior)[::-1]
for name, X in [("prior",Xprior),("posterior",Xpost)]:
    fig = pl.figure()
    for i in xrange(25):
        pl.subplot(5,5,i+1)
        pl.imshow(X[:,idx[i]].reshape(250,250), cmap="PuBu")
        pl.axis("off")
    fig.subplots_adjust(left=0.1, bottom=0.0, right=0.9, top=0.92, wspace=0.2, hspace=0.2)
    fig.suptitle(name+" ensemble")
    pl.show(); fig.savefig(name+".pdf", bbox_inches="tight")

#-----------------------------------------------------------

logger.info("Plotting history for prior and posterior ensemble...")
Beispiel #4
0
from pyhum.decomposition import KernelPCA

# make sure results are reproducible
np.random.seed(2014)

# load ensemble from disk (nfeatures x nsamples)
X = np.loadtxt("ensemble.csv", delimiter=",", skiprows=1, usecols=xrange(100))

# parametrization
kpca = KernelPCA(degree=4)
ncomps = kpca.train(X, ncomps=50)

# featurize and reconstruct
CSI  = kpca.featurize(X)
Xnew = kpca.predict(CSI)
Xnew = kpca.denoise(Xnew)

fig = pl.figure()

for i in xrange(10):
    pl.subplot(5,4,2*i+1)
    pl.imshow(X[:,i].reshape(250,250), cmap="PuBu")
    if i < 2: pl.title("original", fontdict={"fontsize":10})
    pl.axis("off")

    pl.subplot(5,4,2*(i+1))
    pl.imshow(Xnew[:,i].reshape(250,250), cmap="PuBu")
    if i < 2: pl.title("reconstruction", fontdict={"fontsize":10})
    pl.axis("off")

fig.subplots_adjust(left=0.1, bottom=0.0, right=0.9, top=0.9, wspace=0.0, hspace=0.2)
Beispiel #5
0
from pyhum.decomposition import KernelPCA

# make sure results are reproducible
np.random.seed(2014)

# load ensemble from disk (nfeatures x nsamples)
X = np.loadtxt("ensemble.csv", delimiter=",", skiprows=1, usecols=xrange(100))

# parametrization
kpca = KernelPCA(degree=4)
ncomps = kpca.train(X, ncomps=50)

# featurize and reconstruct
CSI = kpca.featurize(X)
Xnew = kpca.predict(CSI)
Xnew = kpca.denoise(Xnew)

fig = pl.figure()

for i in xrange(10):
    pl.subplot(5, 4, 2 * i + 1)
    pl.imshow(X[:, i].reshape(250, 250), cmap="PuBu")
    if i < 2: pl.title("original", fontdict={"fontsize": 10})
    pl.axis("off")

    pl.subplot(5, 4, 2 * (i + 1))
    pl.imshow(Xnew[:, i].reshape(250, 250), cmap="PuBu")
    if i < 2: pl.title("reconstruction", fontdict={"fontsize": 10})
    pl.axis("off")

fig.subplots_adjust(left=0.1,