edgeseraser 0.6.0
Edges Eraser
Documentation: https://devmessias.github.io/edgeseraser
Source Code: https://github.com/devmessias/edgeseraser
PyPI: https://pypi.org/project/edgeseraser/
What is Edges Eraser?
This pkg aims to implement serveral filtering methods for (un)directed graphs.
Edge filtering methods allows to extract the backbone of a graph or sampling the most important edges. You can use edge filtering methods as a preprocessing step aiming to improve the performance/results of graph algorithms or to turn a graph visualtzation more asthetic.
Example
import networkx as nx
import edgeseraser as ee
g = nx.erdos_renyi_graph(100, 0.1)
ee.noise_score.filter_nx_graph(g)
g # filtered graph
Available methods and details
Method
Description
suitable for
limitations/restrictions/details
Noise Score
Filters edges with high noise score. Paper:1
Directed, Undirected, Weighted
Very good and fast! 4
Disparity
Dirichlet process filter (stick-breaking) Paper:2
Directed, Undirected, Weighted
There are some criticism regarding the use in undirected graphs3
[Pólya-Urn]
Filters edges with Pólya-Urn method. Paper:5
Directed, Undirected, Integer Weighted
Installation
pip install edgeseraser
Development
Clone/Fork this repository
git clone https://github.com/devmessias/edgeseraser
Requirements:
Poetry
Python 3.7+
make install
make init
Testing
make test
To run the static analysis, use the following command:
make mypy
Documentation
The documentation is automatically generated from the content of the docs directory and from the docstrings
of the public signatures of the source code. The documentation is updated and published as a Github project page
automatically as part each release.
To see the current state of the documentation in your browser, use the following command:
make docs-serve
The above command will start a local server on port 8000. Any changes to
the documentation and docstrings will be automatically reflected in your browser.
Pre-commit
Pre-commit hooks run all the auto-formatters (e.g. black, isort), linters (e.g. mypy, flake8), and other quality
checks to make sure the changeset is in good shape before a commit/push happens.
If you want e.g. want to run all checks manually for all files:
make pre-commit
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.