scikit-learn/scikit-learn — pull request #2476 by untom (2013-09-24 09:31:24+00:00)
Title: [WIP] FABIA biclustering algorithm

This PR adds the FABIA biclustering algorithm to sklearn, as discussed off-list with @kemaleren (and his mentors).

As this is my first larger contribution, please point out any rough edges I might have overlooked in the PR process.

Things worth mentioning:

* Two of the included tests are skipped because of their long running time, as they are not simple functionality tests but rather reproduce part of a simulation study from the original paper (e.g. they make sure results are up to par with the R reference implementation). Also, these two tests rely on Issue #2445 being fixed.

* I couldn't build the docs due what seems to be something related to Issue #1140, but I'm unable to fix it on my computer :( So I couldn't verify if there are formatting errors in the accompanying documentation.

* I haven't gotten around writing a good example yet (ideas welcome!)

* There's no benchmarking included (as the reference implementation is in R). However this implementation runs faster than the pure R version of FABIA (part of the reference package), but slower than the current reference implementation (which is C wrapped in R) by a factor of 2-5 (depending on data size).

References:
* Hochreiter, Bodenhofer, et. al., 2010. *FABIA: factor analysis for bicluster acquisition*