Overview

Scikit-learn 1.4, released on January 23, 2024, adds Polars input support and improves HistGradientBoosting with native categorical support.

Main Features

Polars support

Estimators now accept Polars DataFrames as input, preserving column names in output via set_output.

python
import polars as pl
from sklearn.preprocessing import StandardScaler

df = pl.DataFrame({'a': [1.0, 2.0, 3.0], 'b': [4.0, 5.0, 6.0]})
scaler = StandardScaler().set_output(transform='polars')
result = scaler.fit_transform(df)
print(type(result))  # polars.DataFrame
print(result.columns)  # ['a', 'b']

Categorical HistGradientBoosting

HistGradientBoostingClassifier handles categorical columns natively without prior encoding, simplifying pipelines.

python
from sklearn.ensemble import HistGradientBoostingClassifier
import numpy as np

X = np.array([[0, 1.2], [1, 3.4], [2, 5.6], [0, 2.1]])
y = [0, 1, 1, 0]

clf = HistGradientBoostingClassifier(
    categorical_features=[0],  # column 0 = categorical
)
clf.fit(X, y)
print(clf.predict(X))  # [0, 1, 1, 0]

Sources