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.
MacOS / Linux:
python -m venv venv
source venv/bin/activateWindows:
python -m venv venv
venv\Scripts\activatepip install -r requirements.txtpip install -e .python -m src.identification.feature_extraction.py
python -m src.identification.binary_model.py- Potential overfitting in certain cases.
- Data drift
- Model degredation with new classes (binary model)