コード例 #1
0
X = fetch_great_wall()

#------------------------------------------------------------
# Create  the grid on which to evaluate the results
Nx = 50
Ny = 125
xmin, xmax = (-375, -175)
ymin, ymax = (-300, 200)

#------------------------------------------------------------
# Evaluate for several models
Xgrid = np.vstack(map(np.ravel, np.meshgrid(np.linspace(xmin, xmax, Nx),
                                            np.linspace(ymin, ymax, Ny)))).T

kde = KDE(metric='gaussian', h=5)
dens_KDE = kde.fit(X).eval(Xgrid).reshape((Ny, Nx))

knn5 = KNeighborsDensity('bayesian', 5)
dens_k5 = knn5.fit(X).eval(Xgrid).reshape((Ny, Nx))

knn40 = KNeighborsDensity('bayesian', 40)
dens_k40 = knn40.fit(X).eval(Xgrid).reshape((Ny, Nx))

#------------------------------------------------------------
# Plot the results
fig = plt.figure(figsize=(9, 4.0))
fig.subplots_adjust(left=0.1, right=0.95, bottom=0.14, top=0.9,
                    hspace=0.01, wspace=0.01)

# First plot: scatter the points
ax1 = plt.subplot(221, aspect='equal')
コード例 #2
0
ファイル: qatsKDE_test.py プロジェクト: UWKepler/uwpyKepler
If indices are used to specify the first three coordinates, the main factor in deciding density SHOULD be the snr (since indices are all evenly spaced)
"""
print qMatrix.shape
wIdx = num.arange(qMatrix.shape[0])
dIdx = num.arange(qMatrix.shape[1])
pBinIdx = num.arange(qMatrix.shape[2])
P, D, W = meshgrid_3d(pBinIdx, dIdx, wIdx)
w = W.ravel()
d = D.ravel()
p = P.ravel()
# qMatrix[w, d, p] is equivalent to qMatrix.ravel()
# take the transpose of this array (need each ROW to be a set of coordinates, not each column)
kde_qMatrix = num.vstack( (w, d, p, qMatrix[w, d, p]) ).T

# fit the density estimator to the qats matrix
densEstimator.fit(kde_qMatrix)
#import pdb; pdb.set_trace()

# evaluate the KDE on the qats matrix
# apparently evaluation is extremely expensive...
# so we cut down the array to a manageable size
cheapSlice = 4096
print kde_qMatrix[::cheapSlice].shape

if False:
    print 'evaluating...'
    out = densEstimator.eval(kde_qMatrix[::cheapSlice])
    print 'evaluation complete'
    num.savetxt('densityEstimationOut.txt', out)
else:
    out = num.loadtxt('densityEstimationOut.txt')
コード例 #3
0
ファイル: fig_great_wall.py プロジェクト: azizur77/astroML
#------------------------------------------------------------
# Create  the grid on which to evaluate the results
Nx = 50
Ny = 125
xmin, xmax = (-375, -175)
ymin, ymax = (-300, 200)

#------------------------------------------------------------
# Evaluate for several models
Xgrid = np.vstack(
    map(np.ravel,
        np.meshgrid(np.linspace(xmin, xmax, Nx), np.linspace(ymin, ymax,
                                                             Ny)))).T

kde = KDE(metric='gaussian', h=5)
dens_KDE = kde.fit(X).eval(Xgrid).reshape((Ny, Nx))

knn5 = KNeighborsDensity('bayesian', 5)
dens_k5 = knn5.fit(X).eval(Xgrid).reshape((Ny, Nx))

knn40 = KNeighborsDensity('bayesian', 40)
dens_k40 = knn40.fit(X).eval(Xgrid).reshape((Ny, Nx))

#------------------------------------------------------------
# Plot the results
fig = plt.figure(figsize=(5, 2.2))
fig.subplots_adjust(left=0.12,
                    right=0.95,
                    bottom=0.2,
                    top=0.9,
                    hspace=0.01,
コード例 #4
0
X = fetch_great_wall()

#------------------------------------------------------------
# Create  the grid on which to evaluate the results
Nx = 50
Ny = 125
xmin, xmax = (-375, -175)
ymin, ymax = (-300, 200)

#------------------------------------------------------------
# Evaluate for several models
Xgrid = np.vstack(map(np.ravel, np.meshgrid(np.linspace(xmin, xmax, Nx),
                                            np.linspace(ymin, ymax, Ny)))).T

kde1 = KDE(metric='gaussian', h=5)
dens1 = kde1.fit(X).eval(Xgrid).reshape((Ny, Nx))

kde2 = KDE(metric='tophat', h=5)
dens2 = kde2.fit(X).eval(Xgrid).reshape((Ny, Nx))

kde3 = KDE(metric='exponential', h=5)
dens3 = kde3.fit(X).eval(Xgrid).reshape((Ny, Nx))

#------------------------------------------------------------
# Plot the results
fig = plt.figure(figsize=(5, 2.2))
fig.subplots_adjust(left=0.12, right=0.95, bottom=0.2, top=0.9,
                    hspace=0.01, wspace=0.01)

# First plot: scatter the points
ax1 = plt.subplot(221, aspect='equal')