Improving the Learnability of Machine Learning APIs by Semi-Automated
  API Wrapping
  A major hurdle for students and professional software developers who want to
enter the world of machine learning (ML), is mastering not just the scientific
background but also the available ML APIs. Therefore, we address the challenge
of creating APIs that are easy to learn and use, especially by novices.
However, it is not clear how this can be achieved without compromising
expressiveness. We investigate this problem for scikit-learn, a widely used ML
API. In this paper, we analyze its use by the Kaggle community, identifying
unused and apparently useless parts of the API that can be eliminated without
affecting client programs. In addition, we discuss usability issues in the
remaining parts, propose related design improvements and show how they can be
implemented by semi-automated wrapping of the existing third-party API.
