1. A machine-readable storage medium encoded with instructions, that when executed by one or more processors, cause the processor to carry out a process for generating directions for use in navigation during a current driving session, the process comprising: storing a plurality of target attributes; for at least a selection of the stored target attributes, storing a plurality of conditional variant models associated with the selected target attributes; receiving a route request from a user, including a target destination; generating a set of candidate routes; computing a score for each candidate route based on one or more attribute models learned from previous user driving sessions, wherein computing comprises: probabilistically determining for a target attribute that is one of the selected target attributes which of the plurality of conditional variant models associated with the target attribute currently corresponds to a condition of the target attribute; and applying the determined conditional variant model to the target attribute; and providing at least one scored route to the user.