Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/hstsethi/in-mob-prefix

Dataset, charts, models of 4 digit mobile number prefixes in India by state, operator name.
https://github.com/hstsethi/in-mob-prefix

classification dataset hacktoberfest hacktoberfest2024 india machine-learning mobile-number osint phone-number reverse-phone-lookup

Last synced: 3 months ago
JSON representation

Dataset, charts, models of 4 digit mobile number prefixes in India by state, operator name.

Awesome Lists containing this project

README

        

Phone numbers in India are a set of unique 10 digit numbers. Out of which, first 4 are network operator/circle code. These prefixes range from 6xxx - 9xxx. Last six are random. This is a dataset, charts, model of first four numbers with their respective state, operator name.

Note: Starting from commit hash `9de66f3f74e465c973f5e2a47241c7627ca94c32`, the dataset is refractored to contain only 3 columns: series, operator, circle. This makes it easier to use/read and eliminates duplicate columns name.

Note: This dataset is provided "as-is" without any warranty of any kind. While I have personally fixed many errors, I still can't guarantee that this dataset is accurate. Use at your own risk.

## Use Cases

- Privacy friendly alternative to reverse phone number lookup services like Truecaller

See the section below for pretrained models, training and inference script.

- Model training

- Spam Detection

## Using Machine Learning To Predict Operator Names

A Python script named, `predict-operator.py` is provided with this project. It works by checking if the operator to predict is in dataset. If not, it will try using the appropriate model for predicting the operator. If appropriate model is not found, it will train the model using Gradient Boosting Classifer(GBC), save it, and predict using newly trained model.

Pretrained models are provided, but if you want, you can train your own by running `python train_save_all.py`

### Examples

```
$ python predict-operator.py ../data/6xxx-in-mob-prefix.csv 7000 ../models/6xxx-gbc.bin

Predicted Operator:
['RJ']

```

```
$ python predict-operator.py ../data/9xxx-in-mob-prefix.csv 9000 ../models/9xxx-gbc.bin

Operator Found in Database
['AT']

```


## Sources

Majority of this data is sourced from Wikipedia and Telecom Regulatory Authority of India(TRAI). Rest of it was collected from various sources including web scrapping, personal research and other publicly available resources.