![sknet Logo](https://github.com/TNanukem/sknet/blob/develop/docs/source/_static/full_logo.png "sknet Logo")
![Codecov branch](https://img.shields.io/codecov/c/github/tnanukem/sknet/develop?token=PIQ338YNK1)
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}
}
Raw data
{
"_id": null,
"home_page": "https://github.com/TNanukem/scikit-net",
"name": "scikit-net",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "Machine Learning,Complex Networks",
"author": "Tiago Toledo Jr",
"author_email": "tiago.nanu@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/67/a4/409481b906c0abebeddfa2f3bb4db38f2d5b06c95bd9e7104fbd605b998f/scikit-net-0.0.4.tar.gz",
"platform": null,
"description": "![sknet Logo](https://github.com/TNanukem/sknet/blob/develop/docs/source/_static/full_logo.png \"sknet Logo\")\r\n\r\n![Codecov branch](https://img.shields.io/codecov/c/github/tnanukem/sknet/develop?token=PIQ338YNK1)\r\n\r\nThe 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.\r\n\r\nIt 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\r\nis to help researchers and students to develop solutions using machine learning on complex networks.\r\n\r\n## :computer: Installation\r\n\r\nThe sknet installation is available via PiPy:\r\n\r\n pip install scikit-net\r\n\r\n## :high_brightness: Quickstart\r\n\r\nThe following code snippet shows how one can transform tabular data into a complex network and then use it to create a classifier:\r\n\r\n from sklearn.model_selection import train_test_split\r\n from sklean.metrics import accuracy_score\r\n from sklearn.datasets import load_iris\r\n from sknet.network_construction import KNNConstructor\r\n from sknet.supervised import EaseOfAccessClassifier\r\n\r\n X, y = load_iris(return_X_y = True)\r\n X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33)\r\n\r\n # The constructor responsible for transforming the tabular data into a complex network\r\n knn_c = KNNConstructor(k=5)\r\n\r\n classifier = EaseOfAccessClassifier()\r\n classifier.fit(X_train, y_train, constructor=knn_c)\r\n y_pred = classifier.predict(X_test)\r\n accuracy_score(y_test, y_pred)\r\n\r\n## :pencil: Documentation\r\n\r\nWe provide an extensive API documentation as well with some user guides. The documentation is available on https://tnanukem.github.io/scikit-net/\r\n\r\n## Citation\r\n\r\nIf you used the scikit-net on your research project, please cite us using the following publication:\r\n\r\n @article{Toledo2021,\r\n doi = {10.21105/joss.03864},\r\n url = {https://doi.org/10.21105/joss.03864},\r\n year = {2021},\r\n publisher = {The Open Journal},\r\n volume = {6},\r\n number = {68},\r\n pages = {3864},\r\n author = {Tiago Toledo},\r\n title = {sknet: A Python framework for Machine Learning in Complex Networks},\r\n journal = {Journal of Open Source Software}\r\n }\r\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Machine Learning in Complex Networks",
"version": "0.0.4",
"project_urls": {
"Download": "https://github.com/TNanukem/scikit-net/archive/refs/tags/v0.0.1.tar.gz",
"Homepage": "https://github.com/TNanukem/scikit-net"
},
"split_keywords": [
"machine learning",
"complex networks"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "faf7a87d38760cc775cfb28288acd1e302a991487b461daa8b93fba5a6c7ed7e",
"md5": "573e3b3a89b79a81752595b1c2e86ca2",
"sha256": "5aaf3a837a834e64cebe94f78356fc3009fe84711e9d17e429245831bb5dbd3d"
},
"downloads": -1,
"filename": "scikit_net-0.0.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "573e3b3a89b79a81752595b1c2e86ca2",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 32118,
"upload_time": "2023-05-28T19:28:50",
"upload_time_iso_8601": "2023-05-28T19:28:50.258341Z",
"url": "https://files.pythonhosted.org/packages/fa/f7/a87d38760cc775cfb28288acd1e302a991487b461daa8b93fba5a6c7ed7e/scikit_net-0.0.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "67a4409481b906c0abebeddfa2f3bb4db38f2d5b06c95bd9e7104fbd605b998f",
"md5": "febca197c656b24434ca50381bde4b74",
"sha256": "267f77f59918480d945133413dad4ab9b427f13a7aea4e3ccc758170cad2dc13"
},
"downloads": -1,
"filename": "scikit-net-0.0.4.tar.gz",
"has_sig": false,
"md5_digest": "febca197c656b24434ca50381bde4b74",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 23736,
"upload_time": "2023-05-28T19:28:52",
"upload_time_iso_8601": "2023-05-28T19:28:52.264298Z",
"url": "https://files.pythonhosted.org/packages/67/a4/409481b906c0abebeddfa2f3bb4db38f2d5b06c95bd9e7104fbd605b998f/scikit-net-0.0.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-05-28 19:28:52",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "TNanukem",
"github_project": "scikit-net",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"lcname": "scikit-net"
}