Building a classification rule for geographical mapping of cell phone number I have a database of some 10000 cell-numbers with mapping of geographical areas they are associated to. I believe the first 5-6 characters in the numbers can point to the geo. area the cell number belongs to.  
I want to build the rules for such mapping so that geographical area for a new number can be calculated. Can someone point how should I approach the problem?
Update: I am not sure how many digits are specific to geo. location. It is only my guess that 5-6 digits may be involved.
Also, more than one set of digits can be associated to a particular geo-area. Every operator will have their own digit-set to refer to area and my database has cell-numbers from several operators.
 A: Ah!  "Cell" apparently means "cell phone" (rather than a generic cell such as a square on a map grid).  Thus, for each prefix, you would like to identify a geographic region in which that prefix is found.  These regions are not predefined; rather, you would like to estimate their extents from the data you have.  (This is why it's not a simple database tabulation problem.)
If this is right, then you probably would like to apply a "concave hull" algorithm with a GIS.  Each prefix gives a set of points in your database which translates to a polygonal region (the concave hull).  By applying this algorithm separately for each prefix, you would obtain a set of possibly overlapping geographic regions.
Statistical clustering algorithms look promising in this context, but they don't seem appropriate for several reasons.  First, you already have the clusters: the cell phone number prefix gives the cluster identifiers.  Second, the clusters might not be spatially separated, because sets of distinct ids can be geographically overlaid.
If you want to pursue the concave hull idea, we can migrate this question to the GIS site.
A: This can be done using relational database. R has a nice implementation of this (see this post on sqldf). MS Access (or even Excel) will work just as well.
The idea here is you want to create a table that maps a number (as you say, of 5/6 digits) to a geographical region (75 or however many you have). Then, you join your table of 10000 records onto your reference table.
Let table mydata contain your 10000 records and holds at least 1 column:


*

*ID - contains your 'cell number'


Let table myreftable contain your reference table, which should have exactly 1 row for each geographic region, and holds 2 columns:


*

*ID - contains the relevent 5/6 digits of your 'cell number'

*Geo - contains the description of the geographic region


The table you'd want would be generate by the following SQL:
select
   m.ID as cell_number
   ,r.Geo as geo_region
from mydata m
inner join myreftable r on left(m.ID,6)=r.ID

... where 'left()' is any function that takes the first 'n' characters of a string. Each database has different text/string functions you can use for this purpose. 
