split
split: (ApproxDateOffsetSplit | DateOffsetSplit | RandomSplit | TemporalSplit | TimeRangeSplit) (Optional)
Description
Kumo will generate a training table with entities and labels according to your predictive query to be used in GNN training. A default split method will be used to split the generated training table to 3 disjoint training, validation, and holdout sets for training the predictive query
- When the predictive query is temporal node prediction, the default split method is
ApproxDateOffsetSplit([0.8, 0.1, 0.1]). - When the predictive query is temporal link prediction, the default split method is
DateOffsetSplit([-target_aggregation_end_date, 0]) - When the predictive query is static and the entity or the target table has a time column, the default split method is
TemporalSplit([0.8, 0.1, 0.1]). - When the predictive query is static and the entity and target table does not have a time column, the default split method is
RandomSplit([0.8, 0.1, 0.1]).
You can specify a custom split method and parameter to generate a training, validation, and test set by setting the splitvalue in the Model Planner input field.
Supported Task Types
- All
Supported Query Types
ApproxDateOffsetSplit: Only support temporal query
DateOffsetSplit: Only support temporal query
RandomSplit: Support all query types, more suitable for static queries
TemporalSplit: Support all query types, more suitable for temporal queries. The entity table needs to have a Create Date column.
TimeRangeSplit: Support all query types. The entity table needs to have a Create Date column.
Methods
Example
Timeframe Generation From Splits
When specifying a split for a temporal query where you want specific date + time windows, you can use TimeRangeSplit or DateOffsetSplit to define the training, validation, and holdout data splits. Once the desired time windows are defined in the split config, we will generate timestamps by taking the timeframe_step (either explicitly defined in the model plan or inferred from the query) and counting back from the end of each time window. For some splits, especially TimeRangeSplit, this can lead to some data being missing if the time window that was requested is not the same size as the timeframe step.
For example, using the following split with a timeframe step of 30 days
will generate the following timeframes (where timeframe start is open and timeframe end is closed)