Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VanqisAnomalyDetector

Sistem backend tingkat produksi berbasis Machine Learning untuk mendeteksi anomali pada transaksi kredit secara otomatis.

Ikhtisar (Overview)

VanqisAnomalyDetector adalah layanan RESTful API dan pipeline Machine Learning terintegrasi yang dirancang khusus untuk mengenali pola anomali dalam riwayat transaksi kredit pelanggan (misalnya: pola perilaku gagal bayar atau transaksi mencurigakan). Proyek ini memanfaatkan algoritma Isolation Forest untuk memberikan analisis tingkat lanjut yang dapat melayani deteksi secara langsung (real-time) maupun pemrosesan massal (batch processing).

Fitur Utama (Features)

  • Pemrosesan Data Otomatis: Pipeline pra-pemrosesan data mentah yang terstandarisasi untuk eksekusi algoritma.
  • Deteksi Anomali Akurat: Model Isolation Forest yang terlatih khusus pada himpunan data riwayat kredit.
  • RESTful API Berperforma Tinggi: Dibangun menggunakan kerangka kerja FastAPI untuk menjamin latensi rendah secara asynchronous.
  • Graceful Degradation & Pemantauan: Memiliki validasi Health Check otomatis serta melayani ketersediaan metadata statistik secara aman tanpa membebani layanan.
  • Standar Keamanan Industri: Mengusung arsitektur Twelve-Factor App dengan pemisahan konfigurasi .env terpusat dan tata kelola CORS.
  • Dokumentasi Dinamis: Terintegrasi secara bawaan dengan antarmuka dokumentasi Swagger UI & ReDoc.

Teknologi Utama (Tech Stack)

  • Machine Learning: Python 3.13, Scikit-Learn, Pandas, NumPy, Jupyter Notebook
  • Backend & API: FastAPI, Uvicorn, Pydantic, Pydantic-Settings
  • Infrastruktur Dasar: Python Virtual Environment (venv), Dotenv

Struktur Proyek (Project Structure)

Proyek ini dipisah menjadi dua fokus utama: Lingkungan peladen aplikasi (API) dan Lingkungan penelitian ilmu data (MachineLearning).

VanqisAnomalyDetector
├── API
│   ├── artifacts
│   │   ├── isolation_forest_model.pkl
│   │   ├── metadata.json
│   │   └── preprocessor.pkl
│   ├── requirements.txt
│   └── src
│       ├── api (Rute/Endpoint utama)
│       ├── core (Konfigurasi, Exceptions, Logging, Lifespan)
│       ├── main.py (Inisialisasi FastAPI)
│       ├── schemas (Model Validasi Pydantic)
│       └── services (Logika Bisnis & Inferensi Model)
├── MachineLearning
│   ├── artifacts (Berkas keluaran hasil eksekusi notebook)
│   ├── datasets (Data latih dan data uji CSV)
│   ├── notebooks (Jupyter Notebook untuk EDA dan Pelatihan)
│   └── requirements.txt
├── LICENSE
└── README.md

Prasyarat (Prerequisites)

  • Python 3.13 atau versi lebih baru.
  • PIP (Python Package Installer).

Instalasi (Installation)

  1. Kloning repositori ini ke dalam sistem lokal Anda.

  2. Repositori ini memuat dua modul terpisah. Masuk ke modul yang Anda butuhkan (contoh: cd API atau cd MachineLearning).

  3. Selalu disarankan untuk menggunakan Virtual Environment.

    python -m venv venv
    source venv/bin/activate  # Untuk Linux/macOS
    # venv\Scripts\activate   # Untuk Windows

Menjalankan Proyek (Running the Project)

1. Eksperimen Machine Learning

Untuk meneliti atau melatih ulang model, gunakan direktori MachineLearning:

cd MachineLearning
pip install -r requirements.txt

Lakukan eksperimen melalui jupyter notebook pada folder notebooks/. Hasil pelatihannya (.pkl dan .json) perlu disalin ke direktori API/artifacts/ untuk dikonsumsi oleh API.

2. Layanan REST API

Untuk menghidupkan backend aplikasi, gunakan direktori API:

cd API
pip install -r requirements.txt
cp .env.example .env

Catatan: Sesuaikan pengaturan pada berkas .env bila perlu, seperti pengaturan CORS untuk Frontend.

Nyalakan server peladen lokal:

uvicorn src.main:app --reload

API akan mulai mendengarkan (listening) pada http://127.0.0.1:8000.

Dokumentasi API (API Documentation)

Setelah peladen API berhasil beroperasi, Anda tidak perlu menguji titik akhir (endpoint) secara manual (contoh via cURL/Postman). Anda bisa langsung mengunjungi dokumentasi interaktif yang disediakan:

Lisensi (License)

Silakan merujuk pada berkas LICENSE di dalam repositori ini untuk mendapatkan detail terkait aturan, kewajiban, dan pembatasan hukum penggunaan proyek.

About

Machine learning-based credit transaction anomaly detection system using Isolation Forest with a production-ready FastAPI REST API.

Topics

Resources

Stars

Watchers

Forks

Contributors

Languages