amoriai/tools/pengujian_ai/README.md

118 lines
3.0 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Pengujian Efektivitas Sistem Rekomendasi OCR + Gemini AI
## Struktur File
```
tools/pengujian_ai/
├── skenario_pengujian.csv # 30 skenario input pengujian Gemini AI
├── hasil_pengujian_template.csv # Template isi hasil aktual dari aplikasi
├── evaluasi_gemini.py # Script confusion matrix + classification report
├── evaluasi_ocr.py # Script uji WER/CER akurasi OCR
└── README.md # Panduan ini
```
---
## Langkah 1 — Install Dependencies
```bash
pip install scikit-learn pandas matplotlib jiwer openpyxl
```
---
## Langkah 2 — Uji Gemini AI (Confusion Matrix)
### A. Lakukan pengujian manual di aplikasi
Buka `skenario_pengujian.csv`. Setiap baris adalah 1 skenario uji.
Untuk setiap skenario, jalankan aplikasi dengan input yang sesuai, lalu catat:
| Yang Dicatat | Kolom di Script |
|---|---|
| Apakah kategori rekomendasi sesuai? (1/0) | `kategori_actual` |
| Apakah harga tidak melebihi budget? (1/0) | `budget_actual` |
| Apakah tidak ada alergen? (1/0) | `alergen_actual` |
| Apakah semua kriteria terpenuhi? (1/0) | `overall_actual` |
### B. Edit `evaluasi_gemini.py`
Ganti bagian `# ISI DARI HASIL PENGUJIAN APLIKASI` dengan angka 1/0 sesuai hasil Anda.
### C. Jalankan
```bash
cd tools/pengujian_ai
python evaluasi_gemini.py
```
**Output yang dihasilkan:**
- Tabel Confusion Matrix (TP, FP, FN, TN) per kriteria
- Accuracy, Precision, Recall, F1-Score
- Gambar `confusion_matrix_gemini.png` (siap masuk laporan)
- Classification Report lengkap
---
## Langkah 3 — Uji Akurasi OCR (WER/CER)
### A. Siapkan data
Ambil 2030 foto menu Amor Coffee.
Untuk setiap foto, ketik manual teks yang tertera (ground truth), lalu catat teks hasil OCR dari aplikasi.
### B. Edit `evaluasi_ocr.py`
Isi list `data_ocr` dengan tuple `(foto_id, ground_truth, hasil_ocr)`.
### C. Jalankan
```bash
python evaluasi_ocr.py
```
**Output yang dihasilkan:**
- WER & CER per foto
- Rata-rata akurasi OCR keseluruhan
- File `hasil_uji_ocr.xlsx`
---
## Cara Baca Hasil
### Confusion Matrix
| | Prediksi Valid | Prediksi Tidak Valid |
|---|---|---|
| **Aktual Valid** | TP ✅ | FN ❌ |
| **Aktual Tidak Valid** | FP ❌ | TN ✅ |
### Rumus Metrik
| Metrik | Rumus | Artinya |
|---|---|---|
| Accuracy | (TP+TN)/(TP+FP+FN+TN) | % prediksi benar secara keseluruhan |
| Precision | TP/(TP+FP) | Dari yang dinyatakan valid, berapa % benar? |
| Recall | TP/(TP+FN) | Dari yang seharusnya valid, berapa % terdeteksi? |
| F1-Score | 2×P×R/(P+R) | Rata-rata harmonis Precision & Recall |
### Interpretasi WER/CER (OCR)
| Nilai | Interpretasi |
|---|---|
| WER < 5% | Sangat Baik |
| WER 515% | Baik |
| WER 1530% | Cukup |
| WER > 30% | ❌ Perlu perbaikan |
---
## Sitasi untuk Skripsi
```
Agnes Permata Sari, Fathiya Salamah, Zaka Gustian, M Chairul Fajrin. (2024).
Pemanfaatan Teknologi AI Seperti ChatGPT, Gemini, dan Perplexity dalam
Pengerjaan Tugas Mahasiswa. Scientica: Jurnal Ilmiah Sains dan Teknologi,
Vol. 3 No. 2, hal. 481487.
```