GC.OS Logo
GC.OS Brandmark

Feature-engine

Feature-engine ist eine Open-Source-Python-Bibliothek für Feature Engineering, die nativ mit pandas DataFrames arbeitet und sich nahtlos in scikit-learn-Pipelines integriert.

Zurück zu Projekten

Feature-engine ist eine leistungsfähige Open-Source-Python-Bibliothek für Feature Engineering im Machine Learning. Sie wurde entwickelt, um die Stärken von pandas und scikit-learn zu vereinen und Datenvorverarbeitung reproduzierbar, transparent und pipeline-fähig zu machen.

Im Gegensatz zu vielen scikit-learn-Standardansätzen arbeitet Feature-engine nativ mit DataFrames: Spaltennamen und -reihenfolge bleiben erhalten, was Analyse, Debugging und Deployment deutlich vereinfacht.

Warum Feature-engine?

Feature Engineering ist einer der zeitintensivsten und wichtigsten Schritte im Machine Learning. Rohdaten sind selten direkt modellfähig. Feature-engine adressiert genau dieses Problem, indem es:

  • pandas-Funktionalität in fit/transform-fähige Transformer kapselt

  • Parameter aus Trainingsdaten lernt und speichert

  • Transformationen vollständig scikit-learn-kompatibel macht

Damit eignet sich Feature-engine ideal für strukturierte, nachvollziehbare und produktionsreife ML-Pipelines.

Zentrale Eigenschaften

  • Rückgabe von DataFrames statt NumPy-Arrays

  • Transformation gezielter Feature-Gruppen ohne ColumnTransformer

  • Nahtlose Integration in scikit-learn Pipelines, Grid Search und Cross-Validation

  • Automatische Erkennung numerischer, kategorischer und Datetime-Variablen

  • Robuste Validierung und Warnungen bei ungültigen Transformationen

  • Umfangreichste Sammlung an Feature-Engineering-Transformern im Python-Ökosystem

Unterstützte Feature-Engineering-Bereiche

Fehlende Werte (Missing Data Imputation)

  • Mittelwert-, Median-, Zufalls- oder Tail-Imputation

  • Kategorische Imputation

  • Missing Indicators

  • Entfernen von Zeilen mit fehlenden Werten

Kategorische Kodierung

  • One-Hot-Encoding

  • Ordinal-, Frequency- und Target-Encoding

  • Weight of Evidence (WoE)

  • Decision-Tree-basierte Encoder

  • Gruppierung seltener Kategorien

Diskretisierung

  • Equal Width / Equal Frequency

  • Benutzerdefinierte Bins

  • Entscheidungsbaum-basierte Diskretisierung

  • Geometrische Intervalle

Outlier-Behandlung

  • Winsorisierung

  • Trimmen

  • Benutzerdefinierte Grenzwerte

Numerische Transformationen

  • Log-, Box-Cox- und Yeo-Johnson-Transformationen

  • Power- und Reziprok-Transformationen

  • Arcsin-Transformation

Feature-Erstellung

  • Mathematische Feature-Kombinationen

  • Relative Features

  • Zyklische Features (Sinus/Cosinus)

  • Entscheidungsbaum-basierte Features

Datetime-Features

  • Extraktion von Zeit- und Datumsbestandteilen

  • Differenzen zwischen Datetime-Variablen

Feature-Selektion

  • Entfernen konstanter, duplizierter oder korrelierter Features

  • PSI- und Information-Value-basierte Selektion

  • Rekursive Feature-Elimination und -Addition

  • MRMR (Maximum Relevance Minimum Redundancy)

Zeitreihen & Forecasting

  • Lag-Features

  • Rolling- und Expanding-Windows

  • Aggregationen über Zeitfenster

Preprocessing & Skalierung

  • Sicherstellung konsistenter Datentypen

  • Abgleich von Train- und Test-Features

  • Selektive Anwendung von scikit-learn-Scalern

Open Source & Community

Feature-engine ist BSD-3-Clause-lizenziert, vollständig Open Source und wird aktiv auf GitHub weiterentwickelt. Beiträge in Form von Code, Dokumentation, Bugreports oder Erfahrungsberichten sind ausdrücklich willkommen.

Das Projekt wird von einer engagierten Community getragen und durch Sponsoring unterstützt, um langfristig Qualität, Wartbarkeit und Innovation sicherzustellen.

Einsatzgebiete

  • Data Science & Machine Learning

  • Reproduzierbare ML-Pipelines

  • Feature Engineering für strukturierte Daten

  • Zeitreihenanalyse und Forecasting

  • Forschung, Lehre und industrielle Anwendungen

Team

Soledad Galli

Soledad Galli

Train In Data