Clojure-based Community Detection library.
Noun (english community)
Samudāya (समुदाय) - Sanskrit word meaning community, aggregate, totality or collection of individual members
This library provides Community Detection algorithms for small to medium sized networks. It is built on the Loom clojure library for the graph data structure and basic graph algorithms.
So far, the Girvan-Newman algorithm has been implemented.
Load library core and namescape.
(load "samudaya/core")
(in-ns 'samudaya.core)
Example: Run community detection on the karate club network.
(def karate-club (create-graph "<path-to-edge-list-file>"))
(girvan-newman karate-club)
Output
[["9" "3" "34" "33" "31" "28" "10" "29" "30" "21" "19" "15" "27" "24" "32" "16" "23" "25" "26"]
["22" "1" "2" "4" "8" "14" "20" "7" "5" "18" "12" "13" "6" "11" "17"]]
- Implement more algorithms like louvain, stochastic block models etc
- Add more tests
- Clean up code and API
- Publish to clojars and maven
Copyright © 2019 Saurav Dhungana
Distributed under the Eclipse Public License.