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

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.
Document type :
Conference papers
Complete list of metadatas

Cited literature [21 references]  Display  Hide  Download

https://hal.inria.fr/hal-00856511
Contributor : Gaël Varoquaux <>
Submitted on : Sunday, September 1, 2013 - 5:31:15 PM
Last modification on : Thursday, March 7, 2019 - 3:34:14 PM
Long-term archiving on : Monday, December 2, 2013 - 8:55:29 AM

Files

paper.pdf
Files produced by the author(s)

Identifiers

  • HAL Id : hal-00856511, version 1
  • ARXIV : 1309.0238

Citation

Lars Buitinck, Gilles Louppe, Mathieu Blondel, Fabian Pedregosa, Andreas Mueller, et al.. API design for machine learning software: experiences from the scikit-learn project. European Conference on Machine Learning and Principles and Practices of Knowledge Discovery in Databases, Sep 2013, Prague, Czech Republic. ⟨hal-00856511⟩

Share

Metrics

Record views

3387

Files downloads

1297