PANDUAN APLIKASI
Dokumentasi Penggunaan Aplikasi
Panduan menjalankan dan memakai fitur-fitur dashboard
Cara menjalankan aplikasi
pip install -r requirements.txt
uvicorn app.main:app --reload
Jalankan dari folder root proyek. Buka http://127.0.0.1:8000 di browser.
Panduan navigasi (sidebar kiri)
| Halaman | Fungsi |
|---|---|
| Halaman Utama | Ringkasan agregat dataset dan tujuan aplikasi |
| Tampilan Dataset | Melihat contoh data, statistik deskriptif, dan kualitas data |
| Visualisasi | Eksplorasi interaktif pola harga berdasarkan tipe, kondisi, lokasi, dan luas |
| Prediksi Harga | Prediksi manual lewat form input |
| Evaluasi Model | Metrik performa dan grafik aktual vs prediksi tiap model |
| Insight | Temuan utama dari analisis data dan model |
| Rekomendasi | Saran keputusan untuk bisnis, pengguna, dan pengembangan lanjutan |
Cara menggunakan fitur prediksi manual
- Buka halaman Prediksi Harga.
- Isi seluruh kolom sesuai karakteristik properti yang ingin diestimasi harganya.
- Klik tombol Prediksi Harga.
- Hasil estimasi beserta rentang wajar (± MAE model) akan ditampilkan.
Catatan teknis
- Model dan metrik dimuat dari folder
models/(file.pkl,.csv,.json) yang dihasilkan olehsrc/train_model.py— aplikasi tidak melakukan training ulang setiap kali dijalankan, sehingga tetap responsif. - Missing value pada fitur diisi otomatis oleh KNN Imputer di dalam pipeline (bukan dihapus barisnya).
- Untuk melatih ulang model (mis. setelah data diperbarui), jalankan:
Proses ini otomatis membandingkan 4 algoritma, lalu melakukan hyperparameter tuning (cd src python train_model.pyRandomizedSearchCV) & feature selection (SelectKBest) pada model dengan performa terbaik — lihat hasilnya di halaman Evaluasi Model.
Optimasi & keamanan sistem
| Aspek | Penerapan |
|---|---|
| Caching | Data, model, dan metrik dimuat sekali per proses
server (functools.lru_cache), bukan dibaca ulang setiap request. |
| Logging | Setiap request dan hasil prediksi (sukses/gagal)
dicatat ke logs/app.log (rotating log) untuk keperluan audit & debugging. |
| Rate limiting | Endpoint prediksi manual dibatasi 20 request/menit per IP, untuk mencegah penyalahgunaan. |
| Backup | Script scripts/backup.py menyalin
data/ dan models/ ke folder backups/ bertanda waktu,
dengan retensi otomatis 5 backup terakhir. |
| Containerization | Aplikasi bisa dijalankan lewat Docker
(Dockerfile tersedia di root proyek) agar lingkungan eksekusi konsisten
di server mana pun. |