← Back to Projects
Machine Learning · Cybersecurity

Android Adware Detection

Machine Learning Model for Android Security

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.

PythonPandasscikit-learnLightGBMJupyter Notebook
Android Adware Detection — LightGBM model evaluation results

Project at a Glance

171K+Applications in Large Dataset
97.4%Best Cross-Validation Accuracy
5-FoldCross-Validation
LightGBMFinal Model

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

Android Applications
↓
Feature Extraction
↓
Data Preparation
↓
Model Training
↓
LightGBM
↓
Model Evaluation
↓
Performance Analysis
Android Adware Detection — research and implementation 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:

AccuracyPrecisionRecallF1-Score

Model Results

97.4%Best 5-Fold Cross-Validation Accuracy

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%

LightGBM model evaluation results — hold-out and 5-fold cross-validation

What This Project Demonstrates

This project demonstrates experience with:

Large-scale datasetsData preparationBinary classificationModel comparisonLightGBMCross-validationModel evaluationCybersecurity analyticsInterpreting ML performance metrics

Tech Stack

PythonPandasscikit-learnLightGBMMachine LearningJupyter NotebookData Analysis

Project Links