1. A method for generating a location history for a user, the method comprising: obtaining, by one or more computing devices, a plurality of location reports from one or more devices associated with the user, wherein each of the plurality of location reports indicates an associated location and time; clustering, by the one or more computing devices, the plurality of location reports to form a plurality of segments, wherein each of the plurality of segments includes one or more of the plurality of location reports; identifying, by the one or more computing devices, a plurality of location entities for each of the plurality of segments, wherein the plurality of location entities for each of the plurality of segments comprise location entities that are located approximate to one or more of the locations associated with one or more of the location reports included in such segment; determining, by the one or more computing devices for each of the plurality of segments, one or more feature values associated with each of the location entities identified for such segment, wherein the one or more feature values are respectively determined for one or more features describing information about the location entity being valued; determining, by the one or more computing devices for each of the plurality of segments, a score for each of the plurality of location entities based at least in part on a scoring formula, wherein the scoring formula provides the score for each location entity based at least in part on a comparison of the one or more feature values associated with the location entity being scored versus the feature values associated with all other location entities identified for the segment of the location entity being scored; and selecting, by the one or more computing devices, one of plurality of locations entities for each of the plurality of segments for inclusion in the location history based at least in part of the scores associated with the plurality of location entities.