feature-engine/feature_engine

Feature engineering and selection open-source Python library compatible with sklearn.

What it solves

Feature-engine provides a comprehensive set of tools to engineer and select features for machine learning models, simplifying the process of preparing raw data for model training. It addresses the challenge of transforming raw variables into a format that improves model performance and handles common data issues like missing values, outliers, and categorical data.

How it works

The library consists of multiple transformers that follow the Scikit-learn API, utilizing fit() and transform() methods. This allows the library to learn transformation parameters from a training dataset and apply the same transformations consistently across training and test sets.

Who it’s for

It is designed for data scientists and machine learning engineers who use Python and Scikit-learn to build predictive models and need a robust way to handle feature engineering and selection.

Highlights

  • Extensive Imputation: Includes various methods for handling missing data, such as mean, median, and random sample imputation.
  • Categorical Encoding: Offers a wide range of encoding techniques, including One-Hot, Ordinal, and Weight of Evidence (WoE) encoding.
  • Feature Selection: Provides tools to drop correlated features, remove constant features, and use recursive feature elimination.
  • Diverse Transformations: Supports variable scaling, discretisation, and specific transformations for datetime, text, and time series data.
  • Scikit-learn Integration: Fully compatible with Scikit-learn pipelines, making it easy to integrate into existing ML workflows.

Related

  • Project
  • Project
  • Project
  • Project
  • Project