Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

Already on GitHub? Sign in to your account

sklearn.manifold.spectral_embedding doesn't return a spectral embedding #2069

Closed
dchatel opened this Issue Jun 14, 2013 · 3 comments

Comments

Projects
None yet
3 participants

dchatel commented Jun 14, 2013

from pylab import *
from scipy.sparse import linalg as la
from sklearn import manifold as m

w=rand(50,50)
w+=w.T

k,v=la.eigh(l,3,which='SM')
u=m.spectral_embedding(w,3,drop_first=False)

dot(v.T,u) # should return Identity.
dot(u.T,u) # should return Identity.

but it does not.

@arjoly arjoly added the Bug label Jul 18, 2014

@amueller amueller added this to the 0.16 milestone Jan 27, 2015

Owner

amueller commented Jan 28, 2015

Sorry, what is l in k,v=la.eigh(l,3,which='SM')? and which version of scipy are you using?

Owner

amueller commented Jan 28, 2015

Also, I disagree. The spectral embedding works with the normalized graph laplacian, see this tutorial: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.165.9323&rep=rep1&type=pdf (cited in the docs). Which definition of spectral embedding are you using?
If there are other widely used definitions, we should make it more clear in the docs which we are using.

Owner

amueller commented Feb 25, 2015

No feedback, old issue, I disagree => closing. Reopen with any additional input / comments.

@amueller amueller closed this Feb 25, 2015

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment