Back to Search Start Over

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

Authors :
Buitinck, Lars
Louppe, Gilles
Blondel, Mathieu
Pedregosa, Fabian
Mueller, Andreas
Grisel, Olivier
Niculae, Vlad
Prettenhofer, Peter
Gramfort, Alexandre
Grobler, Jaques
Layton, Robert
Vanderplas, Jake
Joly, Arnaud
Holt, Brian
Varoquaux, Gaël
Source :
European Conference on Machine Learning and Principles and Practices of Knowledge Discovery in Databases (2013)
Publication Year :
2013

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.

Details

Database :
arXiv
Journal :
European Conference on Machine Learning and Principles and Practices of Knowledge Discovery in Databases (2013)
Publication Type :
Report
Accession number :
edsarx.1309.0238
Document Type :
Working Paper