I am working on implementing the Orthogonal Matching Pursuit (OMP)
algorithm for the scikit. It is an elegant algorithm (that almost writes
itself in Numpy!) to compute a greedy approximation to the solution of a
sparse coding problem:

\$\$ \text{argmin} \big|\big|\gamma\big|\big|_0 \text{ subject
to }\big …

I have been working on the integration into the scikits.learn codebase
of a sparse principal components analysis (SparsePCA) algorithm coded by
Gaël and Alexandre and based on [[1]][]. Because the name “sparse PCA”
has some inherent ambiguity, I will describe in greater depth what
problem we are actually solving …

Scikits.learn is a great general library, but machine learning has so
many different application, that it is often very helpful to be able to
extend its API to better integrate with your code. With scikits.learn,
this is extremely easy to do using inheritance and using the pipeline module …