High-level APIs in machine learning are the best way to accelerate data science workflows. With a slew of tools available in the market, startups and enterprises are deploying machine learning tools to automate repetitive tasks. ML software libraries with APIs such as TensorFlow, Keras and Scikit have simplified the implementation to a great extent by providing more flexibility with user experience as well as the ease of working with ML applications.
But data science practitioners have for long argued the effectiveness of APIs that have dumbed down computer science for beginners. While APIs increases the productivity by testing a bunch of models and cranking out the best model, it can also promote the black box problem as practitioner’s lack basic understanding of how algorithms work.
For example, an article in KD Nuggets clearly cites how the availability of toolkits with consistent APIs takes out the grunt work and provides a “convenient level of abstraction” but it doesn’t guarantee a thorough understanding of results. In the words of Matthew Mayo, ML researcher, implementing ML models is easier with libraries but does it go too far up in terms of abstraction for beginners to truly understand the theory of the algorithms?
API Abstraction: Is It Complicated?
Just like any other software projects, even ML involves a certain level of abstraction. In other words, abstraction refers to how well the algorithms fit into the context when compared to just being an ideation. For instance, API calls (number of times an API function is requested) are used instead of writing more lines of code for specific functions. This way the abstraction level is made simple for users as well as developers in a specific ML project. It leads to just a few lines of code for execution with more ML features such as clustering, covariates, dimensionality reduction among others, in the context.
As developers use more of ML software packages and libraries, the open source community in ML also tend to grow alongside, due to large inputs and changes in the software. They get better in terms of code and software availability. However, as the community grows bigger, lots of ideas spring up which may make basic concepts in the field look obscure. Also, not every ML aspect would be applicable for real world problems. This blurs simplicity again.
Easy-to-use APIs Are Paving The Way For Faster ML Workflows — But Does This Approach Lead To A Watered-Down Learning For Newcomers?
Data science practitioners often argue that most of their time is spent in data cleaning and feature engineering, that leaves less time for algorithm selection and tuning. High-level APIs allow practitioners to test a bunch of feature engineering steps which gives more time to devote to algorithmic tuning and reduce model errors to get better outcomes.
Critics argue that lesser abstraction and more simplicity will lead to decline in technical quality with regards to ML algorithms as well as its applications. With everyone approaching ML, it may be omnipresent and have dangerous consequences. For example, an API written for a certain application, if made available for free, might be tweaked to corrupt the application itself. Generally, APIs act as a layer of security since it shares only what is necessary for the application but because of making it simpler, even this can be compromised.
Here’s Why A High-Level Understanding Is A Must For Newcomers
- In ML, programming is vital along with the knowledge of problem-solving and math. Most users prefer learning high-level languages instead of low-level or assembly-level languages which is difficult to master.
- With Python and R being popular programming languages for ML and AI, developers learn to create high-level APIs in either of these languages.
- Python is more suited for ML and AI whereas R is focussed more towards statistical analysis and related computing.
- Nevertheless, APIs do support other languages oriented towards ML.
- Another instance is of Keras, where it has simplified the process of constructing neural networks for beginners. Complex network types such as Convolutional Neural Networks (CNNs), Recurrent Neural Networks (RNNs) and even concepts like backpropagation are made easier to build and implement.
- The choice of APIs in machine learning is to be carefully evaluated before implementation. Although companies and developers who build high-level ML APIs make it easier for learners, care should be taken that the technicality and validity of APIs remains intact when it is made available in open-source platforms.
Try deep learning using MATLAB