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}')
