Unsupervised Learning for Anomaly Detection Research-Oriented Machine Learning Project
Author: Ali Zangeneh
Email: engineer.zangeneh@gmail.com
GitHub: https://github.com/alizangeneh
Project Overview
This project presents a complete research-oriented implementation of unsupervised learning techniques for anomaly detection. The core objective is to model normal behavior from data without using labels and to identify abnormal patterns using multiple algorithmic perspectives.
The project is designed as a serious academic and applied machine learning portfolio, suitable for PhD applications in the fields of Artificial Intelligence, Machine Learning, Intelligent Systems, IoT, and Cybersecurity.
Implemented Models
- KMeans for distance-based anomaly detection
- DBSCAN for density-based outlier detection
- Isolation Forest for tree-based anomaly scoring
- Autoencoder neural network for deep unsupervised anomaly detection
Main Use Cases Covered
- Sensor Fault Detection in IoT Systems
- Financial Fraud Detection
- Network Intrusion Detection
- Time-Series Sensor Anomaly Detection
Each use case is implemented as a standalone pipeline with its own dataset and execution script.
Project Structure Overview
data/raw Contains raw synthetic datasets for:
- Sensor data
- Fraud transactions
- Network traffic
- Time-series sensor signals
data/processed Contains scaled and preprocessed datasets.
src Contains all core source codes:
- Data loading
- Feature scaling
- Unsupervised models
- Evaluation utilities
- Visualization utilities
use_cases Contains full standalone pipelines:
- fraud_detection_pipeline.py
- network_intrusion_pipeline.py
- sensor_timeseries_pipeline.py
notebooks Contains full research notebooks:
- 01_exploration.ipynb
- 02_autoencoder_anomaly.ipynb
tests Contains basic unit tests for model validation.
main.py Main entry point for sensor-based anomaly detection using multiple models.
How to Install
pip install -r requirements.txt
How to Run
Basic sensor anomaly detection:
python main.py
Run dedicated use cases:
python use_cases/fraud_detection_pipeline.py python use_cases/network_intrusion_pipeline.py python use_cases/sensor_timeseries_pipeline.py
Technical Stack
Python NumPy Pandas Scikit-learn Matplotlib PyTorch
Academic Purpose
This repository is built as a serious research portfolio demonstrating:
- Strong understanding of unsupervised learning
- Practical anomaly detection in real-world scenarios
- Comparison of multiple algorithmic approaches
- Integration of classical machine learning and deep learning
- Proper project structuring for academic and industrial use
This project is specifically prepared to strengthen applications for fully funded PhD positions in machine learning, AI, intelligent systems, IoT, cybersecurity, and data science.
License
This project is open for academic and research use with proper attribution.