Satra,
Yes, a PR on my scipy branch would be helpful!
I'm hoping to have the sparse graph module ready well before the next
release of scipy. It will still be a while after that before
scikit-learn can depend on the future scipy 0.11, so we'll have to
maintain a duplicate version in scikit-learn for the time being.
Jake
On 05/02/12 08:00, Satrajit Ghosh wrote:
thanks jake.
I believe the current implementation is equivalent to the first
several
equations in this document:
http://www.math.ucsd.edu/~fan/research/cb/ch1.pdf
<http://www.math.ucsd.edu/%7Efan/research/cb/ch1.pdf>
It may be that there are several ways to define a laplacian; I'm
not an
expert on the subject. Gael might be able to weigh in - I think he
contributed the current Laplacian implementation.
that's helpful. the difference was in the adjacency matrix. i was
assuming a system with a self loop on the nodes with arbitrary weights
(i.e., a general form of a undirected graph). the scikits
implementation works on the assumption that the diag of the adjacency
matrix is 0 (no self loops). also as i note in the updated comment on
the issue, the scikits-implementation corresponds to Lsym from the von
Luxborg paper, although he describes why L_{rw} might be a better matrix::
----
The reason is that the eigenvectors of Lrw are cluster indicator
vectors 1Ai , while the eigenvectors of Lsym are additionally
multiplied with D1/2, which might lead to undesired arti- facts. As
using Lsym also does not have any computational advantages, we thus
advocate for using Lrw.
----
all sklearners: I'd like to propose allowing the different
normalizations and if necessary switching to Lrw as the default and
allowing for any adjacency matrix. any objections?
jake: would it be helpful to send the same request to your scipy PR?
FYI, I'm working on some related things in a current scipy PR:
https://github.com/scipy/scipy/pull/119 (unfortunately it's been
sitting
idle for the last month or so - I hope to be able to finish and
merge it
some time soon).
from a scikits perspective, is this going to happen anytime soon? i.e.
how long should we maintain a version in scikits. i hate to see
multiple places where the same functionality is implemented.
i don't want to get into a long discussion about this, but is the plan
to recreate networkx in scipy? why not simply improve the efficiency
in networkx or merge networkx into scipy and improve efficiency?
cheers,
satra
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Scikit-learn-general mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/scikit-learn-general
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Scikit-learn-general mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/scikit-learn-general