alteryx/featuretools

An open source python library for automated feature engineering

What it solves

Featuretools is designed to automate the feature engineering process, which is often a manual and time-consuming part of machine learning workflows. It allows users to automatically create a single table of features from multiple related tables of data, transforming raw data into a feature vector for each target entity (e.g., customers) that can be used for machine learning models.

How it works

The library uses a process called Deep Feature Synthesis (DFS), which automatically calculates features across multiple tables. It utilizes "primitives"—the building blocks for creating features—to perform calculations. These primitives can be the built-in ones provided by the library or custom-defined by the user. It can handle multi-table datasets, such as timestamped customer transactions, and can scale to large datasets using Dask support.

Who it’s for

Data scientists and machine learning engineers who need to efficiently generate features from relational data for their ML pipelines.

Highlights

  • Automated Feature Engineering: Uses Deep Feature Synthesis to automatically generate feature matrices from multi-table datasets.
  • Custoimzable Primitives: Includes a variety of built-in primitives and optional add-ons for NLP and premium features, while allowing users to define their own custom primitives.
  • Scalability: Supports Dask for running DFS on large datasets with multiple jobs.
  • Multi-table Support: Specifically designed to handle complex relational data structures (entitysets).

Related

  • Project
  • Project
  • Project
  • Project
  • Project