API design for machine learning software: experiences from the scikit-learn project
arXiv:1309.0238
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.
Cited by in corpus (77)
- Data Synthesis based on Generative Adversarial Networks
- Quantum advantage in learning from experiments
- TensorLy: Tensor Learning in Python
- TweepFake: about Detecting Deepfake Tweets
- sktime: A Unified Interface for Machine Learning with Time Series
- AtomAI: A Deep Learning Framework for Analysis of Image and Spectroscopy Data in (Scanning) Transmission Electron Microscopy and Beyond
- Evasion and Hardening of Tree Ensemble Classifiers
- Statistical and machine learning ensemble modelling to forecast sea surface temperature
- Predicting Water Temperature Dynamics of Unmonitored Lakes with Meta Transfer Learning
- Adiabatic Quantum Linear Regression
- Generalisation error in learning with random features and the hidden manifold model
- Rule Extraction in Unsupervised Anomaly Detection for Model Explainability: Application to OneClass SVM
- Assessing the Local Interpretability of Machine Learning Models
- Knowledge transfer across cell lines using Hybrid Gaussian Process models with entity embedding vectors
- Machine-learning error models for approximate solutions to parameterized systems of nonlinear equations
- Deep Neural Networks with Weighted Averaged Overnight Airflow Features for Sleep Apnea-Hypopnea Severity Classification
- PHOTONAI -- A Python API for Rapid Machine Learning Model Development
- Analysis of Trajectory Similarity and Configuration Similarity in On-the-Fly Surface-Hopping Simulation on Multi-Channel Nonadiabatic Photoisomerization Dynamics
- Ludwig: a type-based declarative deep learning toolbox
- A Topic Coverage Approach to Evaluation of Topic Models
- All-Clear Flare Prediction Using Interval-based Time Series Classifiers
- Tick: a Python library for statistical learning, with a particular emphasis on time-dependent modelling
- A method to challenge symmetries in data with self-supervised learning
- Optimal Decision Making Under Strategic Behavior
- Recognizing Characters in Art History Using Deep Learning
- Various Approaches to Aspect-based Sentiment Analysis
- Exploratory Gradient Boosting for Reinforcement Learning in Complex Domains
- Utilizing Smartphone-Based Machine Learning in Medical Monitor Data Collection: Seven Segment Digit Recognition
- Socialbots supporting human rights
- A Comparative Study of Machine Learning Models for Predicting the State of Reactive Mixing
- Prediction Uncertainty Estimation for Hate Speech Classification
- The SDSS-Gaia View of the Color-Magnitude Relation for Blue Horizontal-branch Stars
- DiviK: Divisive intelligent K-Means for hands-free unsupervised clustering in big biological data
- Discriminating Quantum States with Quantum Machine Learning
- Kissing Cuisines: Exploring Worldwide Culinary Habits on the Web
- Karate Club: An API Oriented Open-source Python Framework for Unsupervised Learning on Graphs
- New Insights into Bootstrapping for Bandits
- Prediction of next career moves from scientific profiles
- Learning Context-Adaptive Task Constraints for Robotic Manipulation
- Enabling Collaborative Data Science Development with the Ballet Framework
- VIS-iTrack: Visual Intention through Gaze Tracking using Low-Cost Webcam
- Testing the robustness of simulation-based gravitational-wave population inference
- Dual Extrapolation for Sparse Generalized Linear Models
- megaman: Manifold Learning with Millions of points
- A local approach to parameter space reduction for regression and classification tasks
- Predicting Fluid Intelligence of Children using T1-weighted MR Images and a StackNet
- MS2: Multi-Document Summarization of Medical Studies
- Sparsely constrained neural networks for model discovery of PDEs
- Large-Scale Intelligent Microservices
- Entropy Guided Spectrum Based Bug Localization Using Statistical Language Model
- Global Sensitivity Analysis on Numerical Solver Parameters of Particle-In-Cell Models in Particle Accelerator Systems
- Exploiting random projections and sparsity with random forests and gradient boosting methods -- Application to multi-label and multi-output learning, random forest model compression and leveraging input sparsity
- Novel Prediction Techniques Based on Clusterwise Linear Regression
- Infrequent adverse event prediction in low carbon energy production using machine learning
- Stance Prediction for Russian: Data and Analysis
- Type Safety with JSON Subschema
- Query2Vec: An Evaluation of NLP Techniques for Generalized Workload Analytics
- Too Many Claims to Fact-Check: Prioritizing Political Claims Based on Check-Worthiness
- Pediatric brain tumor classification using digital histopathology and deep learning: evaluation of SOTA methods on a multi-center Swedish cohort
- Learning to Segment 3D Point Clouds in 2D Image Space
- Contextual Bandits with Stochastic Experts
- Predicting Eating Events in Free Living Individuals -- A Technical Report
- INFODENS: An Open-source Framework for Learning Text Representations
- MMLSpark: Unifying Machine Learning Ecosystems at Massive Scales
- Predictive Independence Testing, Predictive Conditional Independence Testing, and Predictive Graphical Modelling
- Centroid Based Binary Tree Structured SVM for Multi Classification
- salmon: A Symbolic Linear Regression Package for Python
- A semi-supervised deep learning algorithm for abnormal EEG identification
- Feature Importance Guided Attack: A Model Agnostic Adversarial Attack
- A machine learning model for identifying cyclic alternating patterns in the sleeping brain
- The Relevance of Text and Speech Features in Automatic Non-native English Accent Identification
- Ethnicity sensitive author disambiguation using semi-supervised learning
- Towards transparent and data-driven fault detection in manufacturing: A case study on univariate, discrete time series
- e4clim 1.0 : The Energy for CLimate Integrated Model: Description and Application to Italy
- Guidelines for data analysis scripts
- Shapley values and machine learning to characterize metamaterials for seismic applications
- Test-Cost Sensitive Methods for Identifying Nearby Points