IP Library Granted Patent US 11,238,354
Granted Patent B2
US 11,238,354 · App. 17/177,115 · Granted Feb 1, 2022

Event-based feature engineering

Inventors: Davor Bonaci (Seattle, WA); Benjamin Chambers (Seattle, WA); Jordan Frazier (Seattle, WA); Emily Kruger (Seattle, WA); Ryan Michael (Seattle, WA); Charles Maxwell Scofield Boyd (Seattle, WA); Charna Parkey (Seattle, WA)
Assignee: Kaskada, Inc.
G06N5/04G06F16/24568G06N20/00
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,238,354
App. No.
17/177,115
Granted
Feb 1, 2022
Kind
B2
Abstract

A method for generating machine learning training examples using data indicative of events associated with a plurality of entities. The method comprises receiving an indication of one or more selected entities of the plurality of entities, receiving information indicative of selecting one or more prediction times associated with each of the one or more selected entities, and receiving information indicative of selecting one or more label times associated with each of the one or more selected entities. Each of the one or more label times corresponds to at least one of the one or more prediction times, and the one or more label times occur after the corresponding one or more prediction times. Data associated with the one or more prediction times and the one or more label times is extracted from the data indicative of events associated with the plurality of entities. Training examples for use with a machine learning algorithm are generating using the data associated with the one or more prediction times and the one or more label times.

Claims (49)

1. A method for generating machine learning feature vectors or examples using data indicative of events associated with a plurality of entities, the method comprising:

receiving an indication of one or more selected entities of the plurality of entities;

receiving information indicative of selecting one or more prediction times associated with each of the one or more selected entities;

receiving information indicative of selecting one or more label times associated with each of the one or more selected entities, each of the one or more label times corresponding to at least one of the one or more prediction times, wherein the one or more label times occur after the corresponding one or more prediction times;

extracting, from the data indicative of events associated with the plurality of entities, data associated with the one or more prediction times and the one or more label times; and

generating, using the data associated with the one or more prediction times and the one or more label times, one or more feature vectors or examples for use with a machine learning algorithm, the one or more feature vectors or examples comprising values of one or more predictor features associated with the one or more selected entities at the one or more prediction times and values of one or more label features associated with the one or more selected entities at the one or more label times.

2. The method of claim 1 , wherein at least one of receiving the information indicative of selecting one or more prediction times associated with each of the one or more selected entities or receiving the information indicative of selecting one or more label times associated with each of the one or more selected entities comprises receiving information indicating how to select a time.

3. The method of claim 1 , wherein at least one of receiving the information indicative of selecting one or more prediction times associated with each of the one or more selected entities or receiving the information indicative of selecting one or more label times associated with each of the one or more selected entities comprises receiving information indicative of identifying an event.

4. The method of claim 1 , wherein extracting from the data indicative of events associated with the plurality of entities, data associated with the one or more prediction times and the one or more label times comprises:

determining, based on events associated with the one or more selected entities, at least one calculated entity; and

retrieving, from the at least one calculated entity, information associated with the at least one of the one or more prediction times or the one or more label times.

5. The method of claim 4 , wherein generating, using the data associated with the one or more prediction times and the one or more label times, one or more feature vectors or examples for use with the machine learning algorithm, the one or more feature vectors or examples comprising values of one or more predictor features associated with the one or more selected entities at the one or more prediction times and values of one or more label features associated with the one or more selected entities at the one or more label times, comprises:

generating the one or more feature vectors or examples based at least in part on the information retrieved from the at least one calculated entity.

6. The method of claim 4 , wherein the at least one calculated entity is different than the at least one selected entity.

7. The method of claim 1 , wherein the data indicative of events associated with the plurality of entities comprises at least one of a data stream or stored historical events.

8. The method of claim 1 , wherein the data indicative of events associated with the plurality of entities comprises a plurality of data streams, the method further comprising:

merging the plurality of data streams into a single stream, and wherein extracting, from the data indicative of events associated with the plurality of entities, data associated with the one or more prediction times and the one or more label times comprises:

tracking which of the plurality of data streams the data associated with the one or more prediction times and the one or more label times is associated with.

9. A system comprising:

a computing node configured at least to:

receive information indicative of one or more selected entities of a plurality of entities;

receive information indicative of selecting a first event associated with the one or more selected entities, the first event indicative of when a value associated with a second event is predicted;

receive an indication of the second event, the second event indicative of selecting a label value associated with the second event;

extract from data indicative of events associated with the plurality of entities, data associated with the first event and the second event; and

generate, using the data associated with the first event and the second event, one or more feature vectors or examples for use with a machine learning algorithm, the one or more feature vectors or examples comprising the values of one or more predictor features associated with a selected entity among the plurality of entities proximate to the first event and the values of one or more label features associated with a selected entity among the plurality of entities proximate to the second event.

10. The system as recited in claim 9 , wherein the data indicative of events associated with the plurality of entities comprises a plurality of data streams, the method further comprising:

merging the plurality of data streams into a single stream, and wherein extracting, from the data indicative of events associated with the plurality of entities, data associated with the first event and the second event comprises:

tracking which of the plurality of data streams the data associated with the first event and the second event is associated with.

11. The system as recited in claim 10 , wherein the computing node configured to receive information indicative of selecting the first event associated with the one or more selected entities comprises basing a prediction on features determined proximate the first event.

12. The system as recited in claim 10 , wherein the computing node configured to receive information indicative of selecting a first event associated with the one or more selected entities comprising information indicating how a time the first event is to be selected.

13. The system as recited in claim 10 , wherein the computing node is configured to extract the data associated with the first event and the second event by configuring the computing node at least to:

determine, based on events associated with the one or more selected entities, at least one calculated entity; and

retrieve, from the at least one calculated entity, information associated with the at least one of the first event or the second event.

14. The system as recited in claim 13 , wherein the computing node is configured to generate, using the data associated with the first event and the second event, one or more feature vectors or examples for use with the machine learning algorithm, the one or more feature vectors or examples comprising the values of one or more predictor features associated with the selected entity proximate to the first event and the values of one or more label features associated with the selected entity proximate to the second event by:

generating the one or more feature vectors or examples based at least in part on the information retrieved from the at least one calculated entity.

15. The system as recited in claim 14 , wherein the at least one calculated entity is different than the at least one selected entity.

16. The system as recited in claim 10 , the computing node is configured to generate, using the data associated with the first event and the second event, one or more feature vectors or examples for use with the machine learning algorithm, the one or more feature vectors or examples comprising the values of one or more predictor features associated with the selected entity proximate to the first event and the values of one or more label features associated with the selected entity proximate to the second event by configuring the computing node at least to:

aggregate the extracted data associated with at least one of the first event or the second event.

17. The system as recited in claim 16 , wherein aggregating the extracted data associated with at least one of the one or more prediction times or the one or more label times comprises:

temporally aggregating the extracted data associated with at least one of the one or more prediction times and the one or more label times.

18. The system as recited in claim 10 , further comprising configuring the computing node at least to:

receive an information indicative of a manner in which to sample the one or more feature vectors or examples.

19. The system as recited in claim 10 , wherein at least one of the one or more feature vectors or examples is a negative training example, and wherein at least one of the second event comprises a non-occurrence of an event.

20. A non-transitory computer-readable medium storing instructions that, when executed, cause operations comprising:

receiving an indication of one or more selected entities of the plurality of entities;

receiving information indicative of selecting one or more prediction times associated with each of the one or more selected entities;

receiving information indicative of selecting one or more label times associated with each of the one or more selected entities, each of the one or more label times corresponding to at least one of the one or more prediction times, wherein the one or more label times occur after the corresponding one or more prediction times;

extracting, from the data indicative of events associated with the plurality of entities, data associated with the one or more prediction times and the one or more label times; and

generating, using the data associated with the one or more prediction times and the one or more label times, one or more feature vectors or examples for use with a machine learning algorithm, the one or more feature vectors or examples comprising values of one or more predictor features associated with the one or more selected entities at the one or more prediction times and values of one or more label features associated with the one or more selected entities at the one or more label times.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 9, 2025
From: KASKADA, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 072198/0199 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 25, 2022
From: BONACI, DAVOR; CHAMBERS, BENJAMIN; FRAZIER, JORDAN; KRUGER, EMILY; MICHAEL, RYAN; BOYD, CHARLES MAXWELL SCOFIELD; PARKEY, CHAMA
To: KASKADA, INC.
Reel/Frame 059405/0353 →
Continuity (3)
Continuation In Part 16877407 · May 18, 2020
Provisional Application 62969639 · Feb 3, 2020
Related Publication 20210241146A1 · Aug 5, 2021