IP Library Granted Patent US 12,639,634
Granted Patent B2
US 12,639,634 · App. 18/963,024 · Granted May 26, 2026

System and method of operationalizing automated feature engineering

Inventors: James Max Kanter (Boston, MA); Kalyan Kumar Veeramachaneni (Watertown, MA)
Assignee: Alteryx, Inc.
G06N20/00G06F16/24578G06F16/285
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,639,634
App. No.
18/963,024
Granted
May 26, 2026
Kind
B2
Abstract

A feature engineering tool automatically generates a group of features for generating a machine learning model. The feature engineering tool selects primitives for a dataset and synthesizes a plurality of features based on the selective primitives and the dataset. The feature engineering tool iteratively applies the plurality of features to a different portion of the dataset to evaluate usefulness of the plurality of features. Based on the evaluation, it removes some of the plurality of features to obtain the group of features. The feature engineering tool also determines the importance factor for each feature in the group. The machine learning model is generated based on the features and their importance factors and can be used to make a prediction based on new data.

Claims (61)

1 . A method comprising:

receiving a dataset from a data source;

receiving a plurality of primitives, each of the plurality of primitives comprising a computation that, when applied to the dataset, creates at least one feature having at least one associated value;

selecting a subset of primitives from the plurality of primitives by generating a fingerprint representation for the dataset and inputting the fingerprint representation to a machine learning model trained to output primitives based on an input fingerprint representation, the fingerprint representation encoding a number of tables included in the dataset and a number of columns per table included in the dataset;

synthesizing a plurality of features by applying the subset of primitives to the dataset;

obtaining a subset of features from the plurality of features, the subset of features being obtained by evaluating the plurality of features during a plurality of iterations, each of the plurality of iterations comprising:

determining a first usefulness score based on a first portion of the dataset;

determining a second usefulness score based on a second portion of the dataset; and

removing at least one of the plurality of features from the subset of features based on the first usefulness score and the second usefulness score; and

generating a predictive computational model based on the subset of features, the predictive computational model configured to make a prediction based on new data.

2 . The method of claim 1 , wherein the at least one feature having the at least one associated value created by the computation of a primitive in the plurality of primitives is a new feature that is not included in the dataset.

3 . The method of claim 1 , wherein selecting the subset of primitives from the plurality of primitives based on the dataset further comprises inputting the fingerprint representation into a second machine learning model, the second machine learning model outputting the subset of primitives based on the fingerprint representation.

4 . The method of claim 1 , wherein obtaining a subset of features from the plurality of features is further performed based on an importance factor for at least one feature in the plurality of features.

5 . The method of claim 4 , further comprising determining the importance factor for the at least one feature in the plurality of features by:

ranking the plurality of features by inputting the plurality of features and a portion of the dataset into a ranking model trained to output a ranking score for each of the plurality of features; and

determining the importance factor for the at least one feature in the plurality of features based on a corresponding ranking score output by the ranking model.

6 . The method of claim 1 , wherein removing the at least one of the plurality of features from the subset of features based on the first usefulness score and the second usefulness score comprises:

generating a first subset of features by removing one or more of the first of features based on the first usefulness score; and

removing one or more features from the first subset of features based on the second usefulness score.

7 . The method of claim 1 , wherein selecting the subset of primitives from the plurality of primitives further comprises:

generating a semantic representation of the dataset; and

selecting primitives from the plurality of primitives having attributes matching the semantic representation of the dataset.

8 . The method of claim 1 , wherein the fingerprint representation for the dataset comprises a vector representation of the dataset.

9 . The method of claim 8 , wherein selecting the subset of primitives from the plurality of primitives comprises generating a corresponding vector representation for each of the plurality of primitives and comparing the vector representation of the dataset to the corresponding vector representation for each of the plurality of primitives.

10 . The method of claim 1 , wherein the fingerprint representation for the dataset encodes an average number of each column in a table of the dataset.

11 . The method of claim 1 , wherein the fingerprint representation for the dataset encodes an average number of each row in a table of the dataset.

12 . A system comprising:

one or more processors; and

a computer-readable storage medium storing instructions that are executable by the one or more processors to:

receive a dataset from a data source;

receive a plurality of primitives, each of the plurality of primitives comprising a computation that, when applied to the dataset, creates at least one feature having at least one associated value;

select a subset of primitives from the plurality of primitives by generating a fingerprint representation for the dataset and inputting the fingerprint representation to a machine learning model trained to output primitives based on an input fingerprint representation, the fingerprint representation encoding a number of tables included in the dataset and a number of columns per table included in the dataset;

synthesize a plurality of features by applying the subset of primitives to the dataset;

obtain a subset of features from the plurality of features, the subset of features being obtained by evaluating the plurality of features during a plurality of iterations, each of the plurality of iterations comprising:

determining a first usefulness score based on a first portion of the dataset;

determining a second usefulness score based on a second portion of the dataset; and

removing at least one of the plurality of features from the subset of features based on the first usefulness score and the second usefulness score; and

generate a predictive computational model based on the subset of features, the predictive computational model configured to make a prediction based on new data.

13 . The system of claim 12 , wherein the at least one feature having the at least one associated value created by the computation of a primitive in the plurality of primitives is a new feature that is not included in the dataset.

14 . The system of claim 12 , wherein the system is configured to select the subset of primitives from the plurality of primitives based on the dataset by inputting the fingerprint representation into a second machine learning model, wherein the second machine learning model is trained to the subset of primitives based on the fingerprint representation.

15 . The system of claim 12 , wherein the system is configured to remove the at least one of the plurality of features from the subset of features based on the first usefulness score and the second usefulness score by:

generating a first subset of features by removing one or more of the plurality of features based on the first usefulness score; and

removing one or more features from the first subset of features based on the second usefulness score.

16 . The system of claim 12 , wherein selecting the subset of primitives from the plurality of primitives further comprises:

generating a semantic representation of the dataset; and

selecting primitives from the plurality of primitives having attributes matching the semantic representation of the dataset.

17 . The system of claim 12 , wherein the fingerprint representation for the dataset further encodes at least one of:

an average number of each column in a table of the dataset; or

an average number of each row in a table of the dataset.

18 . A non-transitory computer-readable storage medium storing instructions that are executable by at least one processing device to perform operations comprising:

receiving a dataset from a data source;

receiving a plurality of primitives, each of the plurality of primitives comprising a computation that, when applied to the dataset, creates at least one feature having at least one associated value;

selecting a subset of primitives from the plurality of primitives by generating a fingerprint representation for the dataset and inputting the fingerprint representation to a machine learning model trained to output primitives based on an input fingerprint representation, the fingerprint representation encoding a number of tables included in the dataset and a number of columns per table included in the dataset;

synthesizing a plurality of features by applying the subset of primitives to the dataset;

obtaining a subset of features from the plurality of features, the subset of features being obtained by evaluating the plurality of features during a plurality of iterations, each of the plurality of iterations comprising:

determining a first usefulness score based on a first portion of the dataset;

determining a second usefulness score based on a second portion of the dataset; and

removing at least one of the plurality of features from the subset of features based on the first usefulness score and the second usefulness score; and

generating a predictive computational model based on the subset of features, the predictive computational model configured to make a prediction based on new data.

19 . The non-transitory computer-readable storage medium of claim 18 , wherein the at least one feature having the at least one associated value created by the computation of a primitive in the plurality of primitives is a new feature that is not included in the dataset.

20 . The non-transitory computer-readable storage medium of claim 18 , wherein obtaining a subset of features from the plurality of features is further performed based on an importance factor for at least one feature in the plurality of features.

Assignments (2)
INTELLECTUAL PROPERTY AGREEMENT SUPPLEMENT Recorded Dec 19, 2025
From: ALTERYX, INC.
To: SSLP LENDING, LLC
Reel/Frame 074007/0559 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 27, 2024
From: KANTER, JAMES MAX; VEERAMACHANENI, KALYAN KUMAR
To: ALTERYX, INC.
Reel/Frame 069426/0916 →
Continuity (3)
Continuation 18583205 · Feb 21, 2024
Continuation 17039428 · Sep 30, 2020
Related Publication 20250086519A1 · Mar 13, 2025
References Cited (90)
US 5182708A · Ejiri · 1993 [cited by examiner]
US 5371807A · Register · 1994 [cited by examiner]
US 6192360B1 · Dumais · 2001 [cited by examiner]
US 7366705B2 · Zeng · 2008 [cited by examiner]
US 7580742B2 · Tan · 2009 [cited by examiner]
US 7689531B1 · Diao · 2010 [cited by examiner]
US 7711673B1 · Diao · 2010 [cited by examiner]
US 7853599B2 · Liu · 2010 [cited by examiner]
US 8023974B1 · Diao · 2011 [cited by examiner]
US 8095521B2 · Chan · 2012 [cited by examiner]
US 8498986B1 · Botros · 2013 [cited by examiner]
US 8560466B2 · Diao · 2013 [cited by examiner]
US 8655803B2 · Lecerf · 2014 [cited by examiner]
US 9171057B2 · Botros · 2015 [cited by examiner]
US 9189750B1 · Narsky · 2015 [cited by examiner]
US 9249287B2 · Muraoka · 2016 [cited by examiner]
US 9292493B2 · Chandramouli · 2016 [cited by examiner]
US 9524469B1 · Mathew · 2016 [cited by examiner]
US 9552393B2 · Botros · 2017 [cited by examiner]
US 9645999B1 · Ciulla · 2017 [cited by examiner]
US 9715495B1 · Tacchi · 2017 [cited by examiner]
US 9740368B1 · Love · 2017 [cited by examiner]
US 9787705B1 · Love · 2017 [cited by examiner]
US 9836183B1 · Love · 2017 [cited by examiner]
US 9911211B1 · Damaraju · 2018 [cited by examiner]
US 9996800B2 · Mathew · 2018 [cited by examiner]
US 10318669B2 · Freeman · 2019 [cited by examiner]
US 10325212B1 · Paliwal · 2019 [cited by examiner]
US 10467533B2 · Kumar · 2019 [cited by examiner]
US 10482118B2 · Zheng · 2019 [cited by examiner]
US 10504035B2 · Shteingart · 2019 [cited by examiner]
US 10885463B2 · Hansen · 2021 [cited by examiner]
US 10963806B2 · Mathew · 2021 [cited by examiner]
US 11087088B2 · Chatterjee · 2021 [cited by examiner]
US 11257000B2 · Mathew · 2022 [cited by examiner]
US 11429899B2 · Kartoun · 2022 [cited by examiner]
US 11538314B2 · Chen · 2022 [cited by applicant]
US 11568314B2 · Wan · 2023 [cited by examiner]
US 11636367B2 · Manouchehri · 2023 [cited by examiner]
US 11663280B2 · Ahmadvand · 2023 [cited by examiner]
US 11693637B1 · Singh · 2023 [cited by examiner]
US 11698205B2 · Brown · 2023 [cited by examiner]
US 11727284B2 · Le Biannic · 2023 [cited by examiner]
US 12190218B2 · Kanter et al. · 2025 [cited by applicant]
US 20030101181A1 · Al-Kofahi · 2003 [cited by examiner]
US 20030208399A1 · Basak · 2003 [cited by examiner]
US 20090282012A1 · Konig · 2009 [cited by examiner]
US 20100150448A1 · Lecerf · 2010 [cited by examiner]
US 20100185568A1 · Bates · 2010 [cited by examiner]
US 20110213655A1 · Henkin · 2011 [cited by examiner]
US 20110224913A1 · Cui · 2011 [cited by examiner]
US 20120278263A1 · Borthwick · 2012 [cited by examiner]
US 20130097103A1 · Chari · 2013 [cited by examiner]
US 20130184538A1 · Lee · 2013 [cited by examiner]
US 20130185306A1 · Botros · 2013 [cited by examiner]
US 20130198187A1 · Botros · 2013 [cited by examiner]
US 20130304740A1 · Botros · 2013 [cited by examiner]
US 20140228714A1 · Chau · 2014 [cited by examiner]
US 20140236941A1 · Johns · 2014 [cited by examiner]
US 20140337820A1 · Km · 2014 [cited by examiner]
US 20160147891A1 · Chhichhia · 2016 [cited by examiner]
US 20170185902A1 · Kumar · 2017 [cited by examiner]
US 20180000403A1 · Chau · 2018 [cited by examiner]
US 20180018585A1 · Marin · 2018 [cited by examiner]
US 20180039911A1 · Bezzubtseva · 2018 [cited by examiner]
US 20180052932A1 · Catalano · 2018 [cited by examiner]
US 20180365248A1 · Zheng · 2018 [cited by examiner]
US 20190108276A1 · Kovács · 2019 [cited by examiner]
US 20190236206A1 · Chowdhury · 2019 [cited by examiner]
US 20190377784A1 · King · 2019 [cited by examiner]
US 20200079545A1 · Soehnlen et al. · 2020 [cited by applicant]
US 20200082810A1 · Kneller · 2020 [cited by examiner]
US 20200097545A1 · Chatterjee et al. · 2020 [cited by applicant]
US 20200311576A1 · Yamaguchi · 2020 [cited by examiner]
US 20210110208A1 · Ahmadvand · 2021 [cited by examiner]
US 20220253725A1 · Feng · 2022 [cited by examiner]
US 20240193485A1 · Kanter et al. · 2024 [cited by applicant]
WO 2019090023A1 · 2019 [cited by applicant]
Gangemi, 2018, Springer, pp. 128-144. [cited by examiner]
Kurkova, Springer, 2018, pp. 1-846. [cited by examiner]
“Notice of Allowance”, U.S. Appl. No. 18/583,205, filed Sep. 5, 2024, 21 pages. [cited by applicant]
“Examination Report”, Australian Application No. 2021353828, Jul. 4, 2023, 3. [cited by applicant]
Gangemi, et al., “The Semantic Web”, 15th International Conference, ESWC 2018, Heraklion, Crete, Greece, Jun. 2018, 22 pages. [cited by applicant]
Kanter, Max, “Feature Engineering: Secret to Data Science Success”, retrieved from <<https://community.alteryx.com/t5/Data-Science/Feature-Engineering-Secret-to-Data-Science-Success/ba-p/545041>>, Mar. 23, 2000, 5 pages. [cited by applicant]
Koehrsen, Will, “Why Automated Feature Engineering Will Change the Way You Do Machine Learning”, retrieved from <<https://innovation.alteryx.com/why-automated-feature-engineering-will-change-the-way-you-do-machine-learn… [cited by applicant]
Kůrková, et al., “Artificial Neural Networks and Machine Learning—ICANN 2018”, 27th International Conference on Artificial Neural Networks, Rhodes, Greece, Proceedings Part III (1 of 2), Oct. 2018, 866 pages. [cited by applicant]
Kůrková, et al., “Artificial Neural Networks and Machine Learning—ICANN 2018”, 27th International Conference on Artificial Neural Networks, Rhodes, Greece, Proceedings Part III (2 of 2), Oct. 2018, 866 pages. [cited by applicant]
“International Search Report”, PCT Application No. PCT/US2021/050752, Dec. 27, 2021, 2 pages. [cited by applicant]
Primitives, “Age”, Version 1.20.0 retrieved from <<http://primitives.featurelabs.com/#Age>>, Nov. 4, 2020, 1 pages. [cited by applicant]
Schreck, Ben, “Feature Engineering vs Feature Selection”, Retrieved from <<https://innovation.alteryx.com/feature-engineering-vs-feature-selection/>>, Jan. 4, 2018, 11 pages. [cited by applicant]