# 🌊 POSEIDON: Phase 4 ⚡ Output Modeling & Conformal Prediction ⚡ ![Python](https://img.shields.io/badge/Python-3.10%2B-blue) ![LightGBM](https://img.shields.io/badge/LightGBM-4.0%2B-brightgreen) ![XGBoost](https://img.shields.io/badge/XGBoost-2.0%2B-blue) ![Hugging Face](https://img.shields.io/badge/Hugging%20Face-Ready-yellow) Sistem berbasis **Machine Learning (Positive-Unlabeled Learning)** untuk memprioritaskan target patroli *IUU (Illegal, Unreported, and Unregulated) Fishing* menggunakan citra radar satelit (Sentinel-1 SAR) di wilayah WPP-711 (Laut Natuna Utara). [Features](#-features) • [Installation](#-installation--usage) • [Architecture](#%EF%B8%8F-architecture) • [Contributors](#-contributors) --- ## 🎯 Overview Bagian **Phase 4** dari *pipeline* analitik mutakhir **POSEIDON (Patrol Oriented SAR Enabled IUU Detection Over Indonesian Natuna)** berisi hasil akhir pemodelan AI untuk memberantas penangkapan ikan ilegal. Model ini mendeteksi anomali pada kapal-kapal "gelap" (tanpa sinyal AIS) dengan mengintegrasikan 18 fitur dari 4 dimensi: - 🛰️ **Karakteristik Fisik Radar** - Intensitas, pantulan sinyal, dan estimasi panjang kapal. - 🗺️ **Konteks Spasial & Regulasi** - Kedekatan dengan kawasan konservasi (MPA), batas ZEE, dan pos pelabuhan. - 📡 **Status Identitas AIS** - *Matching score* antara deteksi radar dan kapal terdaftar. - ⏳ **Pola Temporal** - Histori kerawanan lokasi dan tingkat kepadatan area dengan aktivitas gelap. Sistem ini didesain menggunakan metode **Hybrid nnPU (non-negative Positive-Unlabeled) Stacking (LightGBM + XGBoost)** dan dievaluasi menggunakan kerangka **Conformal Prediction** untuk memberikan jaminan keyakinan secara operasional (meminimalkan *False Alarms*). --- ## ✨ Features ### 🧠 Advanced AI Modeling - **Positive-Unlabeled Learning (nnPU)** - Memanfaatkan data penindakan resmi (*Seizure*) sebagai label *Positive* dan deteksi sisa radar sebagai *Unlabeled*. - **Hybrid Ensemble** - Menggabungkan keandalan **LightGBM** dan **XGBoost** ke dalam satu arsitektur *stacking*. - **Conformal Calibration** - Mengkonversi keluaran skor mentah menjadi rentang probabilitas operasional yang ketat. ### 📊 Comprehensive Datasets - **150,000+ Detections** - Seluruh data deteksi satelit SAR yang telah diproses untuk proses training. - **18 Engineered Features** - Pemrosesan mendalam secara spasial (*haversine distances*) dan temporal. ### ⚡ Ready for Hugging Face - Model disiapkan menjadi 3 *Fold* untuk masing-masing LightGBM dan XGBoost guna menangani *variance*. - Dataset disuguhkan dalam format `.parquet` yang sangat terkompresi. --- ## 🏗️ Architecture | Komponen | Teknologi | Tanggung Jawab | | --- | --- | --- | | **Pipeline Data** | Pandas, GeoPandas, Numpy | Pemrosesan spasial, manipulasi atribut temporal | | **Model ML** | LightGBM, XGBoost, Scikit-learn | *Positive-Unlabeled inference*, Metrik Evaluasi (AUPRC, AUC) | | **Penyimpanan** | Hugging Face Hub, Parquet | Repository, efisiensi ukuran model *weights* | --- ## 🚀 Installation & Usage ### 1. Download Repository Karena folder ini menyimpan Model *Weights* dan Data pada **Fase 4 (Modeling & Export)**, Anda dapat me-*load*-nya dengan mudah. ```bash # Clone repository ini (sesuaikan dengan link Hugging Face repo Anda nantinya) git clone https://huggingface.co/JullMol/POSEIDON cd POSEIDON/Phase_4 ``` ### 2. Menjalankan *Inference* Gunakan *script* Python di bawah untuk memuat model dan membuat prediksi pada dataset baru: ```python import lightgbm as lgb import xgboost as xgb import pandas as pd # Load Dataset dataset = pd.read_parquet('sar_labeled.parquet') # Load Model LightGBM (Fold 0) lgb_model = lgb.Booster(model_file='lgb_model_0.txt') # Load Model XGBoost (Fold 0) xgb_model = xgb.Booster(model_file='xgb_model_0.json') # Tentukan fitur model sesuai pipeline POSEIDON features = ['length_m', 'fishing_score', 'dist_to_eez_boundary_km', ...] # Lakukan Prediksi preds_lgb = lgb_model.predict(dataset[features]) print(preds_lgb) ``` --- ## 👨‍💻 Contributors Dipersembahkan oleh Tim Mahasiswa dari **Universitas Negeri Surabaya**: - **Faishal Muflih Irfanu Tsaqib** - **Daffa Ahmad Pangreksa** - **Dimas Rafi Izzulhaq** *Dibuat untuk mendukung penjagaan kedaulatan maritim dan kelestarian sumber daya laut Indonesia.* 🇮🇩