Python for AI : Cheatlist
Tags: programming, python, ai, opensource
Published: 2024-03-20 16:15:40

## TL;DR

Getting into AI and ML without using Python is very difficult and, might I say, say, even impossible. 
So here's a list of prominent Python libraries for your AI and ML models. 
These libraries have been, and continue to be, institutions in the AI landscape. 


![Entry GIF](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/266e9yueqod1xbxu9dzu.png)

<hr/>

## Building an application for your AI

![Build](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/g058yt623luwj5hdl7db.png)

<hr/>

### 1- Taipy 

Taipy was created to give data scientists the skills to develop production-ready applications.

This open-source Python library is designed for easy development for front-end (GUI) and ML/Data pipelines. Don’t compromise on customization, performance, and scaling.

![Lisan](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/scksaelbdhxsyzkv0bdq.png)

{% cta https://github.com/Avaiga/taipy %} Star ⭐ the Taipy repository {% endcta %}

Your support means a lot🌱, and helps us in many ways, like writing articles! 🙏

<hr/>

### 2- Gradio 

This Python library facilitates the quick sharing of AI/ML models through easy-to-create basic applications. It’s a great way to showcase your model quickly.

{% cta https://github.com/gradio-app/gradio %} Star ⭐ the Gradio repository {% endcta %}

<hr/>

## AI and ML frameworks

![ML](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wv4gt1ny2wx6cp0brol4.png)

<hr/>

### 3- Scikit learn

This might be Python’s top 3 most famous libraries, and rightfully so.
Sklearn is a reference in Machine Learning. It includes different models such as K-means clustering, regression, and classification algorithms.
It also excels in dimension reduction techniques.
Sklearn also provides data selection and validation functions. It's easy to learn/use and should be your go-to ML library during your data science journey.

{% cta https://github.com/scikit-learn/scikit-learn %} Star ⭐ the Sklearn repository {% endcta %}

<hr/>


### 4- Tensorflow 

This library is a must-know for Neural Network modeling. Perfect when dealing with unstructured data such as image classification or NLP (Natural Language Processing). TensorFlow is widely used in research and industries as it provides a complete API for designing and manipulating Neural Networks. 

{% cta https://github.com/tensorflow/tensorflow %} Star ⭐ the TensorFlow repository {% endcta %}

<hr/>

### 5- Pytorch 

Pytorch is known for its more significant focus on natural language processing and a more Pythonic feel, reducing the steep learning curve for TensorFlow.

{% cta https://github.com/pytorch/pytorch %} Star ⭐ the PyTorch repository {% endcta %}

<hr/>


### 6- Keras 

Keras is a high-level API that runs on top of frameworks such as TensorFlow. If starting with Neural Networks, start with Keras. It is ideal for quick implementations as it simplifies the implementation process, making it the best beginner-friendly option for Neural Network implementation.

{% cta https://github.com/keras-team/keras %} Star ⭐ the Keras repository {% endcta %}

<hr/>

### 7- FastAI 

This library simplifies training fast and accurate neural nets; it’s built on top of PyTorch.

{% cta https://github.com/fastai/fastai  %} Star ⭐ the FastAI repository {% endcta %}

<hr/>

### 8- FLAML 

This library is a game changer. It finds and tests the optimal hyperparameters and machine learning models for your data and use cases.

{% cta https://github.com/microsoft/FLAML %} Star ⭐ the FLAML repository {% endcta %}

<hr/>

### 9- Catboost 

This library, standing for Categorical Boosting, is the way to go if your dataset predominantly consists of categorical data. This library will remove the preprocessing headache of complex one-hot encoding, eliminating the need to preprocess categorical data. It can provide better accuracy than XGBoost when running with default parameters.

{% cta https://github.com/catboost/catboost %} Star ⭐ the Catboost repository {% endcta %}

<hr/>

### 10- PyCaret 

This is an excellent Machine Learning automation tool. It automates all your ML workflows easily as it is low code.

{% cta https://github.com/pycaret/pycaret %} Star ⭐ the PyCaret repository {% endcta %}

<hr/>

### 11- H20 

H20 is a user-friendly machine-learning platform for more innovative applications. It is fast and scalable. It includes algorithms for Deep Learning, GLM, PCA, RulkeFIt, etc… 

{% cta https://github.com/h2oai/h2o-3 %} Star ⭐ the H20 repository {% endcta %}

<hr/>

### 12- XGBoost 

XGBoost is one of the most popular libraries regarding Machine Learning algorithms.
This gradient-boosting library is widely used in real-life use cases, particularly for tabular data.
It is a favorite among Kaggle competition winners.
This library includes regression and classification algorithms but also provides feature selection tools.

{% cta https://github.com/dmlc/xgboost %} Star ⭐ the XGBoost repository {% endcta %}

<hr/>

### 13- TPOT 

This library for AutoML will optimize your Machine Learning pipelines using genetic programming.

{% cta https://github.com/EpistasisLab/tpot  %} Star ⭐ the TPOT repository {% endcta %}

<hr/>

### 14- ChatterBot 

Quickly build your chatbot with this library. You’ll be able to enhance your user engagement and interactions and services.

{% cta https://github.com/gunthercox/ChatterBot %} Star ⭐ the ChatterBot repository {% endcta %}

<hr/>

## Natural Language Processing (NLP)


![NLP](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yogn3jkoc632dsmh264d.png)

<hr/>

### 15- NTLK 

NLTK is an essential toolkit for Natural Language Processing.
NLTKs' key features include processing and manipulating text( tokenization, stemming, etc.…) and classifications with NLP tasks for sentiment analysis, for example.

{% cta https://github.com/nltk/nltk %} Star ⭐ the NLTK repository {% endcta %}

<hr/>

### 16- SpaCy 

It is the newer kid on the block, focusing on making NLP more accessible and user-friendly.
The library optimized the process to guarantee incredible speed and efficiency.

{% cta https://github.com/explosion/spaCy %} Star ⭐ the SpaCy repository {% endcta %}

<hr/>

### 17- Gensim 

This library specializes in topic modeling and document similarity—a good fit for your unsupervised text use cases and tasks.

{% cta https://github.com/RaRe-Technologies/gensim %} Star ⭐ the Gensim repository {% endcta %}

<hr/>

### 18- HF transformers 

This is your tool for advanced NLP tasks. This library has state-of-the-art natural language processing models and algorithms.

{% cta https://github.com/huggingface/transformers %} Star ⭐ the HF transformers repository {% endcta %} 

<hr/>

## Model Visualization & Evaluation


![Eval](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3vd6oxq2vhdk074imoj9.png)

<hr/>

### 19- Matplotlib 

Matplotlib is the main widget library in Python, and for a good reason.
Matplotlib allows the plotting of 2D graphs with a wide range of chart types and also allows for significant customization.
The fine-grain control of the elements is a real advantage of this library.

{% cta https://github.com/matplotlib/matplotlib %} Star ⭐ the Matplotlib repository {% endcta %}

<hr/>

### 20- imbalanced-learn 

This library gives you tools for dealing with imbalanced data—a life-saver when your dataset is far from balanced.

{% cta https://github.com/scikit-learn-contrib/imbalanced-learn %} Star ⭐ the imbalanced-learn repository {% endcta %}

<hr/>

### 21- SHAP 

This library helps generate an explanation of your model’s output. It’s a great way to bring in some interpretability in black-grey box models.

{% cta https://github.com/slundberg/shap %} Star ⭐ the SHAP repository {% endcta %}

<hr/>

### 22- Missingno 

It is a great solution to identify missing values in your data. Missingo helps you visualize them quickly, making this process simpler and more efficient.

{% cta https://github.com/ResidentMario/missingno %} Star ⭐ the Missingno repository {% endcta %}

<hr/>

### 23- Lazy predict 

It helps build baseline models to compare and evaluate without extensive code. A great tool for newbies in ML. It is low-code and takes care of the parameter-tuning hassle for you.

{% cta https://github.com/shankarpandala/lazypredict  %} Star ⭐ the Lazy Predict repository {% endcta %}

<hr/>

### 24- Category Encoders 

This library will help you deal with categorical data. It helps build baseline models to compare and evaluate without extensive code. This library is Sklearn compatible.

{% cta https://github.com/scikit-learn-contrib/category_encoders %} Star ⭐ the Category Encoders repository {% endcta %}

<hr/>

## Computer Vision


![Computer Vision](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bi998xxqqx9u8am9ulhx.png)

<hr/>

### 25- OpenCV 

OpenCV provides various algorithms around real-time computer vision.
You can process multiple formats, including objects, humans, and handwriting.

{% cta https://github.com/opencv/opencv %} Star ⭐ the OpenCV repository {% endcta %}

<hr/>

## Have fun!

Exploring these libraries will allow you to handle most AI and ML use cases. Python libraries go beyond tools, they participate in the continuous innovation in the AI landscape, so make sure to support them!