scikit-multilearn
Scikit-multilearn is a BSD-licensed library for multi-label classification that is built on top of the well-known scikit-learn ecosystem.
What it is and what it does
Scikit-multilearn is a Python library for multi-label classification—problems where each sample can belong to multiple classes simultaneously. It implements problem-transformation methods and algorithm-adaptation approaches, built on top of numpy and scipy with an API modeled after scikit-learn. The library also provides a wrapper for MEKA, MULAN, and WEKA, and includes community-detection-based clusterers for label correlation.
The project has been abandoned since 2018-12-10 with no active maintenance, meaning it will not receive updates for compatibility with newer Python or dependency versions, nor any security patches. Installation is low-friction with pure Python wheels, but long-term viability for new projects is questionable.
Use it for:
- Text categorization where documents can belong to multiple topics simultaneously.
- Image tagging where a single image can have multiple relevant labels or tags.
- Biological sequence annotation where genes or proteins may have multiple functional roles.
- Recommendation systems where items can belong to multiple categories or user interests.
- Medical diagnosis where a patient may have multiple concurrent conditions.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Scikit-multilearn performs multi-label classification tasks using problem-transformation and algorithm-adaptation methods, built on numpy and scikit-learn with a compatible API.
No, unless you are maintaining legacy code. The package is abandoned (last release 2018-12-10) and will not receive updates for modern Python or dependency versions. For new multi-label classification projects, consider actively maintained alternatives. If you must use it, pin all dependencies to versions known to work with scikit-multilearn 0.2.0 and test thoroughly.
Install
scikit-multilearn on PyPI
pip
pip install scikit-multilearnuv
uv add scikit-multilearnpoetry
poetry add scikit-multilearnInstalling scikit-multilearn
Before you install
Installation is low-friction with pure Python wheels available. However, the package is abandoned—last release was 2018-12-10. No active maintenance or security updates should be expected.
License in practice
BSD license is permissive and poses no restrictions on commercial or private use, modification, or redistribution.
Quickstart
pip install scikit-multilearn
from skmultilearn.problem_transform import BinaryRelevance
classifier = BinaryRelevance(require_dense=[False,True])
classifier.fit(X_train, y_train)
y_pred = classifier.predict(X_test)
Requires numpy, scipy, scikit-learn, and other dependencies; some optional clusterers require GPL-licensed packages.
Verify before relying
- Whether the package works with current versions of scikit-learn and numpy given its 2018 release date.
- Compatibility with modern Python versions not specified in the fact sheet.
- Whether the MEKA wrapper and other integrations remain functional without active maintenance.
- Current state of optional GPL-licensed dependencies (python-igraph, python-graphtool) and their installation complexity.
Package facts
| License | BSD (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | abandoned — 2,804 days since the last release |
| First released | |
| Downloads | 77,746/month — #14,500 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: scikit_multilearn-0.2.0-py2-none-any.whl; scikit_multilearn-0.2.0-py3-none-any.whl
Tags
More Scientific/Engineering packages
NumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
pandaspandas provides fast, flexible data structures…
permissive · top 100 on PyPI
scipyscipy provides numerical algorithms for…
permissive · top 100 on PyPI
scikit-learnscikit-learn provides a comprehensive Python…
permissive · top 1,000 on PyPI
dilldill extends Python's pickle module to…
permissive · top 1,000 on PyPI
multiprocessMultiprocess is an enhanced fork of Python's…
permissive · top 1,000 on PyPI
ngboostNGBoost implements Natural Gradient Boosting…
permissive · top 15,000 on PyPI
scikit-plotScikit-plot generates publication-ready…
permissive · top 15,000 on PyPI
pytabkitPyTabKit provides scikit-learn interfaces to…
permissive · top 15,000 on PyPI
spark-sklearnDistributes scikit-learn model training and…
permissive · top 15,000 on PyPI
pyriemannpyRiemann provides scikit-learn-compatible…
permissive · top 15,000 on PyPI
tabiclTabICL is a scikit-learn-compatible tabular…
permissive · top 15,000 on PyPI
eli5Explains predictions and weights of machine…
permissive · top 15,000 on PyPI
tslearntslearn provides machine learning algorithms…
permissive · top 15,000 on PyPI
yellowbrickYellowbrick provides scikit-learn-integrated…
permissive · top 15,000 on PyPI