← all repositories
feature-engine/feature_engine

All the feature grunt work, wrapped in fit() and transform()

Feature-engine packages dozens of messy data-prep tasks into transformers that drop straight into scikit-learn Pipelines.

2.3k stars Python ML Frameworks
feature_engine
Not currently ranked — collecting fresh signals.
star history

What it does

Feature-engine is a Python library that bundles common and specialized preprocessing steps into transformers using the familiar scikit-learn fit() and transform() interface. It covers missing-data imputation, categorical encoding, discretisation, outlier capping, variable creation, datetime and text extraction, time-series features, and feature selection. Because it follows the sklearn contract, it slots into existing Pipeline objects without wrapper headaches.

The interesting bit

Rather than leaving you to cobble together one-off scripts, the library maintains a single home for operations like Weight-of-Evidence encoding, high-PSI feature dropping, cyclical datetime decomposition, and geodistance calculation. It even includes a wrapper to make native scikit-learn preprocessors behave consistently with the rest of the ecosystem.

Key highlights

  • Covers the full feature lifecycle: imputation, encoding, transformation, creation, selection, and scaling
  • Includes specialized transformers like WoEEncoder, DropHighPSIFeatures, GeoDistanceFeatures, and MRMR that are hard to find in standard libraries
  • Native time-series support with LagFeatures, WindowFeatures, and ExpandingWindowFeatures
  • Sklearn-compatible Pipeline and make_pipeline helpers included
  • Published in the Journal of Open Source Software (JOSS)

Verdict

Worth a look if you spend more time wrangling features than tuning models and want a unified, sklearn-native toolkit. If your preprocessing needs stop at one-hot encoding and standard scaling, it is probably overkill.

Frequently asked

What is feature-engine/feature_engine?
Feature-engine packages dozens of messy data-prep tasks into transformers that drop straight into scikit-learn Pipelines.
Is feature_engine open source?
Yes — feature-engine/feature_engine is open source, released under the BSD-3-Clause license.
What language is feature_engine written in?
feature-engine/feature_engine is primarily written in Python.
How popular is feature_engine?
feature-engine/feature_engine has 2.3k stars on GitHub.
Where can I find feature_engine?
feature-engine/feature_engine is on GitHub at https://github.com/feature-engine/feature_engine.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.