Mengecek kualitas dataset...

=== Cek Kualitas Dataset ===
a_pd.wav | label=PD | durasi=3.60s | rms=0.00308
a_tpd.wav | label=TPD | durasi=3.64s | rms=0.00928
b_pd.wav | label=PD | durasi=4.00s | rms=0.00563
b_tpd.wav | label=TPD | durasi=3.74s | rms=0.01337
c_pd.wav | label=PD | durasi=3.74s | rms=0.00478
c_tpd.wav | label=TPD | durasi=3.84s | rms=0.01149
d_pd.wav | label=PD | durasi=3.74s | rms=0.00468
d_tpd.wav | label=TPD | durasi=3.24s | rms=0.01736
e_pd.wav | label=PD | durasi=4.10s | rms=0.00116
e_tpd.wav | label=TPD | durasi=3.37s | rms=0.00500
f_pd.wav | label=PD | durasi=4.10s | rms=0.00141
f_tpd.wav | label=TPD | durasi=3.44s | rms=0.00376
g_pd.wav | label=PD | durasi=3.74s | rms=0.00255
g_tpd.wav | label=TPD | durasi=3.50s | rms=0.00724
h_pd.wav | label=PD | durasi=3.40s | rms=0.00259
h_tpd.wav | label=TPD | durasi=3.67s | rms=0.01442
i_pd.wav | label=PD | durasi=3.34s | rms=0.00189
i_tpd.wav | label=TPD | durasi=3.17s | rms=0.00118
j_pd.wav | label=PD | durasi=3.60s | rms=0.01220
j_tpd.wav | label=TPD | durasi=3.30s | rms=0.00891
k_pd.wav | label=PD | durasi=3.34s | rms=0.00202
k_tpd.wav | label=TPD | durasi=3.50s | rms=0.00756
l_pd.wav | label=PD | durasi=3.77s | rms=0.00381
l_tpd.wav | label=TPD | durasi=3.50s | rms=0.01517
m_pd.wav | label=PD | durasi=3.17s | rms=0.00310
m_tpd.wav | label=TPD | durasi=3.17s | rms=0.00371
n_pd.wav | label=PD | durasi=3.57s | rms=0.00158
n_tpd.wav | label=TPD | durasi=3.57s | rms=0.00298
o_pd.wav | label=PD | durasi=3.57s | rms=0.00497
o_tpd.wav | label=TPD | durasi=3.30s | rms=0.01104
p_pd.wav | label=PD | durasi=3.87s | rms=0.00531
p_tpd.wav | label=TPD | durasi=3.50s | rms=0.01038
q_pd.wav | label=PD | durasi=3.54s | rms=0.00760
q_tpd.wav | label=TPD | durasi=3.50s | rms=0.02280
r_pd.wav | label=PD | durasi=3.40s | rms=0.00380
r_tpd.wav | label=TPD | durasi=3.40s | rms=0.01185
s_pd.wav | label=PD | durasi=3.67s | rms=0.00202
s_tpd.wav | label=TPD | durasi=3.50s | rms=0.00555
t_pd.wav | label=PD | durasi=3.57s | rms=0.00125
t_tpd.wav | label=TPD | durasi=4.37s | rms=0.00370
u_pd.wav | label=PD | durasi=4.00s | rms=0.00748
u_tpd.wav | label=TPD | durasi=3.77s | rms=0.01262
v_pd.wav | label=PD | durasi=3.57s | rms=0.00287
v_tpd.wav | label=TPD | durasi=3.60s | rms=0.01220
w_pd.wav | label=PD | durasi=4.07s | rms=0.00437
w_tpd.wav | label=TPD | durasi=3.24s | rms=0.00558
x_pd.wav | label=PD | durasi=3.50s | rms=0.00239
x_tpd.wav | label=TPD | durasi=4.07s | rms=0.01880

Jumlah data:
PD : 24
TPD: 24

Rekomendasi rekam ulang/perbaikan:
Tidak ada masalah kualitas audio yang jelas.

Membaca dataset dan mengekstraksi fitur...

=== Distribusi Label Dataset ===
PD : 24
TPD: 24

Total data valid: 48
Jumlah fitur per audio: 78
Distribusi label: {'PD': 24, 'TPD': 24}

Melakukan GridSearchCV SVM dengan scoring f1_macro...
Fitting 5 folds for each of 16 candidates, totalling 80 fits

=== Hasil GridSearchCV ===
Best params: {'svm__C': 1, 'svm__gamma': 'scale', 'svm__kernel': 'rbf'}
Best CV f1_macro: 0.7873
Urutan kelas model: ['PD', 'TPD']

=== Evaluasi Cross-Validation ===
Accuracy          : 0.7917
Balanced Accuracy : 0.7917
Precision Macro   : 0.7937
Recall Macro      : 0.7917
F1 Macro          : 0.7913

=== Classification Report ===
                          precision    recall  f1-score   support

       PD - Percaya Diri       0.77      0.83      0.80        24
TPD - Tidak Percaya Diri       0.82      0.75      0.78        24

                accuracy                           0.79        48
               macro avg       0.79      0.79      0.79        48
            weighted avg       0.79      0.79      0.79        48

=== Confusion Matrix ===
Urutan label: ['PD', 'TPD']
[[20  4]
 [ 6 18]]

=== Ringkasan Benar/Salah per Kelas ===
PD: benar=20, salah=4, total=24
TPD: benar=18, salah=6, total=24

=== File yang Salah Prediksi ===
f_tpd.wav | TPD | PD
i_tpd.wav | TPD | PD
j_pd.wav | PD | TPD
k_tpd.wav | TPD | PD
m_pd.wav | PD | TPD
m_tpd.wav | TPD | PD
p_pd.wav | PD | TPD
q_pd.wav | PD | TPD
s_tpd.wav | TPD | PD
w_tpd.wav | TPD | PD

Melatih ulang model terbaik dengan seluruh dataset...
Urutan kelas model final: ['PD', 'TPD']
Model terbaik berhasil disimpan ke: /Users/user/TA/confivoice3/ml/models/svm_voice_confidence_model.joblib
