sknet

sknet: A Python framework for Machine Learning in Complex Networks - Published in JOSS (2021)

https://github.com/tnanukem/scikit-net

Science Score: 93.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 4 DOI reference(s) in README and JOSS metadata
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords from Contributors

mesh

Scientific Fields

Mathematics Computer Science - 84% confidence
Sociology Social Sciences - 64% confidence
Last synced: 4 months ago · JSON representation

Repository

A framework for machine learning in complex networks

Basic Info
  • Host: GitHub
  • Owner: TNanukem
  • License: mit
  • Language: Python
  • Default Branch: main
  • Size: 427 KB
Statistics
  • Stars: 21
  • Watchers: 1
  • Forks: 5
  • Open Issues: 0
  • Releases: 2
Created almost 5 years ago · Last pushed over 2 years ago
Metadata Files
Readme Changelog Contributing License

README.md

sknet Logo

Codecov branch

The sknet project is a scikit-learn and NetworkX compatible framework for machine learning in complex networks. It provides learning algorithms for complex networks, as well as transforming methods to turn tabular data into complex networks.

It started in 2021 as a project from volunteers to help to improve the development of research on the interface between complex networks and machine learning. It main focus is to help researchers and students to develop solutions using machine learning on complex networks.

:computer: Installation

The sknet installation is available via PiPy:

pip install scikit-net

:high_brightness: Quickstart

The following code snippet shows how one can transform tabular data into a complex network and then use it to create a classifier:

from sklearn.model_selection import train_test_split
from sklean.metrics import accuracy_score
from sklearn.datasets import load_iris
from sknet.network_construction import KNNConstructor
from sknet.supervised import EaseOfAccessClassifier

X, y = load_iris(return_X_y = True)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33)

# The constructor responsible for transforming the tabular data into a complex network
knn_c = KNNConstructor(k=5)

classifier = EaseOfAccessClassifier()
classifier.fit(X_train, y_train, constructor=knn_c)
y_pred = classifier.predict(X_test)
accuracy_score(y_test, y_pred)

:pencil: Documentation

We provide an extensive API documentation as well with some user guides. The documentation is available on https://tnanukem.github.io/scikit-net/

Citation

If you used the scikit-net on your research project, please cite us using the following publication:

@article{Toledo2021,
doi = {10.21105/joss.03864},
url = {https://doi.org/10.21105/joss.03864},
year = {2021},
publisher = {The Open Journal},
volume = {6},
number = {68},
pages = {3864},
author = {Tiago Toledo},
title = {sknet: A Python framework for Machine Learning in Complex Networks},
journal = {Journal of Open Source Software}
}

Owner

  • Name: Tiago Toledo Junior
  • Login: TNanukem
  • Kind: user
  • Location: São Carlos, SP, Brazil

I'm a Computer Engineer and Data Scientist. I'm interested in emulators, data science, cloud infrastructure and machine learning.

JOSS Publication

sknet: A Python framework for Machine Learning in Complex Networks
Published
December 15, 2021
Volume 6, Issue 68, Page 3864
Authors
Tiago Toledo ORCID
Instituto de Ciências Matemáticas e Computação, Universidade de São Paulo, Big Data
Editor
Øystein Sørensen ORCID
Tags
complex networks machine learning graph learning graphs

GitHub Events

Total
  • Watch event: 1
Last Year
  • Watch event: 1

Committers

Last synced: 5 months ago

All Time
  • Total Commits: 96
  • Total Committers: 2
  • Avg Commits per committer: 48.0
  • Development Distribution Score (DDS): 0.01
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Tiago Toledo Junior t****u@g****m 95
dependabot[bot] 4****] 1

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 10
  • Total pull requests: 42
  • Average time to close issues: 4 months
  • Average time to close pull requests: 4 days
  • Total issue authors: 5
  • Total pull request authors: 3
  • Average comments per issue: 1.2
  • Average comments per pull request: 0.43
  • Merged pull requests: 40
  • Bot issues: 0
  • Bot pull requests: 1
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • drj11 (5)
  • imw (2)
  • KONEONE (1)
  • TNanukem (1)
  • osorensen (1)
Pull Request Authors
  • TNanukem (39)
  • murilosoave (1)
  • dependabot[bot] (1)
Top Labels
Issue Labels
enhancement (1) good first issue (1)
Pull Request Labels
enhancement (10) dependencies (1) documentation (1) bug (1)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 29 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 1
  • Total versions: 4
  • Total maintainers: 1
pypi.org: scikit-net

Machine Learning in Complex Networks

  • Versions: 4
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 29 Last month
Rankings
Dependent packages count: 10.1%
Stargazers count: 14.0%
Forks count: 14.2%
Average: 17.5%
Dependent repos count: 21.6%
Downloads: 27.7%
Maintainers (1)
Last synced: 5 months ago

Dependencies

requirements.txt pypi
  • GitPython ==3.1.20
  • attrs ==20.3.0
  • coverage ==5.5
  • decorator ==4.4.2
  • giotto-tda ==0.5.1
  • importlib-metadata ==3.7.2
  • iniconfig ==1.1.1
  • joblib ==1.0.1
  • networkx ==2.5
  • numpy ==1.19.5
  • packaging ==20.9
  • pandas ==1.1.5
  • pluggy ==0.13.1
  • py ==1.10.0
  • pydata-sphinx-theme ==0.6.3
  • pyparsing ==2.4.7
  • pytest ==6.2.2
  • python-dateutil ==2.8.1
  • pytz ==2021.1
  • scikit-learn ==0.24.1
  • scipy ==1.5.4
  • six ==1.15.0
  • sklearn ==0.0
  • threadpoolctl ==2.1.0
  • toml ==0.10.2
  • tqdm ==4.59.0
  • typing-extensions ==3.7.4.3
  • zipp ==3.4.1
setup.py pypi
  • attrs *
  • decorator *
  • giotto-tda *
  • importlib-metadata *
  • iniconfig *
  • joblib *
  • networkx *
  • numpy *
  • packaging *
  • pandas *
  • pluggy *
  • py *
  • pyparsing *
  • pytest *
  • python-dateutil *
  • pytz *
  • scikit-learn *
  • scipy *
  • six *
  • sklearn *
  • threadpoolctl *
  • toml *
  • tqdm *
  • typing-extensions *
  • zipp *
.github/workflows/coverage.yml actions
  • actions/checkout v2 composite
  • codecov/codecov-action v1 composite
.github/workflows/linter.yml actions
  • actions/checkout v2 composite
  • alexanderdamiani/pylinter v1.1.0 composite
.github/workflows/unit_tests.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v1 composite
.github/workflows/docs.yml actions