Cara Menghitung AUC untuk Meningkatkan Performa Model Machine Learning
Cara Menghitung AUC untuk Meningkatkan Performa Model Machine Learning

Cara Menghitung AUC untuk Meningkatkan Performa Model Machine Learning

Halo Sobat Teknobgt, apakah kamu pernah mengalami kesulitan dalam mengevaluasi performa model machine learning yang kamu buat? Salah satu evaluasi performa yang umum digunakan adalah AUC (Area Under Curve). Dalam artikel ini, kita akan membahas cara menghitung AUC dengan mudah dan efektif.

Apa Itu AUC?

AUC (Area Under Curve) adalah ukuran keseluruhan performa model machine learning. AUC mengukur kemampuan model untuk membedakan antara kelas positif dan negatif. Nilai AUC berkisar dari 0 hingga 1, dengan 0 menunjukkan model yang tidak akurat dan 1 menunjukkan model yang sempurna.

Perbedaan AUC dan Akurasi

Sebelum kita membahas cara menghitung AUC, mari kita jelaskan perbedaan antara AUC dan akurasi (accuracy) terlebih dahulu. Akurasi mengukur seberapa banyak prediksi model yang tepat dibandingkan dengan keseluruhan data. Akurasi dapat memberikan hasil yang baik jika data tidak seimbang, tetapi kurang efektif dalam mengevaluasi performa model pada data yang tidak seimbang.

AUC, di sisi lain, mempertimbangkan semua kemungkinan ambang batas dan membandingkan rate True Positive (TP) dan rate False Positive (FP) pada setiap ambang batas. AUC memberikan gambaran yang lebih baik tentang kemampuan model untuk membedakan antara kelas positif dan negatif pada data yang tidak seimbang.

Cara Menghitung AUC

Menyiapkan Data

Sebelum menghitung AUC, pastikan bahwa data sudah terpisah menjadi data latih (training data) dan data uji (testing data). Data latih digunakan untuk melatih model sedangkan data uji digunakan untuk mengevaluasi performa model.

Buatlah model machine learning yang ingin dievaluasi performanya dan lakukan prediksi pada data uji. Ambil probabilitas prediksi dari model sebagai input untuk menghitung AUC.

Menghitung AUC dengan Menggunakan Metode Rectangle

Cara pertama untuk menghitung AUC adalah dengan menghitung luas daerah di bawah kurva ROC (Receiver Operating Characteristic) menggunakan metode rectangle.

ROC adalah kurva yang menunjukkan trade-off antara TPR (True Positive Rate) dan FPR (False Positive Rate) pada semua kemungkinan ambang batas. TPR adalah rasio prediksi benar (positif) dibandingkan dengan keseluruhan data positif yang benar, sedangkan FPR adalah rasio prediksi salah (negatif) dibandingkan dengan keseluruhan data negatif yang seharusnya negatif.

Berikut adalah contoh kurva ROC:

FPR (False Positive Rate)TPR (True Positive Rate)
0.000.00
0.100.25
0.200.50
0.300.75
0.401.00
1.001.00

Untuk menghitung AUC menggunakan metode rectangle, kita dapat membagi kurva ROC menjadi beberapa segmen dengan lebar yang sama dan menghitung luas daerah di bawah setiap segmen menggunakan rumus:

Luas = TP * (FPRn – FPRn-1), dimana:

  • TP adalah jumlah true positive pada segmen tersebut.
  • FPRn adalah false positive rate pada batas ambang n.
  • FPRn-1 adalah false positive rate pada batas ambang n-1.

Jumlahkan semua luas daerah di bawah setiap segmen untuk mendapatkan nilai AUC.

Menghitung AUC dengan Menggunakan Metode Trapezoid

Cara kedua untuk menghitung AUC adalah dengan menghitung luas daerah di bawah kurva ROC menggunakan metode trapezoid. Metode trapezoid lebih akurat dibandingkan dengan metode rectangle karena mempertimbangkan bentuk asli kurva ROC.

Untuk menghitung AUC menggunakan metode trapezoid, kita dapat membagi kurva ROC menjadi beberapa trapesium dengan tinggi yang sama dan menghitung luas setiap trapesium menggunakan rumus:

Luas = ((TPRn + TPRn-1) / 2) * (FPRn – FPRn-1), dimana:

  • TPRn adalah true positive rate pada batas ambang n.
  • TPRn-1 adalah true positive rate pada batas ambang n-1.
  • FPRn adalah false positive rate pada batas ambang n.
  • FPRn-1 adalah false positive rate pada batas ambang n-1.

Jumlahkan semua luas trapesium untuk mendapatkan nilai AUC.

FAQ tentang Cara Menghitung AUC

Apa yang harus dilakukan jika AUC sama dengan 0?

Jika AUC sama dengan 0, berarti model tidak dapat membedakan antara kelas positif dan negatif. Hal ini biasanya terjadi ketika data sangat tidak seimbang atau model tidak sensitif terhadap kelas yang hendak diprediksi.

Untuk meningkatkan performa model, cobalah lakukan pengubahan pada data atau model, seperti oversampling pada kelas minoritas atau memilih model yang lebih kompleks.

Apa yang harus dilakukan jika AUC sama dengan 1?

Jika AUC sama dengan 1, berarti model memiliki kemampuan sempurna untuk membedakan antara kelas positif dan negatif. Namun, nilai AUC yang sangat tinggi juga bisa menunjukkan adanya overfitting.

Untuk memastikan bahwa model tidak overfitting, coba gunakan data uji yang berbeda atau gunakan metode validasi silang (cross-validation).

Kesimpulan

Dalam artikel ini, kita telah membahas cara menghitung AUC untuk meningkatkan performa model machine learning. Dengan menggunakan AUC, kita dapat mengevaluasi performa model pada data yang tidak seimbang dan mendapatkan gambaran yang lebih baik tentang kemampuan model untuk membedakan antara kelas positif dan negatif.

Ingatlah bahwa ada dua cara untuk menghitung AUC, yaitu dengan metode rectangle dan metode trapezoid, dan gunakan AUC sebagai salah satu evaluasi performa model yang penting. Semoga artikel ini bermanfaat dan sampai jumpa di artikel menarik lainnya!

Cara Menghitung AUC untuk Meningkatkan Performa Model Machine Learning