{"id":15063979,"url":"https://github.com/scikit-multilearn-ng/scikit-multilearn-ng","last_synced_at":"2025-08-21T18:33:18.601Z","repository":{"id":212479881,"uuid":"730875252","full_name":"scikit-multilearn-ng/scikit-multilearn-ng","owner":"scikit-multilearn-ng","description":"A new maintained \"successor\" to scikit-multilearn, a scikit-learn based module for multi-label et. al. classification","archived":false,"fork":false,"pushed_at":"2024-09-05T06:26:53.000Z","size":46377,"stargazers_count":19,"open_issues_count":4,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-12-15T03:43:01.016Z","etag":null,"topics":["classification","clustering","label-prediction","machine-learning","multi-label","multi-label-classification","partitioning","scikit","scikit-learn","scikit-multilearn"],"latest_commit_sha":null,"homepage":"https://scikit-multilearn-ng.github.io/scikit-multilearn-ng/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/scikit-multilearn-ng.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-12-12T21:39:23.000Z","updated_at":"2024-10-17T23:19:10.000Z","dependencies_parsed_at":"2023-12-16T13:46:06.803Z","dependency_job_id":"919d0ce4-19fc-43dd-8f3b-f817c2fd931c","html_url":"https://github.com/scikit-multilearn-ng/scikit-multilearn-ng","commit_stats":{"total_commits":550,"total_committers":32,"mean_commits":17.1875,"dds":0.26,"last_synced_commit":"eb97e4458fdac2c928aab18480d7e21c81fbe2a6"},"previous_names":["scikit-multilearn-ng/scikit-multilearn-ng"],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scikit-multilearn-ng%2Fscikit-multilearn-ng","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scikit-multilearn-ng%2Fscikit-multilearn-ng/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scikit-multilearn-ng%2Fscikit-multilearn-ng/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scikit-multilearn-ng%2Fscikit-multilearn-ng/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/scikit-multilearn-ng","download_url":"https://codeload.github.com/scikit-multilearn-ng/scikit-multilearn-ng/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230527866,"owners_count":18240051,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["classification","clustering","label-prediction","machine-learning","multi-label","multi-label-classification","partitioning","scikit","scikit-learn","scikit-multilearn"],"created_at":"2024-09-25T00:09:38.963Z","updated_at":"2024-12-20T03:09:32.804Z","avatar_url":"https://github.com/scikit-multilearn-ng.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# scikit-multilearn-ng\n\n[![PyPI version](https://badge.fury.io/py/scikit-multilearn-ng.svg)](https://badge.fury.io/py/scikit-multilearn-ng)\n[![License](https://img.shields.io/badge/License-BSD%202--Clause-orange.svg)](https://opensource.org/licenses/BSD-2-Clause)\n\n__scikit-multilearn-ng__ is a Python module capable of performing multi-label\nlearning tasks and is the follow-up to [scikit-multilearn](https://github.com/scikit-multilearn/scikit-multilearn).\nIt is built on-top of various scientific Python packages\n([numpy](http://www.numpy.org/), [scipy](https://www.scipy.org/)) and\nfollows a similar API to that of [scikit-learn](http://scikit-learn.org/).\n\nMore documentation:\n\n- __Website:__ [https://scikit-multilearn-ng.github.io/scikit-multilearn-ng/](https://scikit-multilearn-ng.github.io/scikit-multilearn-ng/)\n\n\n## Features\n\n- __Native Python implementation.__ A native Python implementation for a variety of multi-label classification algorithms. To see the list of all supported classifiers, check this [link](http://scikit.ml/#classifiers).\n\n- __Interface to Meka.__ A Meka wrapper class is implemented for reference purposes and integration. This provides access to all methods available in MEKA, MULAN, and WEKA \u0026mdash; the reference standard in the field.\n\n- __Builds upon giants!__ Team-up with the power of numpy and scikit. You can use scikit-learn's base classifiers as scikit-multilearn's classifiers. In addition, the two packages follow a similar API.\n\n## Installation \u0026 Dependencies\n\nTo install scikit-multilearn, simply type the following command:\n\n```bash\n$ pip install scikit-multilearn-ng\n```\n\nThis will install the latest release from the Python package index. If you\nwish to install the bleeding-edge version, then clone this repository and\nrun `setup.py`:\n\n```bash\n$ git clone https://github.com/scikit-multilearn-ng/scikit-multilearn-ng.git\n$ cd scikit-multilearn-ng\n$ python setup.py\n```\n\nIn most cases requirements are installed when you install using `pip install scikit-multilearn-ng` or run `python setup.py install`. There are also optional dependencies `pip install scikit-multilearn-ng[gpl,keras,meka]` installs the GPL-incurring igraph for for igraph library based clusterers, keras for the keras classifiers and requirements for the meka bridge respectively.\n\nTo install `openNE`, run:\n\n```bash\npip install 'openne @ git+https://github.com/thunlp/OpenNE.git@master#subdirectory=src'\n```\n\nNote that installing the GPL licensed graphtool, for graphtool based clusters, is complicated, and must be done manually, please see: [graphtool install instructions](https://git.skewed.de/count0/graph-tool/wikis/installation-instructions)\n\n## Basic Usage\n\n**Note: You should use the same import statement as previously with scikit-multilearn (`import skmultilearn`), after installation. This allows for quicker switching to this follow-up version.**\n\nBefore proceeding to classification,  this library assumes that you have\na dataset with the following matrices:\n\n- `x_train`, `x_test`: training and test feature matrices of size `(n_samples, n_features)`\n- `y_train`, `y_test`: training and test label matrices of size `(n_samples, n_labels)`\n\nSuppose we wanted to use a problem-transformation method called Binary\nRelevance, which treats each label as a separate single-label classification\nproblem, to a Support-vector machine (SVM) classifier, we simply perform\nthe following tasks:\n\n```python\n# Import BinaryRelevance from skmultilearn\nfrom skmultilearn.problem_transform import BinaryRelevance\n\n# Import SVC classifier from sklearn\nfrom sklearn.svm import SVC\n\n# Setup the classifier\nclassifier = BinaryRelevance(classifier=SVC(), require_dense=[False,True])\n\n# Train\nclassifier.fit(X_train, y_train)\n\n# Predict\ny_pred = classifier.predict(X_test)\n```\n\nMore examples and use-cases can be seen in the \n[documentation](https://scikit-multilearn-ng.github.io/scikit-multilearn-ng/_static/example_usage.html).\n\n## Contributing\n\nThis project is open for contributions. Here are some of the ways for\nyou to contribute:\n\n- Bug reports/fix\n- Features requests\n- Use-case demonstrations\n- Documentation updates\n\nIn case you want to implement your own multi-label classifier, please \nread our [Developer's Guide](http://scikit.ml/api/base.html) to help\nyou integrate your implementation in our API.\n\nTo make a contribution, just fork this repository, push the changes\nin your fork, open up an issue, and make a Pull Request!\n\n## Cite\n\nIf you used scikit-multilearn-ng in your research or project, please\ncite [the original package scikit-multilearn](https://arxiv.org/abs/1702.01460):\n\n```bibtex\n@ARTICLE{2017arXiv170201460S,\n   author = {{Szyma{\\'n}ski}, P. and {Kajdanowicz}, T.},\n   title = \"{A scikit-based Python environment for performing multi-label classification}\",\n   journal = {ArXiv e-prints},\n   archivePrefix = \"arXiv\",\n   eprint = {1702.01460},\n   year = 2017,\n   month = feb\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscikit-multilearn-ng%2Fscikit-multilearn-ng","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fscikit-multilearn-ng%2Fscikit-multilearn-ng","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscikit-multilearn-ng%2Fscikit-multilearn-ng/lists"}