Laporan Model Bi-GRU

Klasifikasi Sentimen Multi-Kelas (Positif, Netral, Negatif)
Dibuat berdasarkan: Revisi_Bigru.ipynb

1. Persiapan Data

Data telah melalui proses pembersihan ketat termasuk penghapusan nilai NaN, string kosong, dan duplikasi data.

15,647
Data Latih (Final)
-293 baris dihapus
1,979
Data Validasi
1,974
Data Uji

Distribusi Label (Train)

Dataset mengalami ketidakseimbangan kelas (Imbalanced). Kelas 'Netral' mendominasi, sedangkan 'Positif' adalah minoritas (~10%).

  • Netral: 8,768
  • Negatif: 5,231
  • Positif: 1,648

2. Arsitektur Model

Konfigurasi Layer

Model menggunakan pendekatan Stacked Bidirectional GRU untuk menangkap konteks kalimat dari dua arah.

model = Sequential([ Embedding(10000, 128), SpatialDropout1D(0.2), Bidirectional(GRU(64, return_sequences=True, ...)), Bidirectional(GRU(32, ...)), Dense(64, activation='relu'), Dropout(0.5), Dense(3, activation='softmax') ])

Optimizer: Adam
Loss: Categorical Crossentropy
Total Params: ~1.4 Juta

Input (Max Len 100)
Embedding
Spatial Dropout (0.2)
Bi-GRU 1 (64 Units)
Bi-GRU 2 (32 Units)
Dense (64, ReLU) + Dropout
Output (Softmax 3)

3. Hasil Pelatihan

Training menggunakan Early Stopping (Patience=7) dan berhenti pada Epoch 9. Model terbaik disimpan pada Epoch 2.

Best Validation Accuracy
86.66%
Best Validation Loss
0.3294

4. Evaluasi & Kesimpulan

Performa pada Data Uji (Test Set)

0.3468
Test Loss
86.63%
Test Accuracy
0.87
Weighted F1

Classification Report Detail

Kelas Precision Recall F1-Score Support
Negatif 0.91 0.84 0.87 657
Netral 0.87 0.91 0.89 1,108
Positif 0.73 0.71 0.72 209

Kesimpulan Akhir

  • Generalisasi Baik: Gap antara akurasi Validasi (86.66%) dan Test (86.63%) sangat kecil (< 0.05%), menandakan model Robust.
  • Isu Kelas Minoritas: Performa pada kelas 'Positif' (F1: 0.72) masih tertinggal dibandingkan kelas lain karena jumlah data yang sedikit.
  • Rekomendasi: Untuk pengembangan selanjutnya, disarankan menggunakan teknik Oversampling (SMOTE) atau Class Weighting untuk meningkatkan akurasi sentimen positif.