zdebruine / RcppML

Rcpp Machine Learning: Fast robust NMF, divisive clustering, and more
GNU General Public License v2.0
89 stars 15 forks source link

Add scope to support consensus connectivity heatmap #53

Open ttj131 opened 2 months ago

ttj131 commented 2 months ago

Hi!

Great package and enjoy how well/fast the RcppML package performs!

I was just wondering if addition of a consensus map, similar to the ones implemented by brunet https://doi.org/10.1073/pnas.0308531101, would be useful here!

Regards,

ttj131

zdebruine commented 1 month ago

It could be helpful, simply as a sanity check for whether your model is behaving properly. What I mean, is that factors should not be similar to one another -- the whole objective of NMF is to separate distinct signals, particularly if you apply some small amount of sparsifying regularization (such as L2).

If you want to find similar factors across equal rank models, use bipartite matching (Hungarian algorithm). RcppML::bipartiteMatch.

If you want to find similar factors across different models, that is where consensus maps would be most helpful.

Hope that helps, sorry for the delay!