GithubHelp home page GithubHelp logo

driverfeng / overlapping-communities Goto Github PK

View Code? Open in Web Editor NEW

This project forked from vaishakhi1/overlapping-communities

0.0 0.0 0.0 12 KB

spectral clustering when you have multiple community memberships in a network

MATLAB 100.00%

overlapping-communities's Introduction

overlapping-communities

spectral clustering when you have multiple community memberships in a network

Community detection for real-world networks (an ongoing project)

Project Description. The purpose of these codes is to study the behavior of spectral detection for community detection for stochastic block models. The ability to identify the community memberships of the nodes depends on the parameters of the SBM. If the separation between the in-degree and the out-degree is too small, compared to the average degree and size of the graph, no polynomial time algorithm can recover the community memberships of the nodes. In the case of two communities, a detectability threshold marks a second order transition beyond which the performance of the spectral clustering algorithm improves with the separation. Below the threshold, the algorithm does not do better than random chance.

In this work, we explore the relationship between the SBM parameters and the performance of the spectral clustering algorithm in the presence of overlap in communities. In the case of SBMs with two communities, the overlapping nodes are in both communities. The specific spectral clustering algorithm uses the nonbacktracking matrix.

We explore two possible approaches to classifying overlapping communities. In one approach, we treat the overlapping nodes as a separate community, and cluster the nodes into three communities. In an alternate, hierarchical approach, the overlapping nodes are separated first and the remaining nodes are classified into two communities.

The inputs to the code specify the size of the graph, the average degree of the nonoverlapping graph. The range of the separation is also specified (in-degree โ€“ out-degree).

The code outputs a matrix with the performance of the spectral clustering algorithm as a function of the separation and overlap. We also compare the observed threshold with the theoretical detectability threshold based on the Kesten Stigum bound.

Dependency Requirements - Matlab โ€“ R2015b and above

Run SpectralClusteringhierarchical.m for the hierarchical clustering or SpectralClusteringKMM.m for the approach of clustering into three groups

overlapping-communities's People

Contributors

vaishakhi1 avatar

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.