IP Library Granted Patent US 12699931
Granted Patent B2
US 12699931 · App. 17/729,085 · Granted Aug 4, 2026

Method and system for classification and/or prediction on unbalanced datasets

Inventors: Dorian Selz (Zürich, CH); Toni Birrer (Zürich, CH)
Assignee: Squirro AG
G06N20/20G06F18/2431
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 12699931
App. No.
17/729,085
Granted
Aug 4, 2026
Kind
B2
Abstract

Disclosed is a computer-implemented method for classification and/or prediction of data samples on unbalanced datasets, the method comprising: receiving unbalanced training dataset; generating at least one first model and at least one second model using unbalanced training dataset, the generation of the at least one first model comprises generating first training dataset comprising first data subset and second data subset of equal amounts of data; the generation of the at least one second model comprises generating second training dataset comprising third data subset and fourth data subset of equal amounts of data, machine learning algorithm(s) are employed for learning from the first and second training datasets; generating composite model using the first model(s) and the second model(s); employing composite model for classification and/or prediction on unbalanced test dataset for generating output, the output includes at least one classified data and/or a prediction for a data sample.

Claims (59)

1 . A computer-implemented method for classification and/or prediction of data samples on unbalanced datasets, wherein at least one processor and a data repository are communicably coupled via a computer network, the method comprising:

receiving, by the computer network from the data repository, an unbalanced training dataset, wherein the unbalanced training dataset includes data that is unevenly distributed into a plurality of categories;

generating, by the processor, at least one first model using the unbalanced training dataset, wherein the step of generating the at least one first model comprises:

generating a first training dataset comprising a first data subset and a second data subset, wherein the first data subset includes data of one category from the plurality of categories and the second data subset includes data from at least one other category from the plurality of categories,

wherein generating the at least one first model comprises generating an unviable first training data set,

wherein the first training dataset is unviable when the amount of data in the first data subset and the amount of data in the second data subset are unequal,

wherein the step of generating the at least one first model further comprises:

iteratively generating the first data subset and the second data subset; and

terminating the generation of the first data subset and the second data subset when the first training dataset is the unviable first training data set; and

employing at least one machine learning algorithm for learning from the first training dataset;

generating, by the processor, at least one second model using the unbalanced training dataset, wherein the step of generating the at least one second model comprises:

generating a second training dataset comprising a third data subset and a fourth data subset, wherein the third data subset includes data from at least two categories from the plurality of categories and the fourth data subset includes data from at least one other category from the plurality of categories, and wherein an amount of data in the third data subset is equal to N times an amount of data in a category having least amount of data from the at least two categories, N being a number of categories in the at least two categories,

wherein generating the at least one second model comprises generating an unviable second training data set, wherein the second training dataset is unviable when the amount of data in the third data subset and the amount of data in the fourth data subset are unequal,

wherein the step of generating the at least one second model further comprises:

iteratively generating the third data subset and the fourth data subset; and

terminating the generation of the third data subset and the fourth data subset when the second training dataset is the unviable second training data set; and

employing at least one machine learning algorithm for learning from the second training dataset;

generating, by the processor, a composite model using the at least one first model and the at least one second model; and

employing the composite model for classification and/or prediction on an unbalanced test dataset for generating an output of the composite model, wherein the output is at least one classified data sample and/or a prediction for at least one data sample.

2 . A computer-implemented method according to claim 1 , wherein the step of employing the composite model for classification and/or prediction on the unbalanced test dataset comprises:

receiving the unbalanced test dataset; and

using the composite model for processing the unbalanced test dataset for implementing at least one machine learning task on the unbalanced test dataset, wherein the at least one machine learning task is at least one of: a classification task, a prediction task.

3 . A computer-implemented method according to claim 2 , wherein the step of using the composite model for processing the unbalanced test dataset comprises:

inputting the unbalanced test dataset to the at least one first model and the at least one second model;

employing the at least one machine learning algorithm to obtain at least one first output from the at least one first model and at least one second output from the at least one second model; and

generating the output of the composite model using the at least one first output and the at least one second output.

4 . A computer-implemented method according to claim 3 , further comprising assigning at least one first weight to the at least one first model and at least one second weight to the at least one second model, wherein the step of generating the output of the composite model utilises the at least one first weight and the at least one second weight.

5 . A computer-implemented method according to claim 3 , wherein accuracies of the at least one first output and the at least one second output depends on an amount of data in the first training dataset and an amount of data in the second training dataset.

6 . A computer-implemented method of claim 1 , wherein the amount of data in the first data subset and the amount of data in the second data subset is similar when said amounts of data lie in a range of 80 percent to 125 percent of each other.

7 . A computer-implemented method of claim 1 , wherein the amount of data in third data subset and the amount of data in the fourth data subset is similar when said amounts of data lie in a range of 80 percent to 125 percent of each other.

8 . A system for classification and/or prediction of data samples on unbalanced datasets, the system being communicably connected to a computer network, wherein the system comprises at least one processor configured to:

receive, by the computer network from the data repository, an unbalanced training dataset, wherein the unbalanced training dataset includes data that is unevenly distributed into a plurality of categories;

generate at least one first model using the unbalanced training dataset, wherein for generation of the at least one first model, the at least one processor is configured to:

generate a first training dataset comprising a first data subset and a second data subset, wherein the first data subset includes data of one category from the plurality of categories and the second data subset includes data from at least one other category from the plurality of categories,

wherein the processor is further configured to:

generate the at least one first model to generate an unviable first training data set, wherein the first training dataset is unviable when the amount of data in the first data subset and the amount of data in the second data subset are unequal,

wherein the processor is further configured to:

iterate the generation of the first data subset and the second data subset; and

terminate the generation of the first data subset and the second data subset when the first training dataset is the unviable first training data set; and

employ at least one machine learning algorithm for learning from the first training dataset;

generate at least one second model using the unbalanced training dataset, wherein for generation of the at least one second model, the at least one processor is configured to:

generate a second training dataset comprising a third data subset and a fourth data subset, wherein the third data subset includes data from at least two categories, from the plurality of categories and the fourth data subset includes of data from at least one other category from the plurality of categories, and wherein an amount of data in the third data subset is equal to N times an amount of data in a category having least amount of data from the at least two categories, N being a number of categories in the at least two categories,

wherein the processor is further configured to:

generate the at least one second model to generate an unviable second training data set, wherein the second training dataset is unviable when the amount of data in the third data subset and the amount of data in the fourth data subset are unequal,

wherein the processor is further configured to:

iterate the generation of the third data subset and the fourth data subset; and

terminate the generation of the third data subset and the fourth data subset when the second training dataset is the unviable second training data set; and

employ at least one machine learning algorithm for learning from the second training dataset;

generate a composite model using the at least one first model and the at least one second model; and

employ the composite model for classification and/or prediction on an unbalanced test dataset to generate an output of the composite model, wherein the output is at least one classified data sample and/or a prediction for at least one data sample.

9 . A system according to claim 8 , wherein when employing the composite model for classification and/or prediction on the unbalanced test dataset, the at least one processor is configured to:

receive the unbalanced test dataset; and

use the composite model to process the unbalanced test dataset for implementing at least one machine learning task on the unbalanced test dataset, wherein the at least one machine learning task is at least one of: a classification task, a prediction task.

10 . A system according to claim 9 , wherein when using the composite model to process the unbalanced test dataset, the at least one processor is configured to:

input the unbalanced test dataset to the at least one first model and the at least one second model;

employ the at least one machine learning algorithm to obtain at least one first output from the at least one first model and at least one second output from the at least one second model; and

generate the output of the composite model using the at least one first output and at least one the second output.

11 . A system according to claim 8 , further comprising a data repository communicably coupled to the at least one processor, wherein the data repository is configured to store thereat at least the unbalanced training dataset to be utilized for generation of the at least one first model and the at least one second model.

12 . A computer program product comprising a non-transitory machine-readable data storage medium having stored thereon program instructions that, when accessed by a processing device, cause the processing device to implement the method of claim 1 .