Lab41 / Circulo

Community Detection Research Effort
http://lab41.github.io/Circulo/
Other
79 stars 39 forks source link

RolX sensemaking #77

Open jumbi77 opened 5 years ago

jumbi77 commented 5 years ago

https://github.com/Lab41/Circulo/blob/77692ff21566a721d4bf45c0d88053f9cf2bfa93/circulo/algorithms/rolx.py#L310-L313

Hello, i have a question regarding the rolX implementation: In function make_sense() we calc matrix M, compute K and just returning it. As far as i can see the original paper on chapter 5 (here) is doing another step before returning K: there will be calculated another K' with only one role and then returning (K / K') to get role-contribution compared to the default-contribution (K').

This is the original paragraph:

NodeSense then computes a nonnegative matrix E such that G * E = M. The matrix E represents the role contribution to node measurements. A default matrix E' is also computed by using G' = ones(n, 1), where the n nodes belong to one role. Then, for each role r and for each measurement s, NodeSense computes E(r,s) / E'(r,s). Note: Matrix K in the code coressponds to matrix E in the paper

Is this step missing in the code or should this step be added to be accurate to the original paper? Thanks in advance