1. A method comprising: receiving a plurality of social media messages generated by a given user; extracting a plurality of location features from the social media messages; processing each of the location features with at least one classifier from an ensemble of classifiers; generating, by each of the classifiers, a location classification for each of the social media messages, each location classification comprising a location and a weight associated with that location; and selecting one of the locations from the location classifications as the location of the given user based on a combination of the weights of the location classifications.