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]
