1. A computer-implemented method, comprising: determining, by a computing device, one or more activity groups based on historical activities for a user; extracting contextual features from contextual information associated with an activity group; calculating, for each of a plurality of time instances, an activity probability that the user is performing an activity associated with the activity group based on an analysis of the contextual features; identifying one or more temporal features of the activity group, based on the activity probability values for the plurality of time instances, which comprises: selecting an activity feature variable; determining a set of possible temporal features for the activity feature variable based on the activity probability values; and in response to determining that the activity feature variable includes a non-linear set of possible temporal features: partitioning the activity feature variable into two or more binary variables; and mapping each of the two or more binary variables to one or more corresponding possible temporal features; and generating a decision tree, wherein a path of the decision tree includes a temporal decision model for each of the temporal features, wherein a temporal decision model compares a target time against a temporal classifier, and wherein a leaf node of the decision tree includes an activity-prediction model based on the activity probability.