Skip to content

reactivheat/anomaly_log_python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Anomaly Log Detector

License Python Status

Repositori ini menyediakan alat pendeteksi anomali pada log aktivitas berbasis Python. Sistem memanfaatkan model Isolation Forest untuk mengidentifikasi perilaku tidak wajar (anomali) dalam data numerik dan mendukung proses pelatihan ulang model.

Persyaratan

Python 3.9 atau lebih baru.

Paket pendukung:

  • pandas
  • scikit-learn
  • joblib

Instalasi dependensi:

pip install -r requirements.txt

Struktur Folder

project/
├─ data/
│  ├─ log_example.csv
├─ models/
│  ├─ anomaly_detector.pkl
│  ├─ train_model.py
├─ src/
│  ├─ main.py
│  ├─ utils.py
├─ README.md
└─ requirements.txt

Cara Menjalankan (Deteksi Anomali)

Jalankan perintah berikut:

python src/main.py <lokasi_file_log.csv>

Contoh:

python src/main.py data/log_example.csv

Format Berkas Masukan

Berkas CSV minimal memiliki kolom berikut:

timestamp,activity
2025-01-01 00:00:00,5
2025-01-01 00:00:30,7
2025-01-01 00:02:00,100

Kolom timestamp akan dibersihkan dan dikonversi menjadi tipe datetime. Kolom activity akan diperiksa untuk memastikan bertipe numerik.

Keluaran

Program menghasilkan:

  1. Data lengkap dengan label anomaly.
  2. Baris‐baris yang teridentifikasi sebagai anomali.

Label anomaly:

  • 1 → normal
  • -1 → anomali

Pelatihan Ulang Model

Anda dapat melatih ulang model menggunakan data baru.

Jalankan:

python models/train_model.py --data data/log_example.csv --output models/anomaly_detector.pkl --contamination 0.05

Parameter:

  • --data → lokasi data input
  • --output → lokasi penyimpanan model
  • --contamination → proporsi asumsi anomali dalam data

Catatan Teknis

Parameter contamination pada Isolation Forest menentukan perkiraan persentase data yang dianggap anomali. Nilai ini dapat disesuaikan dengan sifat data.

Fungsi utilitas tambahan tersedia:

  • Pembersihan kolom timestamp
  • Validasi tipe data numerik

Lisensi

Penggunaan terbuka sesuai kebutuhan. Proyek ini dilisensikan dibawah MIT License. silahkan gunakan,ubah, dan distribusikan sesuai ketentuan lisensi.

About

Python-based anomaly detection system using Isolation Forest on activity logs. // Sistem deteksi anomali log aktivitas berbasis Python dan Isolation Forest.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages