Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Machine Learning
  3. Featuretools

Featuretools

BSD-3-ClausePythonv1.31.0

An open-source Python library for automated feature engineering using Deep Feature Synthesis.

Visit WebsiteGitHubGitHub
7.7k stars914 forks0 contributors

What is Featuretools?

Featuretools is a Python library that automates feature engineering for machine learning. It applies Deep Feature Synthesis (DFS) to transform raw transactional and relational data into meaningful feature matrices, significantly reducing manual effort in data preparation. The library works with multi-table datasets where entities are connected through foreign keys, generating features using built-in or custom primitives.

Target Audience

Data scientists and machine learning engineers working with relational or time-series datasets who need to automate the creation of predictive features from complex, multi-table data structures. It is particularly useful for practitioners dealing with transactional data, such as customer purchases or log events.

Value Proposition

Developers choose Featuretools for its ability to automatically generate a wide range of features across multiple related tables using temporal relationships, which manual coding would require extensive effort. Its flexibility with custom primitives and scalability options like Dask integration provides a balance of automation and control not always found in alternatives.

Overview

An open source python library for automated feature engineering

Use Cases

Best For

  • Automating feature engineering for multi-table relational datasets with timestamped transactions.
  • Generating aggregated features (e.g., counts, sums, modes) from complex entity relationships in machine learning pipelines.
  • Scaling feature computation on large datasets using parallel processing with Dask integration.
  • Creating custom feature calculation functions when built-in aggregation or transformation primitives are insufficient.
  • Building predictive models from raw transactional data, such as predicting customer purchases or user behavior.
  • Reducing manual data preparation time in data science projects by applying Deep Feature Synthesis to transform raw data into feature matrices.

Not Ideal For

  • Projects with non-relational or flat data files where entity relationships are undefined, as Featuretools relies on multi-table structures.
  • Real-time prediction systems needing low-latency, incremental feature updates on streaming data, since it's optimized for batch processing.
  • Simple datasets where manual feature creation is straightforward, as the overhead of defining entity sets and DFS may not be justified.

Pros & Cons

Pros

Automated Multi-Table Synthesis

Deep Feature Synthesis automatically generates features across related tables using temporal relationships, reducing manual effort for complex datasets like transactional records.

Flexible Custom Primitives

Allows users to define custom feature calculation functions when built-in primitives are insufficient, enabling domain-specific adaptations.

Scalability with Dask

Dask integration supports parallel processing for large datasets, making it efficient for handling big data in feature engineering pipelines.

Rich Built-in Primitives

Offers a wide range of aggregation, transformation, and time-based primitives out-of-the-box, covering common feature types without extra coding.

Cons

Steep Entity Setup Complexity

Defining entity sets with correct relationships and time indices requires careful data modeling, which can be error-prone and time-consuming for new users.

Feature Explosion Risk

DFS can generate an excessive number of features, leading to high-dimensional matrices that may require additional feature selection to avoid overfitting.

Limited Real-time Capabilities

Primarily designed for batch processing, lacking built-in support for incremental updates on streaming data, which limits use in real-time applications.

Frequently Asked Questions

Quick Stats

Stars7,676
Forks914
Contributors0
Open Issues151
Last commit1 month ago
CreatedSince 2017

Tags

#python-library#data-science#automl#automated-machine-learning#python#automated-feature-engineering#feature-generation#feature-engineering#scikit-learn#machine-learning#relational-data

Built With

p
pandas
P
Python
N
NumPy
D
Dask

Links & Resources

Website

Included in

Machine Learning72.2k
Auto-fetched 10 hours ago

Related Projects

PyTorch - Tensors and Dynamic neural networks in Python with strong GPU accelerationPyTorch - Tensors and Dynamic neural networks in Python with strong GPU acceleration

Tensors and Dynamic neural networks in Python with strong GPU acceleration

Stars102,845
Forks29,156
Last commit10 hours ago
keraskeras

Deep Learning for humans

Stars64,321
Forks19,788
Last commit3 days ago
streamlitstreamlit

Streamlit — A faster way to build and share data apps.

Stars45,708
Forks4,374
Last commit14 hours ago
gradiogradio

Build and share delightful machine learning apps, all in Python. 🌟 Star to support our work!

Stars43,488
Forks3,590
Last commit11 hours ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub