IP Library Granted Patent US 10,410,138
Granted Patent B2
US 10,410,138 · App. 15/165,059 · Granted Sep 10, 2019

System and method for automatic generation of features from datasets for use in an automated machine learning process

Inventors: Meir Maor (Netanya, IL); Ron Karidi (Herzliya, IL); Sagie Davidovich (Zikhron-Yaakov, IL); Amir Ronen (Haifa, IL)
Assignee: SparkBeyond Ltd.
G06N20/00G06F16/2456G06F16/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 10,410,138
App. No.
15/165,059
Granted
Sep 10, 2019
Kind
B2
Abstract

There is provided a method for generating features for use in an automated machine learning process, comprising: receiving a first training dataset comprising unclassified raw data instances each including a set of objects of arbitrary types; applying a function to each data instance to calculate a set of first results; generating a set of classification features each including the function for application to a newly received data instance to calculate a second result, and a condition defined by a respective member of the set of first results applied to the second result; applying each classification feature to each instance of an unclassified second training dataset to generate a set of extracted features; selecting a subset of pivotal classification features from the set of classification features according to a correlation requirement between classification variable(s) and each respective member of the set of extracted features; and documenting the subset of pivotal features.

Claims (55)

1. A computer implemented method for generating a statistical classifier, comprising:

receiving a designation of a training dataset comprising a plurality of raw data instances each including a set of data objects assigned at least one value;

applying a function to each raw data instance to calculate a set of first results comprising a collection of complex objects having a plurality of parameters built from a plurality of primitive types, wherein the function is selected from a plurality of functions;

extracting a plurality of values from the set of first results;

generating a plurality of candidate classification features, each respective candidate classification feature including:

(i) the function that outputs a complex object, selected from the plurality of functions,

(ii) at least one condition selected from a plurality of conditions, and

(iii) a value selected from the plurality of extracted values,

wherein the respective candidate classification feature outputs an output value computed by the at least one condition that compares between the complex object output of the function and the value selected from the plurality of extracted values;

selecting a subset of pivotal classification features from the generated candidate classification features according to a correlation requirement between at least one classification variable and each respective candidate classification feature;

and

generating a statistical classifier for classification of the at least one classification variable based on the selected subset of pivotal features applied to a new training dataset.

2. The method of claim 1 , further comprising classifying a new data instance to the at least one classification variable by applying each classification feature of the selected subset of pivotal features to the new data instance to extract a plurality of features and applying the statistical classifier to the plurality of extracted features.

3. The method of claim 1 , wherein applying the function comprises applying each function of a set of functions to each data instance to generate a plurality of sets of first results, wherein each respective function is adapted to process different objects.

4. The method of claim 1 , wherein the at least one condition comprises equality with the value of the set of first results.

5. The method of claim 1 , wherein the candidate classification feature outputs a value of a binary type according to the at least one condition that performs a contains operation between the complex object output of the function and the value of the set of first results.

6. The method of claim 1 , wherein the at least one condition comprises the value of the set of first results or a value calculated from the value of the set of first results being greater-than or less-than an ordering of the complex object output.

7. The method of claim 1 , wherein the set of first results includes a collection of key-value pairs each including a key component and a value component, wherein the value of the set of first results is selected by an aggregation function applied to the collection of key-value pairs, the at least one condition comprises verification of membership of a key component of the value of the set of first results in a key component of the complex object outputted by the function and wherein the at least one condition further compares between a value component of the complex object outputted by the function and a value component of the value of the set of first results.

8. The method of claim 7 , wherein the at least one condition further computes whether the value component of the complex object outputted by the function is at least one of: greater-than, equal, or less-than, the value component of the value of the set of first results.

9. The method of claim 1 , wherein the at least one condition further comprises an aggregation function applied to the complex object output of the function.

10. The method of claim 1 , wherein the set of first results includes a collection of key-value pairs each including a key component and a value component, wherein the value of the set of first results is selected by creating for each common key component a set of the value components of the key-value pairs associated with the common key component, and wherein the at least one condition comprises equality of a key component of the value of the set of first results with a key component of the complex object outputted by the function, and wherein the at least one condition further compares between a value component of the complex object outputted by the function and a value component of the value of the set of first results.

11. The method of claim 10 , wherein the at least one condition further compares comprises a member selected from the group consisting of: greater than, less than, and equal to.

12. The method of claim 1 , wherein the complex objects include at least one member selected from a group consisting of: a set, time series, vector, map, graph, and tree.

13. The method of claim 1 , wherein each instance includes at least two objects having a same data structure each including a plurality of parameters storing same representations of same data, and further comprising creating, for each same value of each parameter of the same data structure, a set of values of other parameters of the same data structure, and wherein applying the function to each data instance to generate the set of first results comprises applying the function to the set of values of the other parameters of the same data structure.

14. The method of claim 1 , wherein the function of the generated set of classification features receives a complex type and outputs a complex type.

15. A system for generating a statistical classifier, comprising:

a data interface for communicating with a storage unit storing thereon at least one training dataset comprising a plurality of raw data instances each including a set of data objects assigned at least one value, and storing a plurality of functions adapted to process to each data instance to generate a plurality of sets of first results comprising a collection of complex objects having a plurality of parameters built from a plurality of primitive types;

a program store storing code; and

a processor coupled to the data interface and the program store for implementing the stored code, the code comprising:

code to apply at least one function from the plurality of functions to each data instance to calculate a set of first results comprising a collection of complex objects having a plurality of parameters built from a plurality of primitive types;

code to extract a plurality of values from the the set of first results;

code to generate a plurality of candidate classification features, each respective candidate classification feature including:

(i) the function that outputs a complex object, selected from the plurality of functions,

(ii) at least one condition selected from a plurality of conditions, and

(iii) a value selected from the extracted values,

wherein the respective candidate classification feature outputs an output value computed by the at least one condition that compares between the complex object output of the function and the value selected from the plurality of extracted values;

code to select a subset of pivotal features from the generated candidate classification features according to at least one correlation requirement between at least one classification variable and each respective candidate classification feature; and

code to generate a statistical classifier for classification of the at least one classification variable based on the selected subset of pivotal features applied to a new training dataset.

16. The system of claim 15 , further comprising a user interface coupled to the processor, the user interface set to allow a user to input the at least one classification variable.

17. The system of claim 15 , further comprising a user interface coupled to the processor, the user interface set to allow a user to select the at least one function from the plurality of functions.

18. The system of claim 15 , further comprising code to train a statistical classifier for classification of the at least one classification variable based on the selected subset of pivotal features applied to the at least one training dataset.

19. The system of claim 15 , wherein the at least one correlation requirement includes a threshold for a predefined processing time for predicting the at least one classification variable using a target processing unit.

20. The method of claim 9 , wherein the aggregation function is selected from the group comprising: minimum element in the set, number of elements in the set, size of the set, average value of elements in the set, and maximum element value in the set.

21. A computer program product comprising a non-transitory computer readable storage medium storing program code thereon for implementation by a processor of a system for generating a statistical classifier, the program code comprising:

instructions to receive a designated training dataset comprising a plurality of raw data instances each including a set of data assigned at least one value;

instructions to apply a function to each raw data instance to calculate a set of first results comprising a collection of complex objects having a plurality of parameters built from a plurality of primitive types, wherein the function is selected from a plurality of functions;

instructions to extract a plurality of values from the set of first results;

instructions to generate a plurality of candidate classification features, each respective candidate classification feature including:

(i) the function that outputs the a complex object, selected from the plurality of functions,

(ii) at least one condition selected from a plurality of conditions, and

(iii) a value selected from the plurality of extracted values,

wherein the respective candidate classification feature outputs an output value computed by the at least one condition that compares between the complex object output of the function and the value selected from the plurality of extracted values;

instructions to select a subset of pivotal classification features from the generated candidate classification features according to a correlation requirement between at least one classification variable and each respective candidate classification feature;

and

instructions to generate a statistical classifier for classification of the at least one classification variable based on the selected subset of pivotal features applied to a new training dataset.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 3, 2016
From: MAOR, MEIR; KARIDI, RON; DAVIDOVICH, SAGIE; RONEN, AMIR
To: SPARKBEYOND LTD.
Reel/Frame 039068/0444 →
Continuity (3)
Provisional Application 62193196 · Jul 16, 2015
Provisional Application 62193199 · Jul 16, 2015
Related Publication 20170017900A1 · Jan 19, 2017
Cited By (3)
US 12,477,163 US 12,608,848 US 12,675,702