The aim of this project is to develop a machine learning model to identify an IoT device based on DNS logs from a Wi-Fi access point.
The repository proposes 2 mathematically equivalent Random Forest classifiers, achieving an accuracy of 97%. The first proposal is multi class random forest classifier, whereas the second implementation is an array of binary random forest classifiers. The purpose of the second model is to simplify adding classes to the model without retrainining the entire model.
- Docker and Docker Compose
- (Optional) VS Code + Dev Containers extension
git clone https://github.com/SafeNetIoT/iot_identification.git
cd iot_identificationdocker compose up --buildRuns the same container used in production and CI.
Your code is mounted into /app, so changes persist.
Using VS Code Dev Containers gives you a fully pre-configured, reproducible development environment — with automatic Python setup, debugging, and dependency management — without installing anything locally.\
- Install the Dev Containers extension.
- Open the repo in VS Code.
- Click “Reopen in Container”.
- Potential overfitting in certain cases.
- Data drift
- Model degredation with new classes (binary model)