IP Library Granted Patent US 12,423,937
Granted Patent B2
US 12,423,937 · App. 18/166,004 · Granted Sep 23, 2025

Automated data pre-processing for machine learning

Inventors: Yu Zui You (Ningbo, CN); Zhan Peng Huo (Beijing, CN); Jun Zhu (Shanghai, CN); Kuo-Liang Chou (New Taipei, TW); Xuan Feng (Beijing, CN); Jun Hao (Dalian, CN)
Assignee: International Business Machines Corporation
G06V10/20G06V10/774
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,423,937
App. No.
18/166,004
Granted
Sep 23, 2025
Kind
B2
Abstract

Computer-implemented methods for performing automated pre-processing of data for a machine-learning based prediction system are provided. Aspects include receiving a plurality of raw data sets, receiving a plurality of processed data sets, wherein each of the plurality of processed data sets corresponds to one of the plurality of raw data sets, and generating a plurality of pre-processing templates based on the plurality of raw data sets and the processed data set. Aspects also include receiving an input data set, generating, for each of the plurality of pre-processing templates, a matching score for the input data set, and selecting one of the plurality of pre-processing templates based on the matching score. Aspects further include pre-processing the input data set using the selected pre-processing template and providing the pre-processed input data set to the machine learning based prediction system.

Claims (73)

1. A method for performing automated pre-processing of data for a machine-learning based prediction system, the method comprising:

receiving a plurality of raw data sets;

receiving a plurality of processed data sets, wherein each of the plurality of processed data sets corresponds to one of the plurality of raw data sets;

generating a plurality of pre-processing templates based on the plurality of raw data sets and the processed data set, wherein generating the plurality of pre-processing templates comprises: detecting and extracting attributes from the plurality of processed data sets;

comparing the plurality of processed data sets to the corresponding plurality of raw data sets;

and learning data processing methods used by data scientists;

receiving an input data set;

generating, for each of the plurality of pre-processing templates, a matching score for the input data set, wherein the matching score is calculated by executing a computer-implemented matching algorithm that, for each column in the input data set:

automatically extracting and comparing the column attribute and header to corresponding columns in the pre-processing template using a similarity metric;

applying user-assigned weights associated with each template column to the similarity results to generate a weighted column score; and

combining the weighted column scores for all columns in the input data set using a predetermined aggregation function to produce the matching score for the template;

selecting one of the plurality of pre-processing templates based on the matching score;

pre-processing the input data set using the selected pre-processing template; and

providing the pre-processed input data set to the machine learning based prediction system.

2. The method of claim 1 , wherein each of the plurality of raw data sets includes a plurality of columns of data and wherein generating the plurality of pre-processing templates includes detecting an attribute for each of the plurality of columns of data.

3. The method of claim 1 , wherein each of the plurality of processed data sets includes a plurality of columns of data and wherein generating the plurality of pre-processing templates includes detecting a user assigned attribute for at least one of the plurality of columns of data.

4. The method of claim 1 , wherein generating the matching score for one of the plurality of pre-processing templates comprises:

identifying an attribute for each column of the input data set;

identifying a corresponding column of the pre-processing template based on the attribute;

generate a column matching score for each column of the input data set to the corresponding column, wherein the column matching score is based on analyzing column attributes and headers; and

creating the matching score by combining the column matching score for each column of the input data set.

5. The method of claim 4 , wherein combining the column matching score for each column of the input data set includes calculating a weighted combination.

6. The method of claim 5 , wherein each column of the pre-processing template is assigned a weight that corresponds to the attribute type of the column.

7. The method of claim 1 , wherein selecting one of the plurality of pre-processing templates includes selecting the one of the plurality of pre-processing templates having a highest matching score.

8. The method of claim 1 , further comprising providing the input data set to a user for manual pre-processing based on a determination that none of the matching scores are above a threshold minimum score.

9. A computing system having a memory having computer readable instructions and one or more processors for executing the computer readable instructions, the computer readable instructions controlling the one or more processors to perform operations comprising:

receiving a plurality of raw data sets;

receiving a plurality of processed data sets, wherein each of the plurality of processed data sets corresponds to one of the plurality of raw data sets;

generating a plurality of pre-processing templates based on the plurality of raw data sets and the processed data set, wherein generating the plurality of pre-processing templates comprises: detecting and extracting attributes from the plurality of processed data sets;

comparing the plurality of processed data sets to the corresponding plurality of raw data sets;

and learning data processing methods used by data scientists;

receiving an input data set;

generating, for each of the plurality of pre-processing templates, a matching score for the input data set,

wherein the matching score is calculated by executing a computer-implemented matching algorithm that, for each column in the input data set:

automatically extracting and comparing the column attribute and header to corresponding columns in the pre-processing template using a similarity metric;

applying user-assigned weights associated with each template column to the similarity results to generate a weighted column score; and

combining the weighted column scores for all columns in the input data set using a predetermined aggregation function to produce the matching score for the template;

selecting one of the plurality of pre-processing templates based on the matching score;

pre-processing the input data set using the selected pre-processing template; and

providing the pre-processed input data set to the machine learning based prediction system.

10. The computing system of claim 9 , wherein each of the plurality of raw data sets includes a plurality of columns of data and wherein generating the plurality of pre-processing templates includes detecting an attribute for each of the plurality of columns of data.

11. The computing system of claim 9 , wherein each of the plurality of processed data sets includes a plurality of columns of data and wherein generating the plurality of pre-processing templates includes detecting a user assigned attribute for at least one of the plurality of columns of data.

12. The computing system of claim 9 , wherein generating the matching score for one of the plurality of pre-processing templates comprises:

identifying an attribute for each column of the input data set;

identifying a corresponding column of the pre-processing template based on the attribute;

generate a column matching score for each column of the input data set to the corresponding column, wherein the column matching score is based on analyzing column attributes and headers; and

creating the matching score by combining the column matching score for each column of the input data set.

13. The computing system of claim 12 , wherein combining the column matching score for each column of the input data set includes calculating a weighted combination.

14. The computing system of claim 13 , wherein each column of the pre-processing template is assigned a weight that corresponds to the attribute type of the column.

15. The computing system of claim 9 , wherein selecting one of the plurality of pre-processing templates includes selecting the one of the plurality of pre-processing templates having a highest matching score.

16. The computing system of claim 9 , wherein the operations further comprise providing the input data set to a user for manual pre-processing based on a determination that none of the matching scores are above a threshold minimum score.

17. A computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processor to cause the processor to perform operations comprising:

receiving a plurality of raw data sets;

receiving a plurality of processed data sets, wherein each of the plurality of processed data sets corresponds to one of the plurality of raw data sets;

generating a plurality of pre-processing templates based on the plurality of raw data sets and the processed data set, wherein generating the plurality of pre-processing templates comprises: detecting and extracting attributes from the plurality of processed data sets;

comparing the plurality of processed data sets to the corresponding plurality of raw data sets;

and learning data processing methods used by data scientists;

receiving an input data set;

generating, for each of the plurality of pre-processing templates, a matching score for the input data set,

wherein the matching score is calculated by executing a computer-implemented matching algorithm that, for each column in the input data set:

automatically extracting and comparing the column attribute and header to corresponding columns in the pre-processing template using a similarity metric;

applying user-assigned weights associated with each template column to the similarity results to generate a weighted column score; and

combining the weighted column scores for all columns in the input data set using a predetermined aggregation function to produce the matching score for the template;

selecting one of the plurality of pre-processing templates based on the matching score;

pre-processing the input data set using the selected pre-processing template; and

providing the pre-processed input data set to the machine learning based prediction system.

18. The computer program product of claim 17 , wherein each of the plurality of raw data sets includes a plurality of columns of data and wherein generating the plurality of pre-processing templates includes detecting an attribute for each of the plurality of columns of data.

19. The computer program product of claim 17 , wherein each of the plurality of processed data sets includes a plurality of columns of data and wherein generating the plurality of pre-processing templates includes detecting a user assigned attribute for at least one of the plurality of columns of data.

20. The computer program product of claim 17 , wherein generating the matching score for one of the plurality of pre-processing templates comprises:

identifying an attribute for each column of the input data set;

identifying a corresponding column of the pre-processing template based on the attribute;

generate a column matching score for each column of the input data set to the corresponding column, wherein the column matching score is based on analyzing column attributes and headers; and

creating the matching score by combining the column matching score for each column of the input data set.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 8, 2023
From: YOU, YU ZUI; HUO, ZHAN PENG; ZHU, JUN; CHOU, KUO-LIANG; FENG, XUAN; HAO, JUN
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 062627/0539 →
Continuity (1)
Related Publication 20240265664A1 · Aug 8, 2024
References Cited (17)
US 8249361B1 · Steffens · 2012 [cited by examiner]
US 10515155B2 · Bachrach · 2019 [cited by examiner]
US 10972509B2 · Barday et al. · 2021 [cited by applicant]
US 11461599B2 · Ordonez · 2022 [cited by examiner]
US 20210055011A1 · Smith · 2021 [cited by examiner]
US 20240037915A1 · Ajgaonkar · 2024 [cited by examiner]
CN 103678682A · 2014 [cited by applicant]
CN 114139490A · 2022 [cited by applicant]
TW I238950B · 2005 [cited by applicant]
“AutoAI Overview (Watson Machine Learning)”, https://www.ibm.com/docs/en/cloud-paks/cp-data/4.0?topic=models-autoai#autoai-data-use, (Retrieved: Feb. 3, 2023), 6 pages. [cited by applicant]
“Automated Data Preparation”, https://www.ibm.com/docs/en/spss-statistics/27.0.0?topic=preparation-automated-data, (Retrieved: Feb. 3, 2023), 2 pages. [cited by applicant]
“IBM SPSS Modeler”, www.ibm.com/products/spss-modeler/details, (Retrieved: Feb. 3, 2023), 9 pages. [cited by applicant]
Bilalli, et al, “Automated Data Pre-processing via Meta-learning”, Universitat Politecnica de Catalunya, Barcelona, Spain, 14 pages. [cited by applicant]
Bilalli, et al, “Intelligent Assistance for Data Pre-processing”, Universitat Politecnica de Catalunya, Barcelona, Spain, 2018, 14 pages. [cited by applicant]
Madyembwa, et al, “An Automated Data Pre-processing Technique for Machine Learning in Critical Systems”, International Journal of Electronic Engineering and Computer Science, 2020, 10 pages. [cited by applicant]
Minieri, “Automating data preparation and preprocessing in production-ready ML models”, https://www.clearbox.ai/blog/2021-02-10-automating-data-preparation-and-preprocessing-in-production-ready-ml-models, (Retrieved: Fe… [cited by applicant]
Paranjape, et al, “Automated Data Preprocessing for Machine Learning Based Analyses”, COLLA 2022: The Twelfth International Conference on Advanced Collaborative Networks, Systems and Applications, 2022, 9 pages. [cited by applicant]