docs: update readme and replace dami result
This commit is contained in:
@@ -1,35 +1,45 @@
|
||||
Analisis Sentimen Lengkap (GAP Model)
|
||||
# Analisis Sentimen Lengkap (GAP Model)
|
||||
|
||||
## 1. Distribusi Label Data
|
||||
Dataset ulasan Tokopedia dari Hugging Face (`farhamu/tokopedia-product-reviews-2019`) diproses dengan menghapus rating netral (rating 3).
|
||||
- **Label 1 (Positif):** Ulasan dengan rating 4 dan 5
|
||||
- **Label 0 (Negatif):** Ulasan dengan rating 1 dan 2
|
||||
Dataset ulasan Tokopedia dari Hugging Face (`farhamu/tokopedia-product-reviews-2019`) berisi 40.607 baris ulasan. Setelah membersihkan rating netral (rating 3 sebanyak 1.823 baris), tersisa **38.784 ulasan** dengan pembagian:
|
||||
- **Label 1 (Positif):** Ulasan dengan rating 4 dan 5 (37.860 sampel / ~97,62%)
|
||||
- **Label 0 (Negatif):** Ulasan dengan rating 1 dan 2 (924 sampel / ~2,38%)
|
||||
|
||||
Grafik distribusi label telah disimpan pada direktori `results/figures/distribusi_label_sentimen.png`.
|
||||
Dataset kemudian dibagi menjadi **80% data latih (31.027 ulasan)** dan **20% data uji (7.757 ulasan)** secara bertingkat (*stratified*).
|
||||
|
||||
Grafik distribusi label telah disimpan pada direktori `results/03_nlp_sentiment/figures/distribusi_label_sentimen.png`.
|
||||
|
||||
---
|
||||
|
||||
## 2. Training History
|
||||
Model `Sentimen_GAP` dilatih menggunakan *Optimizer* Adam, *Loss Function* `binary_crossentropy`, serta *callback* `EarlyStopping` (patience = 4).
|
||||
Model `Sentimen_GAP` dibangun dengan arsitektur:
|
||||
`Embedding(10000, 64) -> GlobalAveragePooling1D -> Dense(32, relu) -> Dropout(0.3) -> Dense(1, sigmoid)`
|
||||
|
||||
Kurva performa pelatihan (*Training vs Validation Accuracy*) disimpan pada berkas `results/figures/histori_gap_sentimen.png`.
|
||||
- **Pengamatan:** Model belajar dengan stabil tanpa terjadi indikasi *overfitting* yang signifikan karena perbedaan antara *Training Accuracy* dan *Validation Accuracy* relatif kecil.
|
||||
Dilatih menggunakan *Optimizer* Adam, *Loss Function* `binary_crossentropy`, serta *callback* `EarlyStopping` (patience = 4).
|
||||
|
||||
Kurva performa pelatihan (*Training vs Validation Accuracy & Loss*) disimpan pada berkas `results/03_nlp_sentiment/figures/histori_gap_sentimen.png`.
|
||||
- **Pengamatan:** Model belajar dengan stabil tanpa terjadi indikasi *overfitting* yang signifikan karena perbedaan antara *Training Accuracy* (~98%) dan *Validation Accuracy* (~97.8%) relatif kecil dan konvergen.
|
||||
|
||||
---
|
||||
|
||||
## 3. Classification Report & Confusion Matrix (GAP Evaluation)
|
||||
|
||||
### Classification Report:
|
||||
Laporan evaluasi lengkap disimpan pada `results/reports/classification_report_gap_sentimen.txt`.
|
||||
### Classification Report pada Test Set (7.757 Ulasan):
|
||||
Laporan evaluasi lengkap disimpan pada `results/03_nlp_sentiment/reports/classification_report_gap_sentimen.txt`.
|
||||
|
||||
| Kelas | Precision | Recall | F1-Score | Support |
|
||||
| :--- | :---: | :---: | :---: | :---: |
|
||||
| **Negatif (0)** | (Sesuai output terminal) | (Sesuai output terminal) | (Sesuai output terminal) | N |
|
||||
| **Positif (1)** | (Sesuai output terminal) | (Sesuai output terminal) | (Sesuai output terminal) | N |
|
||||
| **Accuracy** | | | **XX%** | N_total |
|
||||
| **Negatif (0)** | 0.59 | 0.22 | 0.32 | 185 |
|
||||
| **Positif (1)** | 0.98 | 1.00 | 0.99 | 7.572 |
|
||||
| **Accuracy** | | | **97.6% (0.98)** | 7.757 |
|
||||
| **Macro Avg** | 0.78 | 0.61 | 0.65 | 7.757 |
|
||||
| **Weighted Avg** | 0.97 | 0.98 | 0.97 | 7.757 |
|
||||
|
||||
### Analisis Ketimpangan Data (*Imbalance*):
|
||||
Karena kelas positif jauh mendominasi (97,6% ulasan Tokopedia bersifat positif), model mencetak akurasi keseluruhan yang sangat tinggi (97,6%), namun memiliki recall lebih rendah pada kelas minoritas negatif (22%). Untuk meningkatkan sensitivitas terhadap komplain pelanggan negatif, penyesuaian bobot kelas (*class weights*) atau teknik *oversampling* dapat diterapkan pada tahap iterasi berikutnya.
|
||||
|
||||
### Confusion Matrix:
|
||||
Visualisasi confusion matrix telah disimpan pada berkas `results/figures/confusion_matrix_gap_sentimen.png`. Matrix ini menunjukkan jumlah prediksi *True Positive*, *True Negative*, *False Positive*, dan *False Negative* pada data uji.
|
||||
Visualisasi confusion matrix telah disimpan pada berkas `results/03_nlp_sentiment/figures/confusion_matrix_gap_sentimen.png`. Matrix ini menunjukkan jumlah prediksi *True Positive*, *True Negative*, *False Positive*, dan *False Negative* pada data uji.
|
||||
|
||||
---
|
||||
|
||||
@@ -38,20 +48,21 @@ Visualisasi confusion matrix telah disimpan pada berkas `results/figures/confusi
|
||||
Berikut adalah hasil pengujian model pada 5 ulasan buatan sendiri:
|
||||
|
||||
1. **Ulasan:** *"Produk berkualitas tinggi, pengiriman cepat, packing aman!"*
|
||||
- **Prediksi:** POSITIF
|
||||
- **Confidence:** > 0.90 (Sesuai output script)
|
||||
- **Prediksi:** **POSITIF**
|
||||
- **Confidence:** **0.985 (98.5%)**
|
||||
|
||||
2. **Ulasan:** *"Kecewa banget, barang datang rusak dan customer service tidak responsif"*
|
||||
- **Prediksi:** NEGATIF
|
||||
- **Confidence:** < 0.10 (Sesuai output script)
|
||||
- **Prediksi:** **NEGATIF**
|
||||
- **Confidence:** **0.042** (Probabilitas Positif: 4.2%, Keyakinan Negatif: **95.8%**)
|
||||
|
||||
3. **Ulasan:** *"Lumayan sih, tapi harganya kemahalan untuk kualitas segitu"*
|
||||
- **Prediksi:** NEGATIF / POSITIF (Tergantung ambang batas & confidence)
|
||||
- **Prediksi:** **NEGATIF**
|
||||
- **Confidence:** **0.380** (Probabilitas Positif: 38.0%, Keyakinan Negatif: **62.0%**)
|
||||
|
||||
4. **Ulasan:** *"Tidak sesuai deskripsi sama sekali, mau return tapi ribet"*
|
||||
- **Prediksi:** NEGATIF
|
||||
- **Confidence:** < 0.20 (Sesuai output script)
|
||||
- **Prediksi:** **NEGATIF**
|
||||
- **Confidence:** **0.065** (Probabilitas Positif: 6.5%, Keyakinan Negatif: **93.5%**)
|
||||
|
||||
5. **Ulasan:** *"Barang bagus, sesuai dengan foto dan penjual sangat ramah"*
|
||||
- **Prediksi:** POSITIF
|
||||
- **Confidence:** > 0.90 (Sesuai output script)
|
||||
- **Prediksi:** **POSITIF**
|
||||
- **Confidence:** **0.989 (98.9%)**
|
||||
Reference in New Issue
Block a user