Performa Prediksi Sepak Bola: Cara Menghitung Hit-ratio dan Log-loss

Comments · 27 Views

Mengukur performa model merupakan langkah penting baik Anda melakukan penelitian, bertaruh, atau sekadar membandingkan prediksi. Artikel singkat ini menunjukkan cara menghitung rasio hit dan kerugian log untuk prediksi sepak bola 1x2 dengan kode dan contoh.

Mengukur performa model merupakan langkah penting baik Anda melakukan penelitian, bertaruh, atau sekadar membandingkan prediksi. Artikel singkat ini menunjukkan cara menghitung rasio hit dan kerugian log untuk prediksi sepak bola 1x2 dengan kode dan contoh. Kedua kekalahan ini umumnya digunakan dalam analisis sepak bola dan pembelajaran mesin secara global. Data yang digunakan dalam artikel ini disediakan oleh Liga Petani.

Memprediksi Sepak Bola Adalah Masalah Klasifikasi Probabilistik

Sebelum mengukur kinerja suatu model, kita perlu memahami masalah apa yang sedang kita hadapi. Kita ingin memprediksi hasil pertandingan sepak bola antara tim A dan tim B. Hasil dan prediksi dapat mengambil tiga nilai berbeda yang disebut kelas : tim A menang , tim B menang , dan seri. Karena kita hanya mempunyai tiga kategori, masalah ini adalah tugas klasifikasi. Namun, kami juga tertarik pada kemungkinan setiap hasil. Probabilitas ini memberikan informasi tentang tingkat kepastian yang Anda miliki terhadap hasilnya. Ternyata kita sekarang mempunyai masalah klasifikasi probabilistik.

Kami hanya memiliki tiga hasil dan peluang yang sama untuk setiap pertandingan. Kita tahu bahwa jumlah ketiga probabilitas ini selalu sama dengan satu. Akibatnya, kelas prediksi yang dikaitkan dengan probabilitas terbesar akan selalu memiliki probabilitas besar sebesar 1/3.

Dalam kasus prediksi 1x2, prediksi hasil pertandingan antara tim A dan tim B memiliki dua jawaban yang saling terkait:

  • Prediksi probabilitas : ini adalah tugas yang dilakukan oleh model matematika, bandar taruhan, pemungutan suara, dan sebagainya.
  • Prediksi kelas : ini adalah hasil yang terkait dengan probabilitas terbesar.

Misalnya, jika tim A memiliki peluang menang 30%, tim B memiliki 45%, dan hasil seri 25%, maka kelas (hasil) yang diprediksi adalah tim B menang. Perhatikan bahwa kita memiliki 30%+45%+25%=100%.

Karena kami mempunyai dua jawaban yang sedikit berbeda terhadap masalah prediksi, kami mempunyai dua ukuran kinerja yang berbeda. Log-loss mengukur kualitas probabilitas yang diprediksi dan rasio hit terhadap kebenaran kelas yang diprediksi.

Log-Loss dan Rasio Hit

Rasio hit (atau akurasi) mungkin merupakan metrik yang paling banyak digunakan dan paling mudah dipahami untuk mengevaluasi model klasifikasi. Sangat mudah untuk memahami bahwa 10% prediksi Anda benar. Dalam kasus kami, kami ingin mengukur rasio keberhasilan model tiga kelas.

Katakanlah kita memiliki 200 pertandingan beserta hasil dan kelas prediksinya. Yang perlu kita lakukan hanyalah membandingkan kelas prediksi dengan hasil sebenarnya. Kalau sama hitung satu, kalau tidak 0. Kita lakukan itu untuk 200 pertandingan, ambil rata-ratanya, dan dapatkan rasio pukulannya. Secara matematis kita dapat menulis:

Kami ingin rasio hit setinggi mungkin dan selalu antara 0 dan 1.

Di sisi lain, kehilangan log sedikit lebih rumit. Kerugian ini memberi Anda ukuran kualitas probabilitas. Cara untuk memikirkannya adalah dengan mengambil setiap hasil secara terpisah.

Misalnya, ambil prediksi kemenangan tim A. Jika hasil sebenarnya adalah tim A menang, maka model apa pun dengan probabilitas lebih dari 34% kemenangan tim A akan membuat prediksi yang benar. Namun model yang memiliki probabilitas 95% harus dilihat sebagai model yang lebih baik daripada model yang memprediksi 55%. Meskipun keduanya memiliki hasil yang benar.

Seperti yang Anda lihat, yang kita butuhkan hanyalah mengukur seberapa jauh probabilitasnya dari 1 (masing-masing 0) ketika hasil yang benar adalah benar (masing-masing salah). Memang jika tim A menang, probabilitas yang diketahui adalah 1 dan kita ingin tahu seberapa jauh prediksi kita dari itu. “Seberapa jauh” dapat dihitung menggunakan metode yang berbeda tetapi kami akan fokus pada kerugian log. Dalam contoh kemenangan tim kami, sederhananya:

Ini adalah 0 jika tim A kalah tetapi menjadi menarik jika A menang. Dalam hal ini nilai kerugiannya adalah -2,30 untuk probabilitas 10%, -0,69 untuk probabilitas 50%, dan -0,01 untuk probabilitas 90%. Jika probabilitasnya 100%, kerugiannya adalah 0. Faktanya, kita ingin log-loss sedekat mungkin dengan nol. Log-loss selalu antara 0 dan minus tak terhingga. Semakin dekat probabilitasnya dengan hasil sebenarnya, semakin baik pula log-lossnya.

Dalam contoh ini, kita mengetahui tim A memenangkan pertandingan. Dalam hal ini, log kerugian pada dua hasil lainnya adalah 0. Jadi untuk setiap permainan, hanya probabilitas yang terkait dengan hasil yang benar yang berpengaruh terhadap kekalahan tersebut.

Jika kita mengambil kembali 200 pertandingan tersebut, maka total log-loss adalah:

Rasio hit dan log-loss diperkirakan. Semakin besar jumlah kecocokan, semakin baik perkiraan ini. Hal ini terutama berlaku untuk log loss dimana probabilitas yang salah dapat berdampak negatif besar pada rata-rata log loss.

Sebuah Contoh Konkrit

Mari kita hitung contohnya menggunakan data. Kode python untuk menghitung kedua metrik tersedia di GitHub. Fungsinya sangat sederhana dan menggunakan input yang sama. Argumen pertama adalah probabilities, kerangka data pandas yang kolomnya berisi probabilitas hasil “1”, “2”, dan “X”, dan setiap barisnya cocok. Argumen kedua adalah rangkaian pandas yang berisi hasil sebenarnya. Input diperiksa untuk memastikan nilai yang benar akan dikembalikan. Kedua fungsi tersebut adalah:

def compute_1x2_log_loss(probabilities, true_results):
'''
Hitung log-loss untuk hasil sepak bola 1x2.

'''

def compute_1x2_hit_ratio(probabilities, true_results):
'''
Hitung rasio hit untuk hasil sepak bola 1x2.

Misalnya probabilitas kerangka datanya adalah sebagai berikut:

sementara itu true_result akan menjadi:

Maka kerugiannya dapat dengan mudah dihitung sebagai berikut:

log_loss = komputasi_1x2_log_loss(probabilitas,hasil_benar)hit_ratio = menghitung_1x2_hit_ratio(probabilitas,hasil_benar)

Kesimpulan

Artikel ini menunjukkan cara menghitung log-loss dan rasio hit untuk model probabilitas 1x2. Kami juga menyediakan kodenya untuk memudahkan Anda memahami dan melakukan perhitungan sendiri. Fungsi yang disajikan dapat diperluas ke jenis prediksi lain seperti permainan skor kedua tim atau over-under.

Read more
Comments
For your travel needs visit www.urgtravel.com