IP Library › Granted Patent US 11,210,605
Granted Patent B1
US 11,210,605 · App. 15/658,005 · Granted Dec 28, 2021

Dataset suitability check for machine learning

Inventors: Pracheer Gupta (Seattle, WA); Andrea Olgiati (Seattle, WA); Poorna Chand Srinivas Perumalla (Seattle, WA); Stefano Stefani (Seattle, WA); Maden Mohan Rao Jampani (Seattle, WA)
Assignee: Amazon Technologies, Inc.
G06N20/00G06F16/285G06F17/18
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 11,210,605
App. No.
15/658,005
Granted
Dec 28, 2021
Kind
B1
Abstract

A processing device receives a dataset comprising a plurality of data points, wherein each data point of the plurality of data points comprises a representative vector for the data point and an associated classification for the data point. The processing device determines, for the dataset, a score representative of a degree of clustering of the plurality of data points. The processing device determines a suitability of the dataset for use in machine learning based on the score.

Claims (68)

1. A device comprising:

a processing device; and

a memory to store computer executable instructions that, if executed, cause the processing device to:

perform a plurality of k-nearest neighbors search queries with various values of k on a dataset, wherein the dataset comprises a plurality of data points, and wherein each data point of the plurality of data points comprises a representative vector for the data point and an associated classification for the data point, wherein a first set of the plurality of data points comprises a first classification and a second set of the plurality of data points comprises a second classification;

determine a score representative of a degree of clustering of the plurality of data points from results of the plurality of k-nearest neighbors search queries, wherein the score is determined based on a first degree of clustering of data points classified with the first classification of the first set of the plurality of data points and a second degree of clustering of data points classified with the second classification of the second set of the plurality of data points; and

determine a suitability of the dataset for use in generating a k-nearest neighbors search machine learning model based on a comparison of the score to a threshold.

2. The device of claim 1 , wherein the instructions, if executed, further cause the processing device to:

determine a plurality of scores, wherein each of the plurality of scores is determined using a different value of k for a k-nearest neighbors search of the plurality of k-nearest neighbors search queries;

determine a value of k that resulted in a highest score from the plurality of scores; and

determine that the value of k that resulted in the highest score is an optimal value of k for the k-nearest neighbors search.

3. The device of claim 1 , wherein the instructions, if executed, further cause the processing device to:

compute a plurality of precision-recall curves, wherein a separate precision-recall curve is computed for two or more data points of the plurality of data points based on results of a plurality of k-nearest neighbors search queries associated with the two or more data points;

for each precision-recall curve of the plurality of precision-recall curves, compute an area under the precision-recall curve; and

compute an average area under the plurality of precision-recall curves, wherein the score representative of the degree of clustering of the plurality of data points is based on the average area under the plurality of precision-recall curves.

4. The device of claim 1 , wherein the instructions, if executed, further cause the processing device to:

determine one or more first precision-recall curves having a highest area;

determine one or more second precision-recall curves having a lowest area; and

discard the one or more first precision-recall curves and the one or more second precision-recall curves.

5. The device of claim 1 , wherein the instructions, if executed, further cause the processing device to:

perform a number of k-nearest neighbors search queries for a data point of the plurality of data points, where the number is equal to s−1, where s is a size of the dataset, and where each of the number of k-nearest neighbors search queries uses a different value of k that is between 1 and s−1, inclusive.

6. The device of claim 1 , wherein the instructions, if executed, further cause the processing device to:

receive a plurality of additional data points for the dataset, wherein addition of the plurality of additional data points to the dataset results in an updated dataset;

determine a new score for the updated dataset;

compare the score to the new score; and

determine whether the new score is greater than the score.

7. A method comprising:

receiving a dataset comprising a plurality of data points, wherein each data point of the plurality of data points comprises a representative vector for the data point and an associated classification for the data point, wherein a first set of the plurality of data points comprises a first classification and a second set of the plurality of data points comprises a second classification;

determining, for the dataset, a score representative of a degree of clustering of the plurality of data points from results of a plurality of k-nearest neighbors search queries, wherein the score is determined based on a first degree of clustering of data points classified with the first classification of the first set of the plurality of data points and a second degree of clustering of data points classified with the second classification of the second set of the plurality of data points; and

determining a suitability of the dataset for use in machine learning based on a comparison of the score to a threshold.

8. The method of claim 7 , wherein the suitability of the dataset is determined for a k-nearest neighbors search.

9. The method of claim 8 , further comprising:

determining a plurality of scores, wherein each of the plurality of scores is determined using a different value of k for the k-nearest neighbors search;

determining a value of k that resulted in a highest score from the plurality of scores; and

determining that the value of k that resulted in the highest score is an optimal value of k for the k-nearest neighbors search.

10. The method of claim 7 , further comprising:

performing a plurality of k-nearest neighbors search queries with various values of k on the dataset, wherein the score is determined based on combined results of the plurality of k-nearest neighbors search queries.

11. The method of claim 10 , further comprising:

computing a plurality of precision-recall curves, wherein a separate precision-recall curve is computed for two or more data points of the plurality of data points based on results of a plurality of k-nearest neighbors search queries associated with the two or more data points;

for each precision-recall curve of the plurality of precision-recall curves, computing an area under the precision-recall curve; and

computing an average area under the plurality of precision-recall curves, wherein the score representative of the degree of clustering of the plurality of data points is based on the average area under the plurality of precision-recall curves.

12. The method of claim 11 , further comprising:

determining one or more first precision-recall curves having a highest area;

determining one or more second precision-recall curves having a lowest area; and

discarding the one or more first precision-recall curves and the one or more second precision-recall curves.

13. The method of claim 10 , wherein performing the plurality of k-nearest neighbors search queries comprises:

performing a number of k-nearest neighbors search queries for a data point of the plurality of data points using various values of k between a and s−1, inclusive, where s is a size of the dataset.

14. The method of claim 13 , wherein performing the plurality of k-nearest neighbors search queries further comprises performing the number of k-nearest neighbors search queries for each additional data point of the plurality of data points.

15. The method of claim 7 , further comprising:

comparing the score to a threshold;

determining that the score meets or exceeds the threshold; and

determining that the dataset is suitable for use in machine learning.

16. The method of claim 7 , further comprising:

receiving a plurality of additional data points for the dataset to obtain an updated dataset;

determining a new score for the updated dataset;

comparing the score to the new score; and

determining whether the new score is greater than the score.

17. A non-transitory computer-readable storage device storing computer-executable instructions that, if executed by a processing device, cause the processing device to:

perform a plurality of search queries on a dataset, wherein the dataset comprises a plurality of data points, wherein each data point of the plurality of data points comprises a representative vector for the data point and an associated classification for the data point, and wherein a first set of the plurality of data points comprises a first classification and a second set of the plurality of data points comprises a second classification;

determine a score representative of a degree of clustering of the plurality of data points from results of the plurality of search queries, wherein the score is determined based on a first degree of clustering of data points classified with the first classification of the first set of the plurality of data points and a second degree of clustering of data points classified with the second classification of the second set of the plurality of data points; and

determine a suitability of the dataset for use in machine learning based on a comparison of the score to a threshold.

18. The non-transitory computer-readable storage device of claim 17 , wherein the machine learning comprises a k-nearest neighbors search, and wherein the plurality of search queries comprise a plurality of k-nearest neighbors search queries with various values of k.

19. The non-transitory computer-readable storage device of claim 18 , wherein the instructions, if executed, further cause the processing device to:

compute a plurality of precision-recall curves, wherein a separate precision-recall curve is computed for two or more data points of the plurality of data points based on results of k-nearest neighbors search queries from the plurality of k-nearest neighbors search queries that are associated with the two or more data points;

for each precision-recall curve of the plurality of precision-recall curves, compute an area under the precision-recall curve; and

compute an average area under the plurality of precision-recall curves, wherein the score representative of the degree of clustering of the plurality of data points is based on the average area under the plurality of precision-recall curves.

20. The non-transitory computer-readable storage device of claim 19 , wherein performing the plurality of k-nearest neighbors search queries comprises:

performing a number of k-nearest neighbors search queries for a data point of the plurality of data points using various values of k between 1 and s−1, inclusive, where s is a size of the dataset; and

performing the number of k-nearest neighbors search queries for each additional data point of the plurality of data points.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 24, 2017
From: GUPTA, PRACHEER; OLGIATI, ANDREA; PERUMALLA, POORNA CHAND SRINIVAS; STEFANI, STEFANO; JAMPANI, MADAN MOHAN RAO
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 043082/0796 →
Cited By (2)
US 12,455,945 US 12,670,381