| ο»Ώ# Premier League Match Outcome Prediction | |
|  | |
|  | |
|  | |
|  | |
| ## π Deskripsi Proyek | |
| Proyek ini adalah sebuah model *machine learning* yang bertujuan untuk memprediksi hasil pertandingan Liga Utama Inggris (Premier League). Model ini dibangun menggunakan data historis pertandingan untuk menganalisis berbagai faktor dan memprediksi apakah hasil akhir pertandingan akan menjadi kemenangan bagi tim tuan rumah (Home Win), kemenangan bagi tim tandang (Away Win), atau seri (Draw). | |
| Tujuan utama dari proyek ini adalah untuk "mengeksplorasi faktor-faktor yang paling berpengaruh dalam menentukan hasil pertandingan sepak bola" | |
| DISCLAIMER!! **Football is UNPREDICTABLE** | |
| ## β¨ Fitur Utama | |
| - **Data Preprocessing**: Membersihkan dan mempersiapkan data historis pertandingan untuk pelatihan model. | |
| - **Feature Engineering**: Membuat fitur-fitur baru yang relevan dari data mentah untuk meningkatkan performa model. | |
| - **Model Training**: Melatih beberapa model klasifikasi untuk menemukan yang terbaik. | |
| - **Prediksi**: Mampu memberikan prediksi untuk pertandingan yang akan datang. | |
| - **Evaluasi Model**: Menganalisis performa model menggunakan metrik seperti akurasi, presisi, dan recall. | |
| ## π οΈ Teknologi yang Digunakan | |
| * **Bahasa Pemrograman**: Python 3.x | |
| * **Library Utama**: | |
| * **Pandas** | |
| * **NumPy** | |
| * **Scikit-learn** | |
| * **Matplotlib / Seaborn** | |
| * ETC | |
| ## π Struktur Repositori | |
| ``` | |
| βββ debug/ | |
| β βββ debug.html | |
| βββ csv/ | |
| β βββ data.csv | |
| βββ main/ | |
| β βββ fbrefdata_example.py # Script scraping | |
| β βββ pl-predict_smalldatset.py # Script prediksi dgn limited dataset hasil scraping | |
| β βββ predict-pl-match_otomatis_v2.py # Script prediksi otomatis 9k dataset | |
| βββ outputs/ | |
| β βββ model_epl.joblib # File model yang sudah dilatih | |
| βββ visual/ | |
| β βββ result.png | |
| βββ requirements.txt # Daftar dependensi Python | |
| βββ README.md | |
| ``` | |
| *(Struktur di atas adalah contoh, sesuaikan dengan struktur proyek Anda)* | |
| ## π¦ Instalasi | |
| Untuk menjalankan proyek ini secara lokal, ikuti langkah-langkah berikut: | |
| 1. **Clone repositori ini:** | |
| ```bash | |
| git clone [https://github.com/decoderr24/premier-league_prediction.git](https://github.com/decoderr24/premier-league_prediction.git) | |
| cd pl_prediction | |
| ``` | |
| 2. **Buat dan aktifkan virtual environment (opsional tapi direkomendasikan):** | |
| ```bash | |
| python -m venv venv | |
| source venv/bin/activate # Untuk Windows: venv\Scripts\activate | |
| ``` | |
| 3. **Instal semua dependensi yang dibutuhkan:** | |
| ```bash | |
| pip install -r requirements.txt | |
| ``` | |
| ## π Cara Penggunaan | |
| 1. **Untuk Melatih Model:** | |
| Jalankan skrip training untuk melatih model dari awal menggunakan dataset yang ada. | |
| ```bash | |
| python main/fbrefdata_example.py | |
| python main/historical_data.py | |
| python main/player_passing.py | |
| ``` | |
| 2. **Untuk Melakukan Prediksi:** | |
| Gunakan skrip prediksi untuk melihat hasil pertandingan. | |
| ```bash | |
| python src/predict-pl-match_otomatis_v2.py | |
| pl-predict_smalldatset.py | |
| example : --hometeam "Manchester United" --awayteam "Liverpool" | |
| ``` | |
| ## π Model & Evaluasi | |
| Model yang digunakan dalam proyek ini adalah **[Logistic Regression, Random Forest, XGBoost]**. | |
| Model ini dievaluasi menggunakan beberapa metrik dan mencapai hasil sebagai berikut: | |
| - **Akurasi**: 85% | |
| - **Precision**: 0.87 | |
| - **Recall**: 0.86 | |
| - **F1-Score**: 0.85 | |
| ## π Lisensi | |
| Proyek ini dilisensikan di bawah Lisensi MIT. Lihat file `LICENSE` untuk detail lebih lanjut. | |
| Project by **[decoderr24]** | |