12. A computer-implemented method of generating one or more attribute models learned from a user's driving preferences, comprising: receiving, by one or more processors, attribute data for a set of driving sessions for a user, wherein attribute data for each driving session includes measurements relevant to one or more target attributes, wherein each driving session is defined in terms of one or more road segments of one or more roads traversed by the user during the set of driving sessions, wherein receiving attribute data for a set of driving sessions for a user comprises receiving sensor data; applying, by the one or more processors, attribute estimation rules to the attribute data to compute an attribute value for each target attribute along each road segment traversed at least once in the driving sessions; assigning, by the one or more processors, a default attribute value for one or more unseen road segments of the one or more roads identified in each driving session, wherein unseen road segments correspond to road segments not yet traversed by the user during any one of the driving sessions; determining and storing, by the one or more processors, an attribute model comprising attribute values computed or assigned for each road segment of the one or more roads traversed by the user during the set of driving sessions; and accessing, by the one or more processors, the attribute model to generate directions for use in navigation.
12. A computer-implemented method of generating one or more attribute models learned from a user's driving preferences, comprising: receiving, by one or more processors, attribute data for a set of driving sessions for a user, wherein attribute data for each driving session includes measurements relevant to one or more target attributes, wherein each driving session is defined in terms of one or more road segments of one or more roads traversed by the user during the set of driving sessions, wherein receiving attribute data for a set of driving sessions for a user comprises receiving sensor data; applying, by the one or more processors, attribute estimation rules to the attribute data to compute an attribute value for each target attribute along each road segment traversed at least once in the driving sessions; assigning, by the one or more processors, a default attribute value for one or more unseen road segments of the one or more roads identified in each driving session, wherein unseen road segments correspond to road segments not yet traversed by the user during any one of the driving sessions; determining and storing, by the one or more processors, an attribute model comprising attribute values computed or assigned for each road segment of the one or more roads traversed by the user during the set of driving sessions; and accessing, by the one or more processors, the attribute model to generate directions for use in navigation. 13. The computer-implemented method of claim 12 , further comprising: determining, by the one or more processors, if one or more explicit conditions applies to each target attribute, and when an explicit condition is determined to apply to a given target attribute, the method further comprising: defining, by the one or more processors, a bucket for each explicit condition of each given target attribute; storing, by the one or more processors, attribute data for each road segment from each driving session into a corresponding bucket; and determining and storing, by the one or more processors, a conditional variant model for each bucket from attribute values computed or assigned from merged attribute data stored in each bucket.