Vue d'ensemble

Scikit-learn 1.0, publie le 25 septembre 2021, est la premiere version majeure stable. Elle ajoute le support des noms de features et impose les parametres par mot-cle uniquement.

Fonctionnalites principales

Noms de features

Les transformeurs et estimateurs conservent desormais les noms des colonnes via l'attribut feature_names_in_ et la methode get_feature_names_out().

python
import pandas as pd
from sklearn.preprocessing import StandardScaler
from sklearn.pipeline import Pipeline

df = pd.DataFrame({
    'age': [25, 30, 35],
    'salaire': [30000, 45000, 55000],
})

scaler = StandardScaler()
scaler.fit(df)

# Noms de features conserves
print(scaler.feature_names_in_)  # ['age', 'salaire']
print(scaler.get_feature_names_out())  # ['age', 'salaire']

Parametres keyword-only

Les parametres des constructeurs d'estimateurs deviennent keyword-only, empechant les appels positionnels ambigus et ameliorant la lisibilite du code.

python
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import cross_val_score
import numpy as np

# Parametres nommes obligatoires (keyword-only)
clf = RandomForestClassifier(
    n_estimators=100,
    max_depth=5,
    random_state=42,
)

X = np.random.randn(100, 4)
y = (X[:, 0] > 0).astype(int)
scores = cross_val_score(clf, X, y, cv=5)
print(f'Score moyen : {scores.mean():.3f}')

Sources