PyCaret 3 is coming… What’s New?

Moez Ali
5 min readNov 26, 2022
Photo by Samuel Regan-Asante on Unsplash


PyCaret is an open-source, low-code machine learning library in Python that automates machine learning workflows. It is an end-to-end machine learning and model management tool that speeds up the experiment cycle exponentially and makes you more productive.

To learn more about PyCaret, you can check the official website or GitHub.

PyCaret 3.0 is in making for almost a year now. The final release candidate (rc5) for PyCaret 3 is expected to be released by end November and the final 3.0 release by end of 2022.

pycaret3-rc release history. Image Source

Fully compatible with scikit-learn 1.X

PyCaret 2 has a hard dependency on scikit-learn 0.23.2. This prevents you from using the latest version of scikit-learn (1.X) with PyCaret in the same environment.

PyCaret 3 will be fully compatible with the latest version of the scikit-learn.

Objected Oriented API

While PyCaret is excellent, it lacks the way that Python programmers typically operate. through classes and objects. Well, this modification forced us to reconsider a lot of the early design choices we made for the 1.0 release. It goes without saying that this is a major adjustment that will be difficult to implement. Let’s examine the implications for you.

# Functional API (Existing)

# load dataset
from pycaret.datasets import get_data
data = get_data('juice')

# init setup
from pycaret.classification import *
s = setup(data, target = 'Purchase', session_id = 123)

# compare models
best = compare_models()
Output from compare_models

This is fantastic, but what if you later want to perform a different experiment in the same notebook with different setup function parameters? You can do it, but the original…

Moez Ali

Data Scientist, Founder & Creator of PyCaret