Skip to main content
QUICK REVIEW

[Paper Review] A scikit-based Python environment for performing multi-label classification

Piotr Szymański, Tomasz Kajdanowicz|arXiv (Cornell University)|Feb 5, 2017
Text and Document Classification Technologies21 references118 citations
TL;DR

scikit-multilearn is a BSD-licensed Python library that extends scikit-learn with advanced multi-label classification algorithms, label space partitioning, and embedding methods, aiming for efficiency with sparse representations and integration with the Python data science stack.

ABSTRACT

scikit-multilearn is a Python library for performing multi-label classification. The library is compatible with the scikit/scipy ecosystem and uses sparse matrices for all internal operations. It provides native Python implementations of popular multi-label classification methods alongside a novel framework for label space partitioning and division. It includes modern algorithm adaptation methods, network-based label space division approaches, which extracts label dependency information and multi-label embedding classifiers. It provides python wrapped access to the extensive multi-label method stack from Java libraries and makes it possible to extend deep learning single-label methods for multi-label tasks. The library allows multi-label stratification and data set management. The implementation is more efficient in problem transformation than other established libraries, has good test coverage and follows PEP8. Source code and documentation can be downloaded from http://scikit.ml and also via pip. The library follows BSD licensing scheme.

Motivation & Objective

  • Provide a fast, scalable Python library for multi-label classification built on sparse matrices.
  • Extend scikit-learn with advanced algorithm adaptation and problem transformation methods.
  • Introduce label space partitioning and label embedding approaches for multi-label tasks.
  • Offer Python wrappers to MEKA/MULAN/WEKA Java stacks for broader method access.
  • Ensure compatibility with the Python data science stack and BSD licensing.

Proposed method

  • Implement multi-label algorithms including algorithm adaptation and problem transformation within scikit-learn style APIs.
  • Develop a framework for label space division using clustering, label co-occurrence graphs, random division, and expert-defined divisions.
  • Provide multi-label embedding methods such as CLEMS and LNEMLC with a general embedder for manifold learning.
  • Wrap Java multi-label stacks (MEKA, MULAN, WEKA) for Python users without licensing conflicts.
  • Enable using Keras-compatible models for multi-label tasks via a unified interface.
  • Operate primarily on sparse matrices to improve memory efficiency.

Experimental results

Research questions

  • RQ1How can multi-label classification methods be efficiently implemented within the scikit-learn ecosystem?
  • RQ2What frameworks (label space partitioning, embeddings, and graph-based divisions) improve performance for multi-label problems in Python?
  • RQ3How does scikit-multilearn compare to Java-based libraries (MEKA, MULAN) in terms of speed and memory on standard benchmarks?
  • RQ4Can scikit-multilearn integrate deep learning models for multi-label classification via Keras wrappers?
  • RQ5What level of BSD licensing and API compatibility is achievable while interfacing with non-Python stacks?

Key findings

  • scikit-multilearn is faster and more memory-efficient than competing Java libraries on several datasets when using label space division with Binary Relevance.
  • It often outperforms competitors with Label Powerset transformations, especially on larger label spaces.
  • The library provides sparse-mparse based improvements over other tools, achieving favorable runtime and memory profiles.
  • The 0.1 to 0.2 release timeline shows ongoing development and stable API with high test coverage (82% in 0.2.0).
  • It offers wrappers to MEKA/MULAN/WEKA and supports Keras-based models for multi-label tasks.

Better researchstarts right now

From reading papers to final review, dramatically reduce your research time.

No credit card · Free plan available

This review was created by AI and reviewed by human editors.