IP Library Granted Patent US 12,367,217
Granted Patent B2
US 12,367,217 · App. 18/655,946 · Granted Jul 22, 2025

Approximate metric for dataset using representative subset

Inventors: Furqan Abdul Samad Shaikh (Bengaluru, IN); Amit Kumar Prajapati (Kolkata, IN); Antariksha Bhaduri (Bengaluru, IN)
Assignee: Oracle International Corporation
G06F16/278
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,367,217
App. No.
18/655,946
Granted
Jul 22, 2025
Kind
B2
Abstract

Techniques for processing a large dataset to extract information from the dataset, where the processing is performed by multiple systems and where the entire dataset, due to its size, cannot be loaded into the memory of any one of the multiple systems. In certain implementations, the information extracted from the dataset is in the form of a set of one or more statistical metrics computed for the dataset. For example, the dataset may include datapoints related to a machine-learning (ML) model, and a metric value can be computed for the ML model based upon the dataset datapoints. The metric value may, for example, be a metric that measures the performance of the ML model.

Claims (56)

1. A computer-implemented method performed by a plurality of data processing systems, the method comprising:

for an input dataset for which a metric is to be computed, partitioning the input dataset into a plurality of non-overlapping partitions, each partition in the plurality of non-overlapping partitions comprising a plurality of data points from the input dataset, wherein, for each data processing system in the plurality of data processing systems, a size of the input dataset is larger than a system memory associated with the data processing system;

for each partition in the plurality of non-overlapping partitions, identifying a representative subset for the partition, wherein the representative subset for a partition comprises a subset of data points selected from the plurality of data points in the partition;

iteratively merging the representative subsets identified for the plurality of non-overlapping partitions until there is a single subset;

computing a value for the metric using the data points in the single subset; and

outputting the value.

2. The computer-implemented method of claim 1 , wherein each partition of the plurality of non-overlapping partitions is transmitted to a different data-processing system of the plurality of data-processing systems.

3. The computer-implemented method of claim 1 , wherein the representative subset approximates the data points included in the partition, wherein the representative subset is included in a set of representative subsets, and wherein the set of representative subsets corresponds to the set of non-overlapping partitions.

4. The computer-implemented method of claim 1 , wherein the computed value is an approximate value for the metric for the input dataset.

5. The computer-implemented method of claim 1 , wherein identifying a representative subset for each partition in the plurality of partitions comprises:

performing processing by a first data processing system from the plurality of data processing system, wherein the performing processing by the first data processing system comprises:

receiving, by the first data processing system, a first partition of the plurality of non-overlapping partitions;

selecting, by the first data processing system, a first representative subset of datapoints from the datapoints in the first partition;

performing processing by a second data processing system from the plurality of data processing system, wherein the performing processing by the second data processing system comprises:

receiving, by the second data processing system, a second partition of the plurality of non-overlapping partitions; and

selecting, by the second data processing system, a second representative subset of datapoints from the datapoints in the second partition, wherein the processing performed by the first data processing system is performed concurrently with the processing performed by the second data processing system.

6. The computer-implemented method of claim 5 , further comprising: merging the first representative subset and the second representative subset to identify a third representative subset, wherein merging the first representative subset and the second representative subset comprises identifying, from the first representative subset of datapoints and the second representative subset of datapoints, a third representative subset of datapoints, wherein a datapoint in the third representative subset of datapoints is in the first representative subset of datapoints or in the second representative subset of datapoints, and wherein merging the first representative subset and the second representative subset to identify the third representative subset is performed by a third data processing system from the plurality of data processing systems.

7. The computer-implemented method of claim 6 , wherein:

the first representative subset is representative of a first partition or of a first merged dataset of previously merged representative subsets; and

the second representative subset is representative of a second partition or of a second merged dataset of previously merged representative subsets.

8. The computer-implemented method of claim 1 , wherein the input dataset includes datapoints related to a machine-learning model, and wherein the metric is a metric associated with the machine-learning model.

9. The computer-implemented method of claim 8 , wherein the metric measures a performance of the machine-learning model, and wherein the metric is an accuracy metric, a precision metric, or a recall metric.

10. The computer-implemented method of claim 9 , further comprising determining whether to train the machine-learning model based upon the value computed for the metric.

11. The computer-implemented method of claim 1 , further comprising receiving the input dataset as a stream.

12. A system comprising:

a plurality of data processing systems including a first data processing system, a second data processing system, and a third data processing system, wherein:

the first data processing system is configured to perform processing comprising:

receiving an input dataset for which a metric is to be computed;

partitioning the input dataset into a plurality of non-overlapping partitions, each partition in the plurality of non-overlapping partitions comprising a plurality of data points from the input dataset, the plurality of partitions including a first partition and a second partition;

communicating the first partition to the second data processing system; and

communicating the second partition to the third data processing system;

the second data processing system is configured to perform processing comprising selecting a subset of datapoints from datapoints in the first partition to form a first subset that is representative of the datapoints in the first partition;

the third data processing system is configured to perform processing comprising selecting a subset of datapoints from datapoints in the second partition to form a second subset that is representative of the datapoints in the second partition; and

at least one data processing system from the plurality of data processing system is configured to perform processing comprising:

receiving a final subset that is selected based upon a plurality of subsets selected for the plurality of partitions, the plurality of subsets including the first subset and the second subset;

computing a value for the metric using the datapoints in the final subset; and

outputting the computed value.

13. The system of claim 12 , wherein:

the plurality of data processing systems further comprises a fourth data processing system; and

the fourth data processing system is configured to perform processing comprising:

receiving the first subset from the second data processing system;

receiving the second subset from the third data processing system;

merging datapoints in the first subset with datapoints in the second subset to form a merged subset; and

selecting a third subset that includes a subset of datapoints from the merged subset.

14. The system of claim 12 , wherein the input dataset includes datapoints related to a machine-learning model, and wherein the metric is a metric associated with the machine-learning model.

15. The system of claim 14 , wherein the metric represents a performance of the machine-learning model, and wherein the metric is an accuracy metric, a precision metric, or a recall metric.

16. The system of claim 12 , wherein receiving the input dataset comprises receiving the input dataset as a stream.

17. A non-transitory computer-readable memory storing a plurality of instructions executable by one or more processors, the plurality of instructions comprising instructions that when executed by the one or more processors cause the one or more processors to perform operations comprising:

for an input dataset comprising a plurality of data points, partitioning the input dataset into a plurality of non-overlapping partitions, each partition in the plurality of non-overlapping partitions comprising a plurality of data points from the input dataset;

for each partition in the plurality of non-overlapping partitions, identifying a representative subset for the partition, wherein the representative subset for a partition comprises a subset of data points selected from the plurality of data points in the partition;

iteratively merging the representative subsets identified for the plurality of non-overlapping partitions until there is a single subset;

computing a metric value using the data points in the single subset; and

outputting the metric value to a consumer of the metric value.

18. The non-transitory computer-readable memory of claim 17 , wherein each partition of the plurality of non-overlapping partitions is transmittable to a different data-processing system of a set of data-processing systems, and wherein each partition of the set of non-overlapping partitions comprises a volume of data for which a corresponding data-processing system of the set of data-processing systems is configured to load all at the same time.

19. The non-transitory computer-readable memory of claim 17 , wherein the representative subset is configured to approximate the data points included in the partition, and wherein the representative subset is included in a set of representative subsets corresponding to the set of non-overlapping partitions.

20. The non-transitory computer-readable memory of claim 17 , wherein the input dataset includes datapoints related to a machine-learning model, wherein the metric is a metric associated with the machine-learning model, and wherein the input dataset is receivable as a stream.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 8, 2024
From: SHAIKH, FURQAN ABDUL SAMAD; PRAJAPATI, AMIT KUMAR; BHADURI, ANTARIKSHA
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 067344/0686 →
Priority Claims (1)
IN 202341089847 · Dec 29, 2023 · national
Continuity (1)
Related Publication 20250217383A1 · Jul 3, 2025
References Cited (41)
US 9658910B2 · Poola · 2017 [cited by examiner]
US 10872087B2 · Guo · 2020 [cited by examiner]
US 11106442B1 · Hsiao et al. · 2021 [cited by applicant]
US 11256719B1 · Saxena · 2022 [cited by examiner]
US 11769087B2 · Somashekairah et al. · 2023 [cited by applicant]
US 20180089328A1 · Bath et al. · 2018 [cited by applicant]
US 20190095478A1 · Tankersley et al. · 2019 [cited by applicant]
US 20190113259A1 · Levin · 2019 [cited by examiner]
US 20190114343A1 · Guo · 2019 [cited by examiner]
US 20190236149A1 · Kuruvada et al. · 2019 [cited by applicant]
US 20210125725A1 · Allen et al. · 2021 [cited by applicant]
US 20230014551A1 · Chang et al. · 2023 [cited by applicant]
US 20230162049A1 · Hall et al. · 2023 [cited by applicant]
US 20230186144A1 · Lopatecki et al. · 2023 [cited by applicant]
US 20230409524A1 · Bhattacharya · 2023 [cited by examiner]
US 20240295974A1 · Badii et al. · 2024 [cited by applicant]
US 20240298294A1 · Feng · 2024 [cited by examiner]
US 20240320231A1 · Bhattacharjee · 2024 [cited by examiner]
WO 2023080321A1 · 2023 [cited by applicant]
Accuracy Evaluation of Overlapping and Multi-resolution Clustering Algorithms on Large Datasets (Year: 2019). [cited by examiner]
“Built by ML Practitioners, for ML Practitioners”, Available online at: https://arize.com/platform-overview/, 2023, 2 pages. [cited by applicant]
“Handling Large Datasets in Pandas (Memory Optimisation)”, Available online at: https://www.scaler.com/topics/pandas/handling-large-datasets-in-pandas/, Oct. 2023 11 pages. [cited by applicant]
“Multi-output Classification Example with MultiOutputClassifier in Python”, Available Online at: https://www.datatechnotes.com/2020/03/multi-output-classification-with-multioutputclassifier.html, Mar. 4, 2020, 3 pages. [cited by applicant]
“Multi-Output Classification with Machine Learning”, Available Online at: https://www.section.io/engineering-education/multi-output-classification-with-machine-learning/, Jan. 21, 2022, 11 pages. [cited by applicant]
“Multioutput Regression”, Available Online at: https://scikit-learn.org/stable/modules/multiclass.html#multioutput-regression, 2009, 2 pages. [cited by applicant]
“What is ML Observability”, Available online at: https://docs.arize.com/arize/what-is-ml-observability, 2023, 2 pages. [cited by applicant]
“WhyLabs AI Observability”, Available online at: https://docs.whylabs.ai/docs/, 2023, 4 pages. [cited by applicant]
Cloud , “Using Tensorflow Datasets and Estimators with More Data than RAM”, Available online at: https://saturncloud.io/blog/using-tensorflow-datasets-and-estimators-with-more-data-than-ram/, Jul. 6, 2023, 4 pages. [cited by applicant]
Heydarian et al., “MLCM: Multi-Label Confusion Matrix”, IEEE Access, vol. 10, Feb. 11, 2022, pp. 19083-19095. [cited by applicant]
Karajgi , “Evaluating Multi-Label Classifiers”, Available Online at: https://towardsdatascience.com/evaluating-multi-label-classifiers-a31be83da6ea, Nov. 2, 2021, 26 pages. [cited by applicant]
Khammal , “Apache Spark and Data Observability a Technical Deep Dive”, Available online at: https://www.kensu.io/blog/apache-spark-and-data-observability-a-technical-deep-dive, 2023, 3 pages. [cited by applicant]
Krasoulis et al., “Myoelectric Digit Action Decoding with Multi-output, Multi-class Classification: An Offline Analysis”, Scientific Reports, vol. 10, Oct. 9, 2020, 10 pages. [cited by applicant]
Nguyen et al., “Azureml Observability: a Scalable and Extensible Solution for ML Monitoring and Drift Detection”, Available online at: https://techcommunity.microsoft.com/t5/ai-machine-learning-blog/azureml-observabilit… [cited by applicant]
Ramanujam et al., “MLMO-HSM: Multi-label Multi-output Hybrid Sequential Model for Multi-resident Smart Home Activity Recognition”, Journal of Ambient Intelligence and Humanized Computing, vol. 14, Dec. 11, 2022, pp. 231… [cited by applicant]
Rosebrock , “Keras: Multiple Outputs and Multiple Losses”, Available Oline at: https://pyimagesearch.com/2018/06/04/keras-multiple-outputs-and-multiple-losses/, Jun. 4, 2018, 32 pages. [cited by applicant]
Sen , “Ensemble Modeling for Neural Networks using large datasets—Simplified”, Available online at: https://www.analyticsvidhya.com/blog/2021/10/ensemble-modeling-for-neural-networks-using-large-datasets-simplified/, No… [cited by applicant]
Tariq , “What is the Difference Between Micro and Macro Averaging?”, Available Online at: https://www.educative.io/answers/what-is-the-difference-between-micro-and-macro-averaging, Accessed from Internet on Oct. 30, 202… [cited by applicant]
Tuychiev , “Comprehensive Guide to Multiclass Classification Metrics”, Available Online at: https://towardsdatascience.com/comprehensive-guide-on-multiclass-classification-metrics-af94cfb83fbd, Jun. 9, 2021, 11 pages. [cited by applicant]
Wang et al., “Consistent Classification with Generalized Metrics”, Department of Computer Science, University of Illinois at Urbana-Champaign, Aug. 24, 2019, 26 pages. [cited by applicant]
Xu et al., “A Survey on Multi-output Learning”, Available Online at: https://arxiv.org/pdf/1901.00248.pdf, Oct. 13, 2019, pp. 1-21. [cited by applicant]
U.S. Appl. No. 18/678,996, Non-Final Office Action mailed on Feb. 10, 2025, 10 pages. [cited by applicant]
Cited By (1)
US 12,481,672