AI & Analytics

Scikit-Learn: handige cheat sheet voor feature engineering

KDnuggets
Scikit-Learn: handige cheat sheet voor feature engineering

Samenvatting

Scikit-Learn feature engineering krijgt van KDnuggets een cheat sheet voor preprocessing en modeltuning in Pipelines.

Scikit-Learn Pipelines bundelen feature engineering

De cheat sheet laat zien hoe preprocessing binnen een Pipeline hoort, zodat elke stap alleen trainingsdata ziet. Daarmee voorkom je dat informatie uit een validatiefold al vóór de modelschatting in de preprocessing terechtkomt. Een cross-validatiescore weerspiegelt dan beter wat het model werkelijk presteert op nieuwe data.

ColumnTransformer behandelt numerieke en categorische kolommen afzonderlijk. Met make_column_selector selecteer je kolommen op datatype, zodat een nieuwe kolom niet automatisch handmatige aanpassingen aan de pipeline vereist. SimpleImputer met add_indicator=True bewaart bovendien informatie over waar waarden ontbreken.

Voor categorische variabelen noemt de cheat sheet OneHotEncoder met handle_unknown=ignore. Die instelling voorkomt fouten wanneer een model tijdens voorspellingen een categorie ziet die niet in de trainingsdata stond. TargetEncoder past volgens de auteur beter bij categorische variabelen met een hoge cardinaliteit dan one-hot encoding.

Waarom Scikit-Learn Pipelines belangrijk zijn

De meerwaarde zit niet in losse transformers, maar in hun plaats binnen één reproduceerbare keten. Een notebook met handmatig geschaalde kolommen, apart gecodeerde categorieën en een later gefit model maakt datalekken makkelijk. Een Pipeline legt de volgorde vast en zorgt dat cross-validation dezelfde preprocessingregels per trainingsfold toepast.

Ook inspectie krijgt aandacht. Met set_output(transform=pandas) en get_feature_names_out() zie je welke kolommen de pipeline produceert. Dat helpt wanneer ColumnTransformer en PolynomialFeatures het aantal variabelen sterk uitbreiden. GridSearchCV kan vervolgens niet alleen regularisatie, maar ook imputatiestrategieën tegelijk afstellen.

Concrete takeaway voor Scikit-Learn

Zet schalen, imputeren, coderen en feature-uitbreiding voortaan in dezelfde Pipeline als de estimator. Gebruik daarna GridSearchCV voor preprocessingparameters en modelinstellingen, en controleer met get_feature_names_out() welke variabelen werkelijk uit de keten komen.

Lees het volledige artikel
Meer over AI & Analytics →