Skip to content

Instantly share code, notes, and snippets.

View amueller's full-sized avatar

Andreas Mueller amueller

View GitHub Profile
@amueller
amueller / km_seg.py
Created June 19, 2012 21:54
Python Golf: k-means based image segmentation
import numpy as np
def km_segmentation(image, n_segments=100, ratio=50, max_iter=100):
# initialize on grid:
height, width = image.shape[:2]
# approximate grid size for desired n_segments
step = np.sqrt(height * width / n_segments)
grid_y, grid_x = np.mgrid[:height, :width]
means_y = grid_y[::step, ::step]
@amueller
amueller / check_grad.py
Created June 22, 2012 19:34
check_grad
def check_grad(f, fprime, x0):
eps = 1e-5
approx = np.zeros(len(x0))
for i in xrange(len(x0)):
x0_ = x0.copy()
x0_[i] += eps
approx[i] = (f(x0_) - f(x0)) / eps
return np.linalg.norm(approx.ravel() - fprime(x0).ravel())
@amueller
amueller / filterbank.py
Created July 17, 2012 14:23
Filterbank responses for low level vision
##########################################################################
# Maximum Response filterbank from
# http://www.robots.ox.ac.uk/~vgg/research/texclass/filters.html
# based on several edge and bar filters.
# Adapted to Python by Andreas Mueller [email protected]
# Share and enjoy
#
import numpy as np
import matplotlib.pyplot as plt
@amueller
amueller / binary_trees.py
Created August 1, 2012 16:49
Traversing trees
def make_node(p, name=1):
if p == 0:
return [name]
return [name, make_node(p - 1, 10 * name + 0),
make_node(p - 1, 10 * name + 1)]
def depth_first(p):
print(p[0])
if len(p) == 3:
@amueller
amueller / gist:3297265
Created August 8, 2012 18:20
lbp error
======================================================================
FAIL: test_texture.TestLBP.test_default
----------------------------------------------------------------------
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/nose/case.py", line 197, in runTest
self.test(*self.arg)
File "/home/andy/checkout/scikits.image/skimage/feature/tests/test_texture.py", line 163, in test_default
np.testing.assert_array_equal(lbp, ref)
File "/usr/lib/python2.7/dist-packages/numpy/testing/utils.py", line 707, in assert_array_equal
verbose=verbose, header='Arrays are not equal')
@amueller
amueller / test_sparse_svm.py
Created September 2, 2012 13:52
sparse svm error
import numpy as np
from scipy import sparse
from sklearn import svm
from nose.tools import assert_raises
X = np.array([[-2, -1], [-1, -1], [-1, -2], [1, 1], [1, 2], [2, 1]])
X_sp = sparse.lil_matrix(X)
Y = [1, 1, 1, 2, 2, 2]
sp = svm.sparse.SVC(C=1, kernel=lambda x, y: x * y.T, probability=True)
@amueller
amueller / chi2_p_value.py
Created September 4, 2012 14:46
chi2_p_value
import numpy as np
from sklearn.feature_selection import chi2
data = np.load("values.npy")
labels = np.load("labels.npy")
print(chi2(data, labels))
@amueller
amueller / weird.npy
Created September 20, 2012 12:02
elliptic_envelope problem
blub
@amueller
amueller / digits_video.py
Created October 5, 2012 19:13
Visualization of iris and digits datasets via random projections
# (c) 2012 Andreas Mueller [email protected]
# License: BSD 2-Clause
#
# See my blog for details: http://peekaboo-vision.blogspot.com
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.animation import FuncAnimation
@amueller
amueller / find_param_names.py
Created October 7, 2012 20:06
find parameter names for sklearn estimators
from sklearn.utils.testing import all_estimators
import numpy as np
all_objects = []
for C in all_estimators():
try:
all_objects.append(C[1]())
except:
pass
params = [c.get_params().keys() for c in all_objects]