1. A method of assigning a geographic location to a network block comprising: obtaining geo-location data from a plurality of network data sources; generating, for each data source, intermediate assignments associated with a network block; classifying and/or regressing each intermediate assignment to generate classifications and/or regressions based on training data; and determining a geographic location of the network block based upon at least one of the intermediate assignment classifications and/or regressions.