Android Adware Detection
A machine learning project focused on detecting Android adware by analyzing application permissions and behavioral features. Multiple machine learning approaches were evaluated, with LightGBM producing strong classification performance across the project datasets.
The Problem
Android adware can create unwanted advertising behavior, privacy concerns, and poor user experiences.
The objective of this project was to investigate whether machine learning could identify adware applications using extracted application features and permissions.
The Data
Two datasets were evaluated in this project.
Dataset 1
171,151 applications — 147,443 adware, 23,708 benign. 441 columns: 440 binary permission/features and 1 target label.
Dataset 2
2,000 applications — 500 adware, 1,500 benign.
Machine Learning Pipeline
Model Development
The project evaluated multiple classification algorithms before focusing on LightGBM for the final analysis. The workflow included data preparation, model training, hold-out evaluation, and 5-fold cross-validation.
Evaluation metrics included:
Model Results
Dataset 2 — 5-Fold Cross-Validation
Accuracy: 97.4%
Precision: 94.27%
Recall: 95.4%
F1-Score: 94.83%
Dataset 1 — 5-Fold Cross-Validation
Accuracy: 95%
Precision: 96.97%
Recall: 97.77%
F1-Score: 97.37%
What This Project Demonstrates
This project demonstrates experience with: