Menghitung point pertandingan pada game Mobile Legends setelah match untuk menentukan MVP (Most Valuable Player) berdasarkan statistik match dengan menggunakan Regresi Linear. Proyek ini dikerjakan bersama dengan teman saya berinisial ADR dan JB.
Dataset dikumpulkan secara MANUAL dengan melihat history pertandingan dan mencatat statustuj hasilnya pada Google Spreadsheet. Dengan kolom-kolom atau variabel yang dicatat adalah:
- Kill
- Death
- Assist
- Gold
- Minutes
- GPM (didapatkan dari Gold / Minutes)
- Hero Damage
- Turret Damage
- Damage Taken
- Teamfight Participation
- Win
- Score
Dengan melakukan drop column pada Gold dan Minutes, lalu dilakukan seleksi fitur dengan Korelasi Pearson yang memiliki nilai <=-0.5 atau >=0.5
Sehingga didapatkan
df_match = df_match[['kill', 'death', 'assist', 'gpm', 'teamfight_part', 'win', 'score']]
Data dibagi train-test dengan ratio 8:2. Lalu dilakukan pemodelan machine learning LINEAR REGRESSION dengan label adalah kolom score. Didapakan persamaan linear dengan rumus sebagai berikut:
score = 2.584 + 0.271x1 + -0.324x2 + 0.209x3 + 0.003x4 + 0.02x5 + -0.052x6
Dengan menggunakan 20% data test, dilakukan prediksi menggunakan persamaan regresi linear sebelumnya. Kemudian, hasilnya dibandingkan dengan nilai aslinya. Visualisasinya dapat dilihat sebagai berikut:
Hasil evaluasi menggunakan metrik R2, RMSE, dan MAE. Nilai R2 yang baik adalah mendekati 1, dan untuk nilai RMSE dan MAE yang baik mendekati 0. Berikut tabel tiap-tiap metrik terhadap data yang diukur:
Jenis Data | R2 | RMSE | MAE |
---|---|---|---|
Train | 0.962 | 0.425 | 0.340 |
Test | 0.955 | 0.455 | 0.356 |
Untuk langsung menguji coba MVP Calculator, bisa pergi ke: https://otnielabiezer.com/MVPCalculator/