Skip to content

Instantly share code, notes, and snippets.

View mblondel's full-sized avatar

Mathieu Blondel mblondel

View GitHub Profile
@mblondel
mblondel / local_regression.py
Last active August 29, 2015 14:02
Local regression
"""Local regression"""
# Author: Mathieu Blondel <mathieu@mblondel.org>
# License: BSD 3 clause
import numpy as np
from sklearn.base import BaseEstimator, RegressorMixin
from sklearn.metrics.pairwise import pairwise_kernels
from sklearn.linear_model import Ridge
@mblondel
mblondel / echo_server.py
Created June 20, 2010 06:40
TCP/IP server using a main loop
# adapted from http://roscidus.com/desktop/node/413
import socket
import gobject
def server(host, port):
'''Initialize server and start listening.'''
sock = socket.socket()
sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
sock.bind((host, port))
@mblondel
mblondel / coroutines.py
Created July 4, 2010 04:46
Python corountine examples
def recv_count():
try:
while True:
n = (yield)
print "T-minus", n
except GeneratorExit:
print "Kaboom!"
def ex1():
r = recv_count()
@mblondel
mblondel / number_plate_solver.py
Created July 23, 2010 08:52
Solve Number plate game by generating and interpreting Forth programs
#!/usr/bin/env python
"""
Find the operations needed to sum up to TARGET by using all 4 numbers in NUMBERS.
"""
from itertools import permutations, product
NUMBERS = ["3","4","7","8"]
TARGET = 10.0
@mblondel
mblondel / mc_pi.py
Created July 25, 2010 02:39
Compute pi by MCMC
from random import random
"""
Find pi by the Monte-Carlo method.
area of a circle = pi r^2
area of a square = (2r)^2 = 4 r^2
Perform random uniform sampling between -1 and 1.
The proportion of points in the unit circle is:
@mblondel
mblondel / regression_lp.py
Last active September 25, 2015 10:28
Linear regression by Linear Programming
# (C) 2011 Mathieu Blondel
# License: BSD 3 clause
import numpy as np
import numpy.linalg as linalg
import pylab as pl
from cvxopt import matrix, solvers
np.random.seed(0)
@mblondel
mblondel / online_variance.py
Created August 2, 2011 11:03
Sample variance in a single pass
def online_mean_variance(iterable):
mN = 0
mM = 0.0
mS = 0.0
for x in iterable:
mN += 1
nextM = mM + (x - mM) / mN
mS += (x - mM) * (x - nextM)
@mblondel
mblondel / lbfgs_nnls.py
Last active December 10, 2015 10:29
NNLS via LBFGS
# (C) Mathieu Blondel 2012
# License: BSD 3 clause
import numpy as np
from scipy.optimize import fmin_l_bfgs_b
from sklearn.base import BaseEstimator, RegressorMixin
from sklearn.utils.extmath import safe_sparse_dot
@mblondel
mblondel / mcmc_exercices.py
Created August 14, 2010 12:48
MCMC exercises
"""
Exercises for the Markov Chain Monte-Carlo (MCMC) course available at
http://users.aims.ac.za/~ioana/
"""
import numpy as np
import numpy.linalg as la
import pylab
from scipy import stats
@mblondel
mblondel / curve_averaging.py
Last active May 13, 2017 16:47
Variable-length curve averaging
"""Variable-length curve averaging"""
# Author: Mathieu Blondel <mathieu@mblondel.org>
# License: BSD 3 clause
import numpy as np
from scipy.interpolate import interp1d
def curves_mean_std(X, Y, kind="linear"):