scikit-learn/scikit-learn — pull request #1170 by kuantkid (2012-09-19 14:42:10+00:00)
Title: WIP: spectral embedding estimator

This is related to issue #793, the code is not thoroughly checked yet

1. Move the spectra_embedding into the decomposition module
2. Create an estimator object around it
3. Write documentation
4. Add to the References

1 and 2 are almost finished and I am testing the packages, will update the docs and refs later.

The PR includes a test request and I have tried with the Pipeline to combine SpectralEmbedding and Kmeans to SpectralClustering but it is only tested under a very-very small dataset. In issue 793 @amueller suggest to implement spectral clustering as pipeline, so maybe this PR is related to PR #1165.

The affinity(similarity matrix) can be setted as predefined affinity(currently only ```nearest_neighbors``` and ```rbf```), ```precomputed``` or ```callable```. I am not sure whether I have done the callable part right. I also write a simple test case.

In addition to the previous 4 tasks, I think after we have settled down whether to use pipeline for spectral clustering, there will be a **5.** Refactoring SpectralClustering.

@satra Would you please help to have a look whether the current structure is consistent with your proposal in PR #734? I have not factorized out the laplacian calculation yet as I am not sure where to put it, in the graph.py or still in this estimator.

PS: my first time to write an estimator... subject to silly bugs :)