I have 10,000 addresses from a city, which all have a region field in the database.
When a new address is entered, then I want my software to automatically detect the region of the address .
I think it should be implemented with some sort of machine learning algorithm. How can I do this?
And with every newly inserted address, the machine should learn to detect the region of the new address.
Is there any library for machine-Learning algorithms (like aforge.net for neural networks)?
Best Answer
Nope
Use a shapefile with polylines of the regions (they are more or less files full of coordinate pairs with a bit of metadata associated). Use something like the Google Maps Geocoding API to geocode the address (you send an address, and it sends back a coordinate pair). Write a simple algrithm* to determine which polygon from the shapefile the geocoded coordinates lie within. You can find shapefiles all over the web, especially from government agencies such as NOAA. The USGS has a decent collection too. I believe this solves the problem without breaking any of the laws of robotics, so I would not even bother with an AI-oriented solution. :)
*I would start here for a good reference to get you started. Also, do not forget that the earth is curved, so distance calculations work a bit different than on flat plane (think radians).