File size: 4,220 Bytes
7d7d9fa
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
ο»Ώ# Premier League Match Outcome Prediction

![Premier League](https://img.shields.io/badge/League-Premier%20League-3D195B?style=for-the-badge&logo=premierleague)
![Python](https://img.shields.io/badge/Python-3776AB?style=for-the-badge&logo=python&logoColor=white)
![Scikit-learn](https://img.shields.io/badge/scikit--learn-%23F7931E.svg?style=for-the-badge&logo=scikit-learn&logoColor=white)
![Pandas](https://img.shields.io/badge/pandas-%23150458.svg?style=for-the-badge&logo=pandas&logoColor=white)

## πŸ“ 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]**