GithubHelp home page GithubHelp logo

panshi2016 / qoce Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 1.0 25.33 MB

Quadratic Optimization based Clique Expansion for Overlapping Community Detection

License: GNU General Public License v3.0

C 3.70% C++ 28.77% Makefile 0.38% Shell 0.11% Gnuplot 0.03% Elixir 0.01% Batchfile 0.14% Python 0.38% HTML 6.86% CSS 0.16% XSLT 0.45% MATLAB 58.99%
global-community-detection clique-expansion quadratic-optimization

qoce's Introduction

QOCE

These codes are for our paper "Quadratic Optimization based Clique Expansion for Overlapping Community Detection"

Requirements

Before compiling codes, the following software should be installed in your system.

  • Matlab
  • gcc (for Linux and Mac) or Microsoft Visual Studio (for Windows)

Datasets Information

(1) A. Lancichinetti, S. Fortunato, and F. Radicchi, “Benchmark graphs for testing community detection algorithms,” Physical Review E, vol. 78, no. 4, p. 046110, 2008.

(2) W. W. Zachary, “An information flow model for conflict and fission in small groups,” Journal of Anthropological Research, vol. 33, no. 4, pp. 452–473, 1977.

(3) B. Zhao, P. Sen, and L. Getoor, “Entity and relationship labeling in affiliation networks,” in ICML Workshop on Statistical Network Analysis, 2006.

(4) V. Krebs, http://www.orgnet.com/.

(5) L. A. Adamic and N. Glance, “The political blogosphere and the 2004 us election: divided they blog,” in Proceedings of the 3rd International Workshop on Link Discovery. ACM, 2005, pp. 36–43.

(6) J. Yang and J. Leskovec, “Defining and evaluating network communities based on ground-truth,” in Proceedings of 12th International Conference on Data Mining. IEEE, 2012, pp. 745–754.

Example dataset

Karate:

  • nodes: 34, edges: 78
  • two communities with ground truth size >= 3

How to run QOCE algorithm

  1. Find all maximal cliques
$ cd GetMaxCliques
$ cd build
$ sh makefile
$ sh produceMaximumCliques
  1. Detect communities from maximum cliques
$ cd QOCE_codes 
$ matlab 
$ mex -largeArrayDims rwvec_mex.cpp   % compile the mex file 
$ testQOCE

How to run baseline algorithms

$ cd baseline_codes
$ sh complile-all.sh
$ sh run.sh
$ cd processCode
$ matlab
$ getResults

Note that one of the baseline algorithms called DEMON requires python2.

Announcements

Licence

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://fsf.org/.

Notification

Please email to [email protected] or setup an issue if you have any problems or find any bugs.

Acknowledgement

In the program, we implement Bron-Kerbosch algorithm(the directory named GetMaxCliques) by the open source codes in http://hal.elte.hu/cfinder/wiki?n=Main.Software

And we incorporate some open source codes as baseline algorithms from the following websites:

qoce's People

Contributors

panshi2016 avatar

Stargazers

 avatar  avatar

Watchers

James Cloos avatar  avatar

Forkers

rifaasyari

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.