Skip to content

alireza-87/SocialNetGraphAnonymization

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SocialNetGraphAnonymization

Socialnetwork graph anonymization by perturbation
Development Enviroment:

  • VsCode
  • Python 3.7.6
  • Ubuntu
  • mini-conda venv
  • Xming(if you want to develop in WSL)
  • Dependencies
    • matplotlib
    • networkx-2.2
    • numpy

The repository contain a sample dataset.gml however you can set your own dataset while the app running
How Algorithm work:

  1. Anonymize graph by naive
  2. remove and add some connection randomly
  3. plot removed connection
  4. plot added connection
  5. plot final graph
  6. display graph info

Add and remove connection to the graph is done by probability:

  1. Generate a random number
  2. if the number below our expectation then add or remove a random conncetin
  3. we execute this step for all nodes in graph

We start from 10% and increase the probeblity to 100%, as you will see , by increasing the probeblity more data will be lose
In 100% probeblity our graph will be a random graph, however, the nodes never change

Orginal Graph:
Orginal Graph
add 10%:
added_10
remove 10%:
removed_10
final 10%:
final_10

Releases

No releases published

Packages

No packages published

Languages