Photo by Possessed Photography on Unsplash
AutoML and AutoEDA are two of the most popular and useful Python techniques for data science and machine learning. They allow you to automate some of the tedious and time-consuming tasks involved in data analysis and model building, such as exploratory data analysis, feature engineering, hyperparameter tuning, and model selection. In this blog post, I will introduce you to some of the best AutoML and AutoEDA libraries available in Python, and show you how to use them for different use cases. I will also discuss the advantages and disadvantages of using these libraries, and the future prospects of AutoML and AutoEDA.
Top 10 AutoML and AutoEDA Libraries in Python
There are many Python libraries that offer AutoML and AutoEDA functionalities. Here are some of the most popular and useful ones that you should know:
PyCaret: is an open-source library that provides an end-to-end machine learning workflow from data preparation to deployment. It supports over 50 algorithms for classification, regression, clustering.
pandas-profiling: pandas-profiling allows you to perform a quick EDA with just a few lines of code.
H2O: It supports a wide range of algorithms for supervised and unsupervised learning, such as linear models, tree-based models, deep learning, ensemble methods, clustering, anomaly detection.
AutoKeras: is an open-source library that uses neural architecture search to automatically create and optimize deep learning models. It can handle image classification, regression, text classification, structured data classification/regression.
AutoGluon: AutoGluon is an open-source library that offers AutoML functionalities. It uses neural architecture search to automatically create and optimize deep learning models on image, text, time series, and tabular data1234. AutoGluon-Tabular is a capability of AutoGluon that allows you to train machine learning models on tabular datasets from sources such as spreadsheets and database tables
TPOT: is an open-source library that uses genetic programming to automatically create and optimize machine learning pipelines. It can handle classification, regression, and multi-class problems. It can also perform feature engineering, feature selection, dimensionality reduction, imputation, scaling, etc. TPOT provides a simple interface that allows you to fit, score, export, or visualize your pipelines.
Ludwig: is an open-source library that allows you to train and test deep learning models without writing any code. It supports various types of data such as text, images, audio.
MLBox:is an open-source library that automates the entire machine learning pipeline from raw data to prediction. It supports various types of data such as text, images.
Snorkel: is an open-source library that allows you to create training data for machine learning models using weak supervision.
Neural Network Intelligence (NNI): is an open-source toolkit for neural architecture search and hyperparameter tuning.
References and Detailed Starter Notebooks
🤖Auto-ML |🧪Enzyme Substrate Dataset |⭐PyCaret
*Explore and run machine learning code with Kaggle Notebooks | Using data from Explore Multi-Label Classification with…*kaggle.com
🪙Credit Risk |🤖Training and EDA |⭐Precision:99%
Explore and run machine learning code with Kaggle Notebooks | Using data from Credit Risk Datasetkaggle.com
In depth report by pandas-profiling | 🌎SPI
*Explore and run machine learning code with Kaggle Notebooks | Using data from SPI Indicators- Statistical Performance…*kaggle.com
🤖Autoviz |🈸Japan Life Expectancy |📊EDA
Explore and run machine learning code with Kaggle Notebooks | Using data from 👵🏻 Japan life expectancykaggle.com
Some of the challenges and limitations of using AutoML and AutoEDA are:
Can be computationally expensive and resource-intensive by requiring a lot of processing power and memory.
Can be black-boxes that do not explain how they work or why they choose certain features, parameters, or algorithms.
Can be over-reliant on default settings or assumptions that may not suit your data or problem.
Can be difficult to customize or extend by requiring advanced knowledge or skills.
Thank you for reading 😄