English

API design for machine learning software: experiences from the scikit-learn project

Machine Learning 2013-09-03 v1 Mathematical Software

Abstract

Scikit-learn is an increasingly popular machine learning li- brary. Written in Python, it is designed to be simple and efficient, accessible to non-experts, and reusable in various contexts. In this paper, we present and discuss our design choices for the application programming interface (API) of the project. In particular, we describe the simple and elegant interface shared by all learning and processing units in the library and then discuss its advantages in terms of composition and reusability. The paper also comments on implementation details specific to the Python ecosystem and analyzes obstacles faced by users and developers of the library.

Keywords

Cite

@article{arxiv.1309.0238,
  title  = {API design for machine learning software: experiences from the scikit-learn project},
  author = {Lars Buitinck and Gilles Louppe and Mathieu Blondel and Fabian Pedregosa and Andreas Mueller and Olivier Grisel and Vlad Niculae and Peter Prettenhofer and Alexandre Gramfort and Jaques Grobler and Robert Layton and Jake Vanderplas and Arnaud Joly and Brian Holt and Gaël Varoquaux},
  journal= {arXiv preprint arXiv:1309.0238},
  year   = {2013}
}
R2 v1 2026-06-22T01:18:42.407Z