GithubHelp home page GithubHelp logo

rushyap / community-detection-with-bigclam Goto Github PK

View Code? Open in Web Editor NEW
11.0 1.0 1.0 93 KB

This project has implementation of BIGCLAM (Cluster Affiliation Model for Big Networks) Algorithm to detect overlapping communities in a given network.

License: MIT License

Jupyter Notebook 100.00%
community-detection bigclam

community-detection-with-bigclam's Introduction

Community-Detection-with-BigCLAM

Stars MadeWith

In Graphs and Networks, a node can be part of multiple communities. In simple words, let’s take Facebook friend list of a person ‘X’ and divide the list into communities such as school friends, gym friends, college friends, friends from work and so on. A friend can belong to one or more communities. This project aims to find out the overlapping communities in the given network.

Input Data

There are two main datasets used in this project.

  1. Youtube.edgelist file that serves as network
  2. Three community files: ground truth, neighborhood seed, 20 percent seed The data sample for this project is obtained from http://snap.stanford.edu/data/com-Youtube.html

Implementation

The algorithm implemented to identify communities is BIGCLAM (Cluster Affiliation Model for Big Networks), which is a better version of AGM (Community Affiliation Graph Model). The steps involved are :

  1. Factor Matrix Initialization: A factor matrix of size N X K is initialized, where N is the number of nodes in the community and K is the number of communities in the groud truth file. The values are populated with three ways, random generation, as per 20 percent seed communities and neighborhood seed communities. The rest of the values in the factor matrix for the latter two methods is populated using conductance concept. Each node’s conductance with respect to the available communities is measured and the community with lower conductance value is assigned to the particular node.

  2. Factor Matrix Factorization: Factor Matrix values are optimized using BIGCLAM V2.0 Algorithm. Reference link for BIGCLAM V2.0 : https://youtu.be/Y78Kugdq24I

  3. Assignment of Communities: Based on the factor matrix values, nodes are assigned to the communities if the value is greater than a threshold value. The threshold value is 𝛿=sqrt( 1−log (1−𝜀)), where 𝜀 = 10-8

In the end, recall is calculated for the detected and ground truth communities and the three methods of initialization are compared.

community-detection-with-bigclam's People

Contributors

ryputtam avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

oliverzhuo

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.