## Evaluation Metric — F1-Score (Macro)

Pada kompetisi ini, performa model dievaluasi menggunakan **F1-Score Macro**. Metrik ini menghitung F1-Score **untuk setiap kelas secara terpisah**, kemudian mengambil **rata-rata aritmatika** dari seluruh kelas. Dengan pendekatan ini, setiap kelas memiliki **bobot yang sama**, terlepas dari jumlah sampelnya.

Pendekatan **macro** sangat sesuai untuk tugas klasifikasi citra karena mendorong model untuk memiliki performa yang seimbang pada seluruh kelas, tidak hanya fokus pada kelas yang dominan.

### Definisi Metrik

Untuk setiap kelas \( c \):

$$
Precision_c = \frac{TP_c}{TP_c + FP_c}
$$

$$
Recall_c = \frac{TP_c}{TP_c + FN_c}
$$

$$
F1_c = 2 \times \frac{Precision_c \times Recall_c}{Precision_c + Recall_c}
$$

F1-Score Macro didefinisikan sebagai:

$$
F1_{macro} = \frac{1}{N} \sum_{c=1}^{N} F1_c
$$

dengan:
- \( N \) : jumlah kelas  
- \( TP_c, FP_c, FN_c \) : nilai confusion matrix untuk kelas \( c \)

Nilai **F1-Score Macro** berada pada rentang **0 hingga 1**, di mana nilai yang lebih tinggi menunjukkan performa model yang lebih baik dan seimbang pada seluruh kelas.

Implementasi Kode
```python
from sklearn.metrics import f1_score

# y_true: label ground truth
# y_pred: hasil prediksi (0 atau 1)
f1 = f1_score(y_true, y_pred, average="macro")
print("F1-Score:", f1)

```

---

## Submission Format

Peserta diwajibkan mengirimkan file submission dalam format **CSV (.csv)** dengan dua kolom utama: `id` dan `label`.

### Deskripsi Kolom

- **id**  
  ID unik artikel yang sesuai dengan kolom `id` pada file `test.csv`.

- **label**  
  Hasil prediksi kategori berita untuk setiap artikel:
  - `0` → Bisnis/Ekonomi  
  - `1` → Hiburan/Olahraga  
  - `2` → Politik/Dunia  
  - `3` → Sains/Teknologi  

### Ketentuan Submission

- Jumlah baris harus sama dengan jumlah data pada `test.csv` (**36,000 baris**).
- Seluruh `id` pada `test.csv` wajib ada di file submission.
- Tidak boleh ada `id` yang duplikat.
- Tidak diperbolehkan menambahkan kolom selain `id` dan `label`.
- Format file harus menggunakan separator koma (`,`).

### Contoh Format Submission

```csv
id,label
0,2
1,0
2,3
3,1
4,2
5,0
6,3
7,1
```