Noms de features natifs

Scikit-learn 1.0 introduit le support natif des noms de features via get_feature_names_out(). Les transformateurs propagent les noms de colonnes à travers les pipelines, éliminant le besoin de suivre manuellement les correspondances.

Exemple avec Pipeline

python
import pandas as pd
from sklearn.pipeline import Pipeline
from sklearn.preprocessing import StandardScaler, OneHotEncoder
from sklearn.compose import ColumnTransformer

df = pd.DataFrame({
    'age': [25, 30, 35],
    'salary': [30000, 50000, 70000],
    'city': ['Paris', 'Lyon', 'Paris'],
})

ct = ColumnTransformer([
    ('num', StandardScaler(), ['age', 'salary']),
    ('cat', OneHotEncoder(), ['city']),
])

ct.fit(df)
print(ct.get_feature_names_out())
# ['num__age', 'num__salary', 'cat__city_Lyon', 'cat__city_Paris']

Sources