Examples

This page contains detailed examples of how to use Lazy Predict in various scenarios.

Classification Example

Basic Classification

Here’s a basic example using the breast cancer dataset:

from lazypredict.Supervised import LazyClassifier
from sklearn.datasets import load_breast_cancer
from sklearn.model_selection import train_test_split

# Load data
data = load_breast_cancer()
X = data.data
y = data.target

# Split data
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=123)

# Create classifier
clf = LazyClassifier(verbose=0, ignore_warnings=True, custom_metric=None)

# Fit and get models
models, predictions = clf.fit(X_train, X_test, y_train, y_test)
print(models)

Classification with Custom Metric

You can use custom metrics for model evaluation:

from sklearn.metrics import f1_score

def custom_f1(y_true, y_pred):
    return f1_score(y_true, y_pred, average='weighted')

clf = LazyClassifier(verbose=0, ignore_warnings=True, custom_metric=custom_f1)
models, predictions = clf.fit(X_train, X_test, y_train, y_test)

Regression Example

Basic Regression

Here’s an example using the diabetes dataset:

from lazypredict.Supervised import LazyRegressor
from sklearn.datasets import load_diabetes
from sklearn.model_selection import train_test_split

# Load data
diabetes = load_diabetes()
X = diabetes.data
y = diabetes.target

# Split data
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=123)

# Create and fit regressor
reg = LazyRegressor(verbose=0, ignore_warnings=True, custom_metric=None)
models, predictions = reg.fit(X_train, X_test, y_train, y_test)
print(models)

Working with Pandas DataFrames

Lazy Predict works seamlessly with pandas DataFrames:

import pandas as pd

# Your DataFrame
df = pd.DataFrame(X, columns=diabetes.feature_names)

# Split features and target
X = df
y = pd.Series(diabetes.target)

# Rest remains the same
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
reg = LazyRegressor(verbose=0, ignore_warnings=True)
models, predictions = reg.fit(X_train, X_test, y_train, y_test)

Using with MLflow

Lazy Predict integrates with MLflow for experiment tracking:

import os
os.environ['MLFLOW_TRACKING_URI'] = 'sqlite:///mlflow.db'

# MLflow tracking will be automatically enabled
reg = LazyRegressor(verbose=0, ignore_warnings=True)
models, predictions = reg.fit(X_train, X_test, y_train, y_test)
# All metrics will be logged to MLflow automatically

Getting Model Objects

You can access the trained model objects:

# Get all trained models
model_dictionary = reg.provide_models(X_train, X_test, y_train, y_test)

# Access specific model
random_forest = model_dictionary['RandomForestRegressor']

# Make predictions with specific model
predictions = random_forest.predict(X_test)