1
- # Tennis-Prediction Repository
1
+ # Tennis-Prediction
2
+
3
+ <img align =" right " width =" 200 " src =" ./robot.png " />
2
4
3
5
The goal of this project is to predict the outcome of a tennis match using the data of both players and ML models.\
4
6
The data used comes from [ Jeff Sackmann's repository] ( https://github.com/JeffSackmann ) .
@@ -8,7 +10,7 @@ The data used comes from [Jeff Sackmann's repository](https://github.com/JeffSac
8
10
- [ Data Loading] ( #data-loading )
9
11
- [ Machine Learning modelling] ( #ml-modelling )
10
12
- [ Encoding Matches] ( #encoding-matches )
11
- - License
13
+ - [ License] ( #license )
12
14
13
15
## Installation
14
16
@@ -72,6 +74,7 @@ Here is an example of a data row:
72
74
- ** bpSaved_1:** Number of break points saved
73
75
- ** bpFaced_1:** Number of break points faced
74
76
77
+ <ins >Example of match statistics:</ins >
75
78
76
79
| Name_1 | ID_1 | Ranking_1 | Ranking_Points_1 | Ranking_History_1 | Best_Rank_1 | Birth_Year_1 | Versus_1 | Hand_1 | Last_Tournament_Date_1 | Height_1 | Matches_1 | Matchs_Clay_1 | Matches_Carpet_1 | Matches_Grass_1 | Matches_Hard_1 | Victories_Percentage_1 | Clay_Victories_Percentage_1 | Carpet_Victories_Percentage_1 | Grass_Victories_Percentage_1 | Hard_Victories_Percentage_1 | Aces_Percentage_1 | Doublefaults_Percentage_1 | First_Save_Success_Percentage_1 | Winning_on_1st_Serve_Percentage_1 | Winning_on_2nd_Serve_Percentage_1 | Overall_Win_on_Serve_Percentage_1 | BreakPoint_Face_Percentage_1 | BreakPoint_Saved_Percentage_1 | last_rankings_1 | last_ranking_points_1 |
77
80
| :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: |
@@ -115,9 +118,9 @@ Here is an example of a data row:
115
118
- ** last_rankings_x:** Five previous recorded ATP rankings
116
119
- ** last_ranking_points_x:** Five previous ATP ranking points recorded
117
120
118
- ### ML modelling
121
+ ### Machine-Learning modelling
119
122
Train/Testing on matches outcome
120
- [[ Example] ( examples/models/train_test.py )] .
123
+ [[ Example]] ( examples/models/train_test.py ) .
121
124
122
125
A generic function lets you evaluate your model with a train/test scheme without much work. Your model only needs a scikit-learn like signature.
123
126
By playing with the years, columns to use in modelling and models & hyperparmaters, you can easily create your own best-performing model.
@@ -144,7 +147,7 @@ print("Test Score", test_score)
144
147
145
148
Models and hyperparamters can easily be compared with the file results.csv saved in save_path.
146
149
147
- Different models performances
150
+ Accuracy of different models
148
151
:-------------------------:
149
152
![ ] ( examples/results_reading/models_performances.png )
150
153
0 commit comments