Aggregate features for machine learning
Abstract
An example system includes a memory store of aggregate definitions. Each aggregate definition specifies a key value, a feature, a half-life value, and an aggregate operation metric to apply to a cross of the feature and the half-life value to generate aggregate metrics. The system also includes an aggregation engine that generates aggregate feature records from the input source based on the aggregate definitions and stores the aggregate feature records. An aggregate feature record includes an aggregate of the metric for the feature decayed over time using the half-life. The system also includes a query service that identifies, using the aggregate definitions, responsive aggregate feature records that satisfy parameters of a received request, applies the half-life to the responsive feature records, and provides the responsive feature records to a requester, the requester using the responsive feature records as input for a neural network.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A system comprising:
at least one processor; memory storing an aggregate definition specifying:
a key,
an output store,
a feature,
a first time period,
a second time period, and
an aggregate operation to apply to a cross of the feature and the first time period and to a cross of the feature and the second time period to generate aggregate metrics;
memory storing an aggregation engine configured to:
generate aggregate feature records from an input source based on the aggregate definition, an aggregate feature record of the aggregate feature records being for a particular value of the key and including an aggregate metric for each unique feature value and time period combination for the particular value of the key, and
store the aggregate feature records in the output store; and
memory storing a query service configured to:
receive a request having parameters,
identify responsive aggregate feature records that satisfy the parameters, and
provide the responsive aggregate feature records to a requester, the requester using the responsive aggregate feature records as input for a neural network.
2 . The system of claim 1 , wherein the feature is a binary field or a continuous field found in the input source.
3 . The system of claim 2 , wherein at least some aggregate definitions further specify a label, the label being a binary field found in the input source, and the aggregation engine applies the aggregate operation to a full cross of the feature, the label, the first time period, and the second time period.
4 . The system of claim 1 , wherein the input source includes a batch input source and an online input source and the aggregate feature records from the batch input source are stored in a first memory and aggregate feature records from the online input source are stored in a second memory, and providing the responsive aggregate feature records to the requester includes combining the aggregate metrics that share a key value, a feature value and a time period.
5 . The system of claim 1 , wherein the first time period is a first half-life and the second time period is a second half-life.
6 . The system of claim 5 , wherein a first aggregate metric represents the aggregate operation applied to the feature modified by the first half-life and a second aggregate metric represents the aggregate operation applied to the feature modified by the second half-life.
7 . The system of claim 5 , wherein the query service is configured to apply the first half-life to a first aggregate metric in a first aggregate feature record and to apply the second half-life to a second aggregate metric in the first aggregate feature record based on an end time for a batch number and a last update date associated with the first aggregate feature record.
8 . A method comprising:
reading a new record from an input source; accessing an aggregate definition, the aggregate definition specifying:
a key,
a feature set indicating one or more information fields from the input source,
a time period set indicating one or more time periods, and
a set of aggregate operations;
determining an input key value for the aggregate definition, wherein the input key value is determined based on the key for the aggregate definition and a corresponding value from the new record; identifying a first aggregate feature record in an output store having a value for the key that matches the input key value and wherein the first aggregate feature record includes one or more aggregate metrics, the one or more aggregate metrics representing application of an aggregate operation in the set of aggregate operations to a feature of the feature set and a time period of the time period set; updating the one or more aggregate metrics using the new record; and using the first aggregate feature record as input to a neural network.
9 . The method of claim 8 , wherein the aggregate definition further specifies a location of the output store.
10 . The method of claim 8 , wherein using the first aggregate feature record as input to a neural network includes:
receiving a query; determining the first aggregate feature record is responsive to the query; and providing the responsive aggregate feature record to the neural network.
11 . The method of claim 8 , wherein the aggregate definition further specifies a transformation routine and the method further includes performing the transformation routine on the new record before identifying the first aggregate feature record.
12 . The method of claim 8 , wherein the aggregate definition further specifies a label set, and wherein at least one aggregate metric in the one or more aggregate metrics represents application of an aggregate operation in the set of aggregate operations to a feature of the feature set, a label of the label set, and a time period of the time period set.
13 . A non-transitory computer-readable medium storing instructions that, when executed by at least one processor, cause a computing system to perform operations including:
generating aggregate feature records from an input source based on an aggregate definition, wherein:
the aggregate definition specifies a key, a feature, a first time period, a second time period, and an aggregate operation, and
an aggregate feature record of the aggregate feature records being for a particular value of the key and including an aggregate metric representing an application of the operation to each unique feature value and time period combination for the particular value of the key;
receiving a request having parameters; identifying responsive aggregate feature records that satisfy the parameters; and providing the responsive aggregate feature records to a requester, the requester using the responsive aggregate feature records as input for a neural network.
14 . The non-transitory computer-readable medium of claim 13 , wherein the feature is a binary field or a continuous field found in the input source.
15 . The non-transitory computer-readable medium of claim 13 , wherein the aggregate definition further specifies a label, the label being a binary field found in the input source, and generating the aggregate feature record further includes applying the aggregate operation to a unique combination of values for the feature, the label, and the first time period, and to the unique combination of values for the feature, the label, and the second time period.
16 . The non-transitory computer-readable medium of claim 13 , wherein the input source includes a batch input source and an online input source and the aggregate feature records from the batch input source are stored in a first memory and aggregate feature records from the online input source are stored in a second memory, and providing the responsive aggregate feature records to the requester includes combining the aggregate metrics that share a key value, a feature value and a time period.
17 . The non-transitory computer-readable medium of claim 13 , wherein the first time period is a first half-life and the second time period is a second half-life.
18 . The non-transitory computer-readable medium of claim 17 , wherein a first aggregate metric represents the aggregate operation applied to the feature modified by the first half-life and a second aggregate metric represents the aggregate operation applied to the feature modified by the second half-life.
19 . The non-transitory computer-readable medium of claim 17 , wherein providing the responsive aggregate feature records to the requester further includes applying the first half-life to a first aggregate metric in a first aggregate feature record and applying the second half-life to a second aggregate metric in the first aggregate feature record based on an end time for a batch number and a last update date associated with the first aggregate feature record.Join the waitlist — get patent alerts
Track US2022382564A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.