{ "cells": [ { "cell_type": "markdown", "id": "4a867836", "metadata": {}, "source": [ "Bayesian Neural Network model traning and prediction data generation." ] }, { "cell_type": "code", "execution_count": 1, "id": "210da263", "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "\n", "from sklearn.preprocessing import StandardScaler\n", "from sklearn.model_selection import train_test_split\n", "from sklearn.neural_network import MLPRegressor\n", "import matplotlib.pyplot as plt\n", "from sklearn.metrics import r2_score\n", "\n", "import pickle" ] }, { "cell_type": "code", "execution_count": 2, "id": "edbf3b27", "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import tensorflow as tf\n", "from tensorflow import keras\n", "from tensorflow.keras import layers\n", "import tensorflow_probability as tfp\n", "\n", "tfk = tf.keras\n", "tf.keras.backend.set_floatx(\"float32\")\n", "import tensorflow_probability as tfp\n", "tfd = tfp.distributions\n", "from sklearn.preprocessing import StandardScaler\n", "from sklearn.ensemble import IsolationForest\n", "\n", "from scipy.stats import norm" ] }, { "cell_type": "markdown", "id": "9dadf6ec", "metadata": {}, "source": [ "Load the training databases, generated in player_match_database_creation" ] }, { "cell_type": "code", "execution_count": 3, "id": "fa098fa4", "metadata": {}, "outputs": [], "source": [ "db1 = pd.read_excel('mid_outputs/database_entries.xlsx', index_col = 0) \n", "db2 = pd.read_excel('mid_outputs/season2021/database_entries.xlsx', index_col = 0) \n", "db3 = pd.read_excel('mid_outputs/season2122/database_entries.xlsx', index_col = 0) \n", "db4 = pd.read_excel('mid_outputs/season2223/database_entries.xlsx', index_col = 0) " ] }, { "cell_type": "code", "execution_count": 4, "id": "f71fa9a4", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
matchdayplayerteamoppteamhomevotegoalsassistscards_malusfantavote...miscontrolsdispossessedfoulsfouledaerials_wonaerials_lostcarriesprogressive_carriescarries_into_final_thirdcarries_into_penalty_area
01ZappacostaAtalantaSassuolo06.5000.06.5...0.0201610.0120970.0120970.0161290.0080650.0161290.3911290.0403230.0201610.012097
11DjimsitiAtalantaSassuolo06.0000.06.0...0.0078740.0000000.0078740.0000000.0196850.0275590.3503940.0000000.0000000.000000
21KolasinacAtalantaSassuolo06.5000.06.5...0.0027860.0027860.0027860.0111420.0139280.0222840.4122560.0194990.0250700.002786
31ZorteaAtalantaSassuolo07.0100.010.0...0.0000000.0208330.0312500.0000000.0000000.0104170.4479170.0625000.0416670.010417
41RuggeriAtalantaSassuolo06.5010.07.5...0.0123840.0030960.0123840.0061920.0030960.0278640.4086690.0154800.0123840.003096
..................................................................
3006438Miguel VelosoVeronaMilan05.5000.05.5...0.0060190.0060190.0171970.0068790.0120380.0120380.2656920.0146170.0111780.000860
3006538TamezeVeronaMilan05.5000.05.5...0.0128670.0112170.0105580.0102280.0089080.0102280.2352360.0105580.0112170.001320
3006638Sulemana I.VeronaMilan06.0000.55.5...0.0153610.0138250.0168970.0046080.0153610.0184330.2012290.0061440.0107530.000000
3006738DjuricVeronaMilan05.5000.05.5...0.0190340.0109810.0175700.0212300.1442170.0417280.1918010.0014640.0036600.002196
3006838NgongeVeronaMilan05.5000.05.5...0.0308720.0161070.0174500.0147650.0228190.0469800.2429530.0241610.0147650.012081
\n", "

30069 rows × 122 columns

\n", "
" ], "text/plain": [ " matchday player team oppteam home vote goals \\\n", "0 1 Zappacosta Atalanta Sassuolo 0 6.5 0 \n", "1 1 Djimsiti Atalanta Sassuolo 0 6.0 0 \n", "2 1 Kolasinac Atalanta Sassuolo 0 6.5 0 \n", "3 1 Zortea Atalanta Sassuolo 0 7.0 1 \n", "4 1 Ruggeri Atalanta Sassuolo 0 6.5 0 \n", "... ... ... ... ... ... ... ... \n", "30064 38 Miguel Veloso Verona Milan 0 5.5 0 \n", "30065 38 Tameze Verona Milan 0 5.5 0 \n", "30066 38 Sulemana I. Verona Milan 0 6.0 0 \n", "30067 38 Djuric Verona Milan 0 5.5 0 \n", "30068 38 Ngonge Verona Milan 0 5.5 0 \n", "\n", " assists cards_malus fantavote ... miscontrols dispossessed \\\n", "0 0 0.0 6.5 ... 0.020161 0.012097 \n", "1 0 0.0 6.0 ... 0.007874 0.000000 \n", "2 0 0.0 6.5 ... 0.002786 0.002786 \n", "3 0 0.0 10.0 ... 0.000000 0.020833 \n", "4 1 0.0 7.5 ... 0.012384 0.003096 \n", "... ... ... ... ... ... ... \n", "30064 0 0.0 5.5 ... 0.006019 0.006019 \n", "30065 0 0.0 5.5 ... 0.012867 0.011217 \n", "30066 0 0.5 5.5 ... 0.015361 0.013825 \n", "30067 0 0.0 5.5 ... 0.019034 0.010981 \n", "30068 0 0.0 5.5 ... 0.030872 0.016107 \n", "\n", " fouls fouled aerials_won aerials_lost carries \\\n", "0 0.012097 0.016129 0.008065 0.016129 0.391129 \n", "1 0.007874 0.000000 0.019685 0.027559 0.350394 \n", "2 0.002786 0.011142 0.013928 0.022284 0.412256 \n", "3 0.031250 0.000000 0.000000 0.010417 0.447917 \n", "4 0.012384 0.006192 0.003096 0.027864 0.408669 \n", "... ... ... ... ... ... \n", "30064 0.017197 0.006879 0.012038 0.012038 0.265692 \n", "30065 0.010558 0.010228 0.008908 0.010228 0.235236 \n", "30066 0.016897 0.004608 0.015361 0.018433 0.201229 \n", "30067 0.017570 0.021230 0.144217 0.041728 0.191801 \n", "30068 0.017450 0.014765 0.022819 0.046980 0.242953 \n", "\n", " progressive_carries carries_into_final_third \\\n", "0 0.040323 0.020161 \n", "1 0.000000 0.000000 \n", "2 0.019499 0.025070 \n", "3 0.062500 0.041667 \n", "4 0.015480 0.012384 \n", "... ... ... \n", "30064 0.014617 0.011178 \n", "30065 0.010558 0.011217 \n", "30066 0.006144 0.010753 \n", "30067 0.001464 0.003660 \n", "30068 0.024161 0.014765 \n", "\n", " carries_into_penalty_area \n", "0 0.012097 \n", "1 0.000000 \n", "2 0.002786 \n", "3 0.010417 \n", "4 0.003096 \n", "... ... \n", "30064 0.000860 \n", "30065 0.001320 \n", "30066 0.000000 \n", "30067 0.002196 \n", "30068 0.012081 \n", "\n", "[30069 rows x 122 columns]" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "db = pd.concat([db1, db2, db3, db4], ignore_index = True) \n", "\n", "db" ] }, { "cell_type": "code", "execution_count": 5, "id": "1d024554", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
matchdayplayerteamoppteamhomevotegoalsassistscards_malusfantavote...gk_psxggk_psnpxg_per_shot_on_target_againstgk_psxg_netgk_passes_completed_launchedgk_passes_launchedgk_passesgk_passes_throwsgk_goal_kicksgk_crossesgk_crosses_stopped
01MussoAtalantaSassuolo06.5000.06.5...2.1000000.2100000.10000011.00000034.00000088.00000018.00000018.00000028.0000002.000000
11SkorupskiBolognaMilan16.0-200.04.0...3.2000000.320000-0.80000017.00000045.000000106.00000017.00000022.00000057.0000002.000000
21RadunovicCagliariTorino06.5000.06.5...4.1000000.3300000.10000024.00000054.00000076.00000018.00000040.00000062.0000004.000000
31CaprileEmpoliVerona15.0-100.04.0...0.4000000.110000-0.6000004.00000020.00000037.0000009.0000004.00000010.0000002.000000
41TerraccianoFiorentinaGenoa06.0-100.05.0...1.0000000.170000-2.00000013.00000020.00000085.00000010.0000009.00000016.0000001.000000
..................................................................
236438Russo A.SassuoloFiorentina15.0-300.02.0...32.5500000.325000-12.116667146.666667365.333333957.000000156.166667238.833333391.50000023.333333
236538ZoetSpeziaRoma05.5-200.53.0...10.0166670.158333-1.81666746.000000145.333333254.16666737.33333351.833333130.3333335.500000
236638Milinkovic-Savic V.TorinoInter15.0-100.04.0...35.8000000.230000-5.200000285.000000939.0000001506.000000185.000000286.000000469.00000036.000000
236738SilvestriUdineseJuventus16.5-100.05.5...48.7000000.3100002.700000144.000000380.000000872.000000142.000000302.000000547.00000013.000000
236838Montipo'VeronaMilan06.0-300.03.0...49.6000000.270000-6.400000360.000000775.000000905.000000124.000000284.000000496.00000026.000000
\n", "

2369 rows × 102 columns

\n", "
" ], "text/plain": [ " matchday player team oppteam home vote \\\n", "0 1 Musso Atalanta Sassuolo 0 6.5 \n", "1 1 Skorupski Bologna Milan 1 6.0 \n", "2 1 Radunovic Cagliari Torino 0 6.5 \n", "3 1 Caprile Empoli Verona 1 5.0 \n", "4 1 Terracciano Fiorentina Genoa 0 6.0 \n", "... ... ... ... ... ... ... \n", "2364 38 Russo A. Sassuolo Fiorentina 1 5.0 \n", "2365 38 Zoet Spezia Roma 0 5.5 \n", "2366 38 Milinkovic-Savic V. Torino Inter 1 5.0 \n", "2367 38 Silvestri Udinese Juventus 1 6.5 \n", "2368 38 Montipo' Verona Milan 0 6.0 \n", "\n", " goals assists cards_malus fantavote ... gk_psxg \\\n", "0 0 0 0.0 6.5 ... 2.100000 \n", "1 -2 0 0.0 4.0 ... 3.200000 \n", "2 0 0 0.0 6.5 ... 4.100000 \n", "3 -1 0 0.0 4.0 ... 0.400000 \n", "4 -1 0 0.0 5.0 ... 1.000000 \n", "... ... ... ... ... ... ... \n", "2364 -3 0 0.0 2.0 ... 32.550000 \n", "2365 -2 0 0.5 3.0 ... 10.016667 \n", "2366 -1 0 0.0 4.0 ... 35.800000 \n", "2367 -1 0 0.0 5.5 ... 48.700000 \n", "2368 -3 0 0.0 3.0 ... 49.600000 \n", "\n", " gk_psnpxg_per_shot_on_target_against gk_psxg_net \\\n", "0 0.210000 0.100000 \n", "1 0.320000 -0.800000 \n", "2 0.330000 0.100000 \n", "3 0.110000 -0.600000 \n", "4 0.170000 -2.000000 \n", "... ... ... \n", "2364 0.325000 -12.116667 \n", "2365 0.158333 -1.816667 \n", "2366 0.230000 -5.200000 \n", "2367 0.310000 2.700000 \n", "2368 0.270000 -6.400000 \n", "\n", " gk_passes_completed_launched gk_passes_launched gk_passes \\\n", "0 11.000000 34.000000 88.000000 \n", "1 17.000000 45.000000 106.000000 \n", "2 24.000000 54.000000 76.000000 \n", "3 4.000000 20.000000 37.000000 \n", "4 13.000000 20.000000 85.000000 \n", "... ... ... ... \n", "2364 146.666667 365.333333 957.000000 \n", "2365 46.000000 145.333333 254.166667 \n", "2366 285.000000 939.000000 1506.000000 \n", "2367 144.000000 380.000000 872.000000 \n", "2368 360.000000 775.000000 905.000000 \n", "\n", " gk_passes_throws gk_goal_kicks gk_crosses gk_crosses_stopped \n", "0 18.000000 18.000000 28.000000 2.000000 \n", "1 17.000000 22.000000 57.000000 2.000000 \n", "2 18.000000 40.000000 62.000000 4.000000 \n", "3 9.000000 4.000000 10.000000 2.000000 \n", "4 10.000000 9.000000 16.000000 1.000000 \n", "... ... ... ... ... \n", "2364 156.166667 238.833333 391.500000 23.333333 \n", "2365 37.333333 51.833333 130.333333 5.500000 \n", "2366 185.000000 286.000000 469.000000 36.000000 \n", "2367 142.000000 302.000000 547.000000 13.000000 \n", "2368 124.000000 284.000000 496.000000 26.000000 \n", "\n", "[2369 rows x 102 columns]" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "db_gk1 = pd.read_excel('mid_outputs/database_entries_gk.xlsx', index_col = 0) \n", "db_gk2 = pd.read_excel('mid_outputs/season2021/database_entries_gk.xlsx', index_col = 0) \n", "db_gk3 = pd.read_excel('mid_outputs/season2122/database_entries_gk.xlsx', index_col = 0) \n", "db_gk4 = pd.read_excel('mid_outputs/season2223/database_entries_gk.xlsx', index_col = 0) \n", "\n", "db_gk = pd.concat([db_gk1, db_gk2, db_gk3, db_gk4], ignore_index = True) \n", "\n", "db_gk" ] }, { "cell_type": "markdown", "id": "04df0936", "metadata": {}, "source": [ "Load player stats from current season and past seasons" ] }, { "cell_type": "code", "execution_count": 6, "id": "bc9dae87", "metadata": {}, "outputs": [], "source": [ "players_orig = pd.read_excel('mid_outputs/players_stats.xlsx', index_col = 3)\n", "#players = pd.read_excel('mid_outputs/players_stats_rwk.xlsx', index_col = 3) # reworked stats to account for past season\n", "\n", "players_old = pd.read_excel('mid_outputs/season2223/players_stats.xlsx', index_col = 3)\n", "players_old_2 = pd.read_excel('mid_outputs/season2122/players_stats.xlsx', index_col = 3)\n", "players_old_3 = pd.read_excel('mid_outputs/season2021/players_stats.xlsx', index_col = 3)\n", "\n", "players = players_orig" ] }, { "cell_type": "markdown", "id": "397babf2", "metadata": {}, "source": [ "Load team data from current season and add an average Serie A team row" ] }, { "cell_type": "code", "execution_count": 7, "id": "493b0495", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\nicol\\AppData\\Local\\Temp\\ipykernel_5452\\661405348.py:3: FutureWarning: Dropping of nuisance columns in DataFrame reductions (with 'numeric_only=None') is deprecated; in a future version this will raise TypeError. Select only valid columns before calling the reduction.\n", " avg_row = pd.DataFrame(index = ['Avg'], data = [team_data.mean()], columns = team_data.columns)\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
teamteam_players_usedteam_possessionteam_gamesteam_games_startsteam_minutesteam_goalsteam_assiststeam_pens_madeteam_pens_att...vs_team_foulsvs_team_fouledvs_team_offsidesvs_team_pens_wonvs_team_pens_concededvs_team_own_goalsvs_team_ball_recoveriesvs_team_aerials_wonvs_team_aerials_lostvs_team_aerials_won_pct
AtalantaAtalanta23.0049.5004.044.0360.08.008.000.000.0...36.047.02.00.00.00.00212.0065.060.052.00
BolognaBologna22.0056.5004.044.0360.03.002.000.001.0...50.040.012.00.01.00.00207.0034.046.042.50
CagliariCagliari21.0037.8004.044.0360.01.001.000.000.0...38.041.05.00.00.00.00220.0060.051.054.10
EmpoliEmpoli27.0047.8004.044.0360.00.000.000.000.0...60.042.08.01.00.00.00203.0054.039.058.10
FiorentinaFiorentina22.0061.0004.044.0360.09.007.000.000.0...56.043.05.01.00.00.00202.0056.053.051.40
FrosinoneFrosinone23.0048.3004.044.0360.07.004.002.002.0...50.039.06.00.02.00.00212.0053.052.050.50
GenoaGenoa19.0033.3004.044.0360.04.003.000.000.0...43.043.09.00.00.00.00200.0046.060.043.40
VeronaHellas Verona21.0043.5004.044.0360.04.002.000.000.0...47.063.07.01.00.00.00190.0071.082.046.40
InterInter19.0048.8004.044.0360.013.0011.002.002.0...47.044.05.00.02.00.00163.0030.044.040.50
JuventusJuventus21.0048.8004.044.0360.09.007.001.002.0...52.049.05.00.02.00.00173.0026.038.040.60
LazioLazio20.0056.0004.044.0360.04.004.000.000.0...49.044.07.00.00.00.00196.0051.030.063.00
LecceLecce19.0043.5004.044.0360.07.005.002.002.0...64.053.05.00.02.00.00203.0043.054.044.30
MilanMilan19.0055.3004.044.0360.09.006.003.003.0...56.043.07.01.03.00.00176.0042.033.056.00
MonzaMonza22.0056.8004.044.0360.03.003.000.000.0...37.052.06.01.00.00.00187.0045.037.054.90
NapoliNapoli19.0061.8004.044.0360.08.005.001.002.0...47.039.07.01.02.00.00173.0035.047.042.70
RomaRoma23.0057.0004.044.0360.010.008.001.001.0...46.051.04.01.01.01.00159.0054.076.041.50
SalernitanaSalernitana21.0051.5004.044.0360.03.003.000.000.0...64.046.04.00.00.00.00203.0086.054.061.40
SassuoloSassuolo24.0043.5004.044.0360.05.004.001.001.0...45.034.015.02.01.00.00207.0050.037.057.50
TorinoTorino22.0051.3004.044.0360.05.003.000.000.0...44.048.07.01.00.00.00207.0063.059.051.60
UdineseUdinese22.0048.5004.044.0360.01.001.000.000.0...43.051.010.00.00.00.00188.0052.064.044.80
AvgAvg21.4550.0254.044.0360.05.654.350.650.8...48.745.66.80.50.80.05194.0550.850.849.86
\n", "

21 rows × 303 columns

\n", "
" ], "text/plain": [ " team team_players_used team_possession team_games \\\n", "Atalanta Atalanta 23.00 49.500 4.0 \n", "Bologna Bologna 22.00 56.500 4.0 \n", "Cagliari Cagliari 21.00 37.800 4.0 \n", "Empoli Empoli 27.00 47.800 4.0 \n", "Fiorentina Fiorentina 22.00 61.000 4.0 \n", "Frosinone Frosinone 23.00 48.300 4.0 \n", "Genoa Genoa 19.00 33.300 4.0 \n", "Verona Hellas Verona 21.00 43.500 4.0 \n", "Inter Inter 19.00 48.800 4.0 \n", "Juventus Juventus 21.00 48.800 4.0 \n", "Lazio Lazio 20.00 56.000 4.0 \n", "Lecce Lecce 19.00 43.500 4.0 \n", "Milan Milan 19.00 55.300 4.0 \n", "Monza Monza 22.00 56.800 4.0 \n", "Napoli Napoli 19.00 61.800 4.0 \n", "Roma Roma 23.00 57.000 4.0 \n", "Salernitana Salernitana 21.00 51.500 4.0 \n", "Sassuolo Sassuolo 24.00 43.500 4.0 \n", "Torino Torino 22.00 51.300 4.0 \n", "Udinese Udinese 22.00 48.500 4.0 \n", "Avg Avg 21.45 50.025 4.0 \n", "\n", " team_games_starts team_minutes team_goals team_assists \\\n", "Atalanta 44.0 360.0 8.00 8.00 \n", "Bologna 44.0 360.0 3.00 2.00 \n", "Cagliari 44.0 360.0 1.00 1.00 \n", "Empoli 44.0 360.0 0.00 0.00 \n", "Fiorentina 44.0 360.0 9.00 7.00 \n", "Frosinone 44.0 360.0 7.00 4.00 \n", "Genoa 44.0 360.0 4.00 3.00 \n", "Verona 44.0 360.0 4.00 2.00 \n", "Inter 44.0 360.0 13.00 11.00 \n", "Juventus 44.0 360.0 9.00 7.00 \n", "Lazio 44.0 360.0 4.00 4.00 \n", "Lecce 44.0 360.0 7.00 5.00 \n", "Milan 44.0 360.0 9.00 6.00 \n", "Monza 44.0 360.0 3.00 3.00 \n", "Napoli 44.0 360.0 8.00 5.00 \n", "Roma 44.0 360.0 10.00 8.00 \n", "Salernitana 44.0 360.0 3.00 3.00 \n", "Sassuolo 44.0 360.0 5.00 4.00 \n", "Torino 44.0 360.0 5.00 3.00 \n", "Udinese 44.0 360.0 1.00 1.00 \n", "Avg 44.0 360.0 5.65 4.35 \n", "\n", " team_pens_made team_pens_att ... vs_team_fouls \\\n", "Atalanta 0.00 0.0 ... 36.0 \n", "Bologna 0.00 1.0 ... 50.0 \n", "Cagliari 0.00 0.0 ... 38.0 \n", "Empoli 0.00 0.0 ... 60.0 \n", "Fiorentina 0.00 0.0 ... 56.0 \n", "Frosinone 2.00 2.0 ... 50.0 \n", "Genoa 0.00 0.0 ... 43.0 \n", "Verona 0.00 0.0 ... 47.0 \n", "Inter 2.00 2.0 ... 47.0 \n", "Juventus 1.00 2.0 ... 52.0 \n", "Lazio 0.00 0.0 ... 49.0 \n", "Lecce 2.00 2.0 ... 64.0 \n", "Milan 3.00 3.0 ... 56.0 \n", "Monza 0.00 0.0 ... 37.0 \n", "Napoli 1.00 2.0 ... 47.0 \n", "Roma 1.00 1.0 ... 46.0 \n", "Salernitana 0.00 0.0 ... 64.0 \n", "Sassuolo 1.00 1.0 ... 45.0 \n", "Torino 0.00 0.0 ... 44.0 \n", "Udinese 0.00 0.0 ... 43.0 \n", "Avg 0.65 0.8 ... 48.7 \n", "\n", " vs_team_fouled vs_team_offsides vs_team_pens_won \\\n", "Atalanta 47.0 2.0 0.0 \n", "Bologna 40.0 12.0 0.0 \n", "Cagliari 41.0 5.0 0.0 \n", "Empoli 42.0 8.0 1.0 \n", "Fiorentina 43.0 5.0 1.0 \n", "Frosinone 39.0 6.0 0.0 \n", "Genoa 43.0 9.0 0.0 \n", "Verona 63.0 7.0 1.0 \n", "Inter 44.0 5.0 0.0 \n", "Juventus 49.0 5.0 0.0 \n", "Lazio 44.0 7.0 0.0 \n", "Lecce 53.0 5.0 0.0 \n", "Milan 43.0 7.0 1.0 \n", "Monza 52.0 6.0 1.0 \n", "Napoli 39.0 7.0 1.0 \n", "Roma 51.0 4.0 1.0 \n", "Salernitana 46.0 4.0 0.0 \n", "Sassuolo 34.0 15.0 2.0 \n", "Torino 48.0 7.0 1.0 \n", "Udinese 51.0 10.0 0.0 \n", "Avg 45.6 6.8 0.5 \n", "\n", " vs_team_pens_conceded vs_team_own_goals \\\n", "Atalanta 0.0 0.00 \n", "Bologna 1.0 0.00 \n", "Cagliari 0.0 0.00 \n", "Empoli 0.0 0.00 \n", "Fiorentina 0.0 0.00 \n", "Frosinone 2.0 0.00 \n", "Genoa 0.0 0.00 \n", "Verona 0.0 0.00 \n", "Inter 2.0 0.00 \n", "Juventus 2.0 0.00 \n", "Lazio 0.0 0.00 \n", "Lecce 2.0 0.00 \n", "Milan 3.0 0.00 \n", "Monza 0.0 0.00 \n", "Napoli 2.0 0.00 \n", "Roma 1.0 1.00 \n", "Salernitana 0.0 0.00 \n", "Sassuolo 1.0 0.00 \n", "Torino 0.0 0.00 \n", "Udinese 0.0 0.00 \n", "Avg 0.8 0.05 \n", "\n", " vs_team_ball_recoveries vs_team_aerials_won \\\n", "Atalanta 212.00 65.0 \n", "Bologna 207.00 34.0 \n", "Cagliari 220.00 60.0 \n", "Empoli 203.00 54.0 \n", "Fiorentina 202.00 56.0 \n", "Frosinone 212.00 53.0 \n", "Genoa 200.00 46.0 \n", "Verona 190.00 71.0 \n", "Inter 163.00 30.0 \n", "Juventus 173.00 26.0 \n", "Lazio 196.00 51.0 \n", "Lecce 203.00 43.0 \n", "Milan 176.00 42.0 \n", "Monza 187.00 45.0 \n", "Napoli 173.00 35.0 \n", "Roma 159.00 54.0 \n", "Salernitana 203.00 86.0 \n", "Sassuolo 207.00 50.0 \n", "Torino 207.00 63.0 \n", "Udinese 188.00 52.0 \n", "Avg 194.05 50.8 \n", "\n", " vs_team_aerials_lost vs_team_aerials_won_pct \n", "Atalanta 60.0 52.00 \n", "Bologna 46.0 42.50 \n", "Cagliari 51.0 54.10 \n", "Empoli 39.0 58.10 \n", "Fiorentina 53.0 51.40 \n", "Frosinone 52.0 50.50 \n", "Genoa 60.0 43.40 \n", "Verona 82.0 46.40 \n", "Inter 44.0 40.50 \n", "Juventus 38.0 40.60 \n", "Lazio 30.0 63.00 \n", "Lecce 54.0 44.30 \n", "Milan 33.0 56.00 \n", "Monza 37.0 54.90 \n", "Napoli 47.0 42.70 \n", "Roma 76.0 41.50 \n", "Salernitana 54.0 61.40 \n", "Sassuolo 37.0 57.50 \n", "Torino 59.0 51.60 \n", "Udinese 64.0 44.80 \n", "Avg 50.8 49.86 \n", "\n", "[21 rows x 303 columns]" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "team_data = pd.read_excel('mid_outputs/team_data.xlsx', index_col = 0)\n", "\n", "avg_row = pd.DataFrame(index = ['Avg'], data = [team_data.mean()], columns = team_data.columns)\n", "avg_row['team']['Avg'] = 'Avg'\n", "\n", "team_data = pd.concat([team_data, avg_row])\n", "\n", "team_data" ] }, { "cell_type": "markdown", "id": "cc1cd13d", "metadata": {}, "source": [ "Data processing functions copied from player_match_dataset_creation" ] }, { "cell_type": "code", "execution_count": 8, "id": "32f56138", "metadata": {}, "outputs": [], "source": [ "features_abs = ['r',\n", " 'games',\n", " 'games_starts', \n", " 'minutes',\n", " 'shots_on_target_pct',\n", " 'goals_per_shot',\n", " 'goals_per_shot_on_target',\n", " 'passes_pct',\n", " #'dribble_tackles_pct',\n", " #'dribbles_completed_pct',\n", " 'aerials_won_pct',\n", " 'team_possession',\n", " 'team_goals_assists_per90',\n", " 'team_goals_pens_per90',\n", " 'team_goals_assists_pens_per90',\n", " 'team_xg_per90',\n", " 'team_gk_goals_against_per90',\n", " 'team_gk_save_pct',\n", " 'team_gk_clean_sheets_pct',\n", " 'team_passes_pct',\n", " 'team_passes_pct_medium',\n", " 'team_passes_pct_long',\n", " 'team_sca_per90',\n", " 'team_gca_per90',\n", " #'team_dribble_tackles_pct',\n", " 'team_aerials_won_pct',\n", " 'vs_team_possession',\n", " 'vs_team_goals_per90',\n", " 'vs_team_assists_per90',\n", " 'vs_team_xg_per90',\n", " 'vs_team_gk_save_pct',\n", " 'vs_team_gk_clean_sheets_pct',\n", " 'vs_team_gk_pct_passes_launched',\n", " 'vs_team_gk_crosses_stopped_pct',\n", " 'vs_team_shots_on_target_per90',\n", " 'vs_team_passes_pct',\n", " 'vs_team_passes_pct_short',\n", " 'vs_team_passes_pct_medium',\n", " 'vs_team_passes_pct_long',\n", " 'vs_team_sca_per90',\n", " 'vs_team_gca_per90',\n", " #'vs_team_dribble_tackles_pct',\n", " #'vs_team_dribbles_completed_pct',\n", " 'vs_team_aerials_won_pct',\n", " 'opp_team_possession',\n", " 'opp_team_goals_assists_per90',\n", " 'opp_team_goals_pens_per90',\n", " 'opp_team_goals_assists_pens_per90',\n", " 'opp_team_xg_per90',\n", " 'opp_team_gk_goals_against_per90',\n", " 'opp_team_gk_save_pct',\n", " 'opp_team_gk_clean_sheets_pct',\n", " 'opp_team_passes_pct',\n", " 'opp_team_passes_pct_medium',\n", " 'opp_team_passes_pct_long',\n", " 'opp_team_sca_per90',\n", " 'opp_team_gca_per90',\n", " #'opp_team_dribble_tackles_pct',\n", " 'opp_team_aerials_won_pct',\n", " 'opp_vs_team_possession',\n", " 'opp_vs_team_goals_per90',\n", " 'opp_vs_team_assists_per90',\n", " 'opp_vs_team_xg_per90',\n", " 'opp_vs_team_gk_save_pct',\n", " 'opp_vs_team_gk_clean_sheets_pct',\n", " 'opp_vs_team_gk_pct_passes_launched',\n", " 'opp_vs_team_gk_crosses_stopped_pct',\n", " 'opp_vs_team_shots_on_target_per90',\n", " 'opp_vs_team_passes_pct',\n", " 'opp_vs_team_passes_pct_short',\n", " 'opp_vs_team_passes_pct_medium',\n", " 'opp_vs_team_passes_pct_long',\n", " 'opp_vs_team_sca_per90',\n", " 'opp_vs_team_gca_per90',\n", " #'opp_vs_team_dribble_tackles_pct',\n", " #'opp_vs_team_dribbles_completed_pct',\n", " 'opp_vs_team_aerials_won_pct',\n", " \n", " 'vote_avg',\n", " 'vote_std']\n", "\n", "features_rel = [\n", " 'goals',\n", " 'assists',\n", " 'cards_yellow',\n", " 'cards_red',\n", " 'xg',\n", " 'npxg',\n", " 'shots_on_target',\n", " 'passes_completed',\n", " 'passes_into_final_third',\n", " 'passes_into_penalty_area',\n", " 'progressive_passes',\n", " 'passes_live',\n", " 'passes_dead',\n", " 'through_balls',\n", " 'passes_switches',\n", " 'crosses',\n", " 'corner_kicks',\n", " #'dribble_tackles',\n", " #'dribbles_vs',\n", " #'dribbled_past',\n", " 'blocks',\n", " 'blocked_shots',\n", " 'blocked_passes',\n", " 'interceptions',\n", " 'clearances',\n", " 'errors',\n", " 'touches',\n", " 'touches_def_pen_area',\n", " 'touches_def_3rd',\n", " 'touches_mid_3rd',\n", " 'touches_att_3rd',\n", " 'touches_att_pen_area',\n", " 'touches_live_ball',\n", " #'dribbles_completed',\n", " #'dribbles',\n", " 'passes_received',\n", " 'miscontrols',\n", " 'dispossessed',\n", " 'fouls',\n", " 'fouled',\n", " 'aerials_won',\n", " 'aerials_lost',\n", " 'carries',\n", " 'progressive_carries',\n", " 'carries_into_final_third',\n", " 'carries_into_penalty_area']\n", "\n", "features_rel_gamecorr = [\n", " 'goals',\n", " 'assists',\n", " 'xg',\n", " 'npxg',\n", " 'cards_yellow',\n", " 'cards_red'\n", "]" ] }, { "cell_type": "code", "execution_count": 9, "id": "4001f3f8", "metadata": {}, "outputs": [], "source": [ "features_abs_gk = [\n", " 'gk_games',\n", " 'gk_games_starts',\n", " 'gk_minutes',\n", " 'gk_goals_against_per90', \n", " 'gk_save_pct',\n", " 'gk_clean_sheets_pct',\n", " 'gk_psxg_net_per90',\n", " 'gk_passes_pct_launched',\n", " 'gk_pct_passes_launched',\n", " 'gk_passes_length_avg',\n", " 'gk_pct_goal_kicks_launched',\n", " 'gk_goal_kick_length_avg',\n", " 'gk_crosses_stopped_pct',\n", " 'gk_def_actions_outside_pen_area_per90',\n", " 'gk_avg_distance_def_actions',\n", " \n", " 'team_possession',\n", " 'team_goals_assists_per90',\n", " 'team_goals_pens_per90',\n", " 'team_goals_assists_pens_per90',\n", " 'team_xg_per90',\n", " 'team_gk_goals_against_per90',\n", " 'team_gk_save_pct',\n", " 'team_gk_clean_sheets_pct',\n", " 'team_passes_pct',\n", " 'team_passes_pct_medium',\n", " 'team_passes_pct_long',\n", " 'team_sca_per90',\n", " 'team_gca_per90',\n", " #'team_dribble_tackles_pct',\n", " 'team_aerials_won_pct',\n", " 'vs_team_possession',\n", " 'vs_team_goals_per90',\n", " 'vs_team_assists_per90',\n", " 'vs_team_xg_per90',\n", " 'vs_team_gk_save_pct',\n", " 'vs_team_gk_clean_sheets_pct',\n", " 'vs_team_gk_pct_passes_launched',\n", " 'vs_team_gk_crosses_stopped_pct',\n", " 'vs_team_shots_on_target_per90',\n", " 'vs_team_passes_pct',\n", " 'vs_team_passes_pct_short',\n", " 'vs_team_passes_pct_medium',\n", " 'vs_team_passes_pct_long',\n", " 'vs_team_sca_per90',\n", " 'vs_team_gca_per90',\n", " #'vs_team_dribble_tackles_pct',\n", " #'vs_team_dribbles_completed_pct',\n", " 'vs_team_aerials_won_pct',\n", " 'opp_team_possession',\n", " 'opp_team_goals_assists_per90',\n", " 'opp_team_goals_pens_per90',\n", " 'opp_team_goals_assists_pens_per90',\n", " 'opp_team_xg_per90',\n", " 'opp_team_gk_goals_against_per90',\n", " 'opp_team_gk_save_pct',\n", " 'opp_team_gk_clean_sheets_pct',\n", " 'opp_team_passes_pct',\n", " 'opp_team_passes_pct_medium',\n", " 'opp_team_passes_pct_long',\n", " 'opp_team_sca_per90',\n", " 'opp_team_gca_per90',\n", " #'opp_team_dribble_tackles_pct',\n", " 'opp_team_aerials_won_pct',\n", " 'opp_vs_team_possession',\n", " 'opp_vs_team_goals_per90',\n", " 'opp_vs_team_assists_per90',\n", " 'opp_vs_team_xg_per90',\n", " 'opp_vs_team_gk_save_pct',\n", " 'opp_vs_team_gk_clean_sheets_pct',\n", " 'opp_vs_team_gk_pct_passes_launched',\n", " 'opp_vs_team_gk_crosses_stopped_pct',\n", " 'opp_vs_team_shots_on_target_per90',\n", " 'opp_vs_team_passes_pct',\n", " 'opp_vs_team_passes_pct_short',\n", " 'opp_vs_team_passes_pct_medium',\n", " 'opp_vs_team_passes_pct_long',\n", " 'opp_vs_team_sca_per90',\n", " 'opp_vs_team_gca_per90',\n", " #'opp_vs_team_dribble_tackles_pct',\n", " #'opp_vs_team_dribbles_completed_pct',\n", " 'opp_vs_team_aerials_won_pct',\n", " \n", " 'vote_avg',\n", " 'vote_std']\n", "\n", "features_rel_gk = [\n", " 'gk_shots_on_target_against',\n", " 'gk_saves',\n", " 'gk_free_kick_goals_against',\n", " 'gk_corner_kick_goals_against',\n", " 'gk_own_goals_against',\n", " 'gk_psxg',\n", " 'gk_psnpxg_per_shot_on_target_against',\n", " 'gk_psxg_net',\n", " 'gk_passes_completed_launched',\n", " 'gk_passes_launched',\n", " 'gk_passes',\n", " 'gk_passes_throws',\n", " 'gk_goal_kicks',\n", " 'gk_crosses',\n", " 'gk_crosses_stopped',\n", "]" ] }, { "cell_type": "code", "execution_count": 10, "id": "f4017b2f", "metadata": {}, "outputs": [], "source": [ "DEL_G = False\n", "\n", "features_to_del = [\n", " 'goals',\n", " 'assists',\n", " 'xg',\n", " 'npxg'\n", "]\n", "\n", "def player_match_data(player, pteam, oppteam, oldseason = False):\n", " if(not(player in players.index)):\n", " return None\n", " \n", " if(oldseason):\n", " pdata = players_old.loc[[player]]\n", " else:\n", " pdata = players.loc[[player]]\n", " \n", " pteam_stats = team_data.loc[[pteam]].rename(index = {pteam : player})\n", " \n", " oppteam_stats = team_data.loc[[oppteam]].rename(index = {oppteam : player})\n", " \n", " oppteam_stats = oppteam_stats.rename(lambda x: 'opp_' + x, axis='columns')\n", " \n", " out = pd.concat([pdata, pteam_stats, oppteam_stats], axis = 1)\n", " \n", " return(out)\n", "\n", "def player_match_data_ext(player, pteam, oppteam, oldseason = False):\n", " pdata = player_match_data(player, pteam, oppteam, oldseason = oldseason)\n", " \n", " if(not isinstance(pdata, pd.DataFrame)):\n", " return None\n", " \n", " assert pdata['games'][0] > 0\n", " \n", " out = pd.concat([pdata[features_abs], pdata[features_rel]], axis = 1)\n", " \n", " out[features_rel] = out[features_rel] / max(pdata['minutes'][0], 1)\n", " \n", " out[features_rel_gamecorr] = out[features_rel_gamecorr] * (pdata['minutes'][0] / max(pdata['games'][0], 1) / 90)\n", " \n", " if(DEL_G):\n", " out[features_to_del] = 0\n", " \n", " return out\n", "\n", "def player_match_data_ext_gk(player, pteam, oppteam, oldseason = False):\n", " pdata = player_match_data(player, pteam, oppteam, oldseason = oldseason)\n", " \n", " if(not isinstance(pdata, pd.DataFrame)):\n", " return None\n", " \n", " if(pdata['gk_games'][0] <= 0):\n", " return None\n", " \n", " out = pd.concat([pdata[features_abs_gk], pdata[features_rel_gk]], axis = 1)\n", " \n", " out[features_rel_gk] = out[features_rel_gk] / max(pdata['minutes'][0], 1)\n", "\n", " return out\n", " " ] }, { "cell_type": "markdown", "id": "4e6700ec", "metadata": {}, "source": [ "Load data from previous seasons in other leagues, for new players (rookies) in Serie A" ] }, { "cell_type": "code", "execution_count": 11, "id": "3223cfe3", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Unnamed: 0nationalitypositionteamteam.1agebirth_yeargamesgames_startsminutes...vs_team_pens_concededvs_team_own_goalsleagueseasonsurnameinitialnamevote_avgvote_stdr
player
Kolasinac0ba BIHDFMarseilleMarseille29199333262214...76Ligue-12022-2023KolasinacSSead Kolašinac60.3D
Freuler1ch SUIMFNott'ham ForestNott'ham Forest30199228242161...62Premier-League2022-2023FreulerRRemo Freuler60.3C
Karlsson2se SWEFWAZ AlkmaarAZ Alkmaar24199823211777...33Eredivisie2022-2023KarlssonJJesper Karlsson60.3A
Kristiansen3dk DENDFLeicester CityLeicester City1920021211892...62Premier-League2022-2023KristiansenVVictor Bernth Kristiansen60.3D
Mina4co COLDFEvertonEverton27199477594...22Premier-League2022-2023MinaYYerry Mina60.3D
Monterisi5it ITADFFrosinoneFrosinone202001116615...02Serie-B2022-2023MonterisiIIlario Monterisi60.3D
Pavard6fr FRADFBayern MunichBayern Munich26199630272431...52Bundesliga2022-2023PavardBBenjamin Pavard60.3D
Thuram7fr FRAFWM'GladbachM'Gladbach24199730282513...60Bundesliga2022-2023ThuramMMarcus Thuram60.3A
Klaassen8nl NEDMFAjaxAjax29199333212046...50Eredivisie2022-2023KlaassenDDavy Klaassen60.3C
Sanchez9cl CHIFW,MFMarseilleMarseille33198835322679...76Ligue-12022-2023SanchezAAlexis Sánchez60.3A
Weah10us USADF,FWLilleLille22200029181748...120Ligue-12022-2023WeahTTimothy Weah60.3C
Guendouzi11fr FRAMFMarseilleMarseille23199933252108...76Ligue-12022-2023GuendouziMMattéo Guendouzi60.3C
Kamada12jp JPNMFEint FrankfurtEint Frankfurt25199632252265...62Bundesliga2022-2023KamadaDDaichi Kamada60.3C
Chukwueze13ng NGAFW,MFVillarrealVillarreal23199937272339...72La-Liga2022-2023ChukwuezeSSamuel Chukwueze60.3C
Pulisic14us USAFW,DFChelseaChelsea231998248821...31Premier-League2022-2023PulisicCChristian Pulisic60.3C
Loftus-Cheek15eng ENGMF,DFChelseaChelsea26199625191536...31Premier-League2022-2023Loftus-CheekRRuben Loftus-Cheek60.3C
Lindstrom16dk DENMF,FWEint FrankfurtEint Frankfurt22200027221679...62Bundesliga2022-2023LindstrmJJesper Lindstrøm60.3C
Cajuste17se SWEMFReimsReims22199931141530...80Ligue-12022-2023CajusteJJens Cajuste60.3C
Cheddira18ma MARFWBariBari24199831302495...02Serie-B2022-2023CheddiraWWalid Cheddira60.3A
Lapadula19pe PERFWCagliariCagliari32199036332882...00Serie-B2022-2023LapadulaGGianluca Lapadula60.3A
Kristensen20dk DENDFLeeds UnitedLeeds United25199726211960...33Premier-League2022-2023NissenRRasmus Nissen60.3D
Azmoun21ir IRNFW,MFLeverkusenLeverkusen271995238927...70Bundesliga2022-2023AzmounSSardar Azmoun60.3A
Renato Sanches22pt PORMFParis S-GParis S-G241997236717...73Ligue-12022-2023SanchesRRenato Sanches60.3C
N'dicka23fr FRADFEint FrankfurtEint Frankfurt22199930302692...62Bundesliga2022-2023NDickaOObite N'Dicka60.3D
Aouar24dz ALGMFLyonLyon241998166526...82Ligue-12022-2023AouarHHoussem Aouar60.3C
Pedersen25no NORDFFeyenoordFeyenoord22200029252117...34Eredivisie2022-2023PedersenMMarcus Pedersen60.3D
Castillejo26es ESPFW,MFValenciaValencia27199525171362...82La-Liga2022-2023CastillejoSSamu Castillejo60.3C
Lucca27it ITAFW,MFAjaxAjax212000140150...50Eredivisie2022-2023LuccaLLorenzo Lucca60.3A
Folorunsho28ng NGAMF,FWBariBari24199827251995...02Serie-B2022-2023FolorunshoMMichael Folorunsho60.3C
Gudmundsson A.29is ISLMF,FWGenoaGenoa25199736322696...00Serie-B2022-2023GumundssonAAlbert Guðmundsson60.3C
Bakker30nl NEDDF,MFLeverkusenLeverkusen22200028191659...70Bundesliga2022-2023BakkerMMitchel Bakker60.3D
Martin31es ESPDFMainz 05Mainz 0525199728201847...60Bundesliga2022-2023MartinAAarón Martín60.3D
Dragusin32ro ROUDFGenoaGenoa20200238373375...00Serie-B2022-2023DragusinRRadu Drăgușin60.3D
Viti33it ITADFNiceNice20200297634...61Ligue-12022-2023VitiMMattia Viti60.3D
Beukema34nl NEDDFAZ AlkmaarAZ Alkmaar23199826242198...33Eredivisie2022-2023BeukemaSSam Beukema60.3D
Reijnders35nl NEDMFAZ AlkmaarAZ Alkmaar24199834343046...33Eredivisie2022-2023ReijndersTTijjani Reijnders60.3C
Luvumbo36ao ANGFW,MFCagliariCagliari20200236151560...00Serie-B2022-2023ZitoZZito60.3A
Retegui37it ITAFWTigreTigre23199921201790...01Primera-Division2022-2023ReteguiMMateo Retegui60.3A
Fabbian38it ITAMFUS RegginaUS Reggina19200336342827...03Serie-B2022-2023FabbianGGiovanni Fabbian60.3C
Beltran L.39ar ARGFWRiver PlateRiver Plate21200125161371...01Primera-Division2022-2023BeltranLLucas Beltrán60.3A
Azzi40br BRADF,MFCagliariCagliari28199416131144...00Serie-B2022-2023AzziPPaulo Azzi60.3D
Nandez41uy URUMF,FWCagliariCagliari26199533302539...00Serie-B2022-2023NandezNNahitan Nández60.3C
Pavoletti42it ITAFW,MFCagliariCagliari3319882310989...00Serie-B2022-2023PavolettiLLeonardo Pavoletti60.3A
Makoumbou43cg CGOMFCagliariCagliari24199836332981...00Serie-B2022-2023MakoumbouAAntoine Makoumbou60.3C
Dossena44it ITADFCagliariCagliari23199823191703...00Serie-B2022-2023DossenaAAlberto Dossena60.3C
Strootman45nl NEDMFGenoaGenoa32199030252229...00Serie-B2022-2023StrootmanKKevin Strootman60.3C
Bani46it ITADFGenoaGenoa28199333312551...00Serie-B2022-2023BaniMMattia Bani60.3D
Frendrup47dk DENMFGenoaGenoa21200137322921...00Serie-B2022-2023FrendrupMMorten Frendrup60.3C
Sabelli48it ITADF,MFGenoaGenoa29199330292514...00Serie-B2022-2023SabelliSStefano Sabelli60.3D
Caso49it ITAFW,MFFrosinoneFrosinone23199835231890...02Serie-B2022-2023CasoGGiuseppe Caso60.3A
Baez50uy URUFWFrosinoneFrosinone271995175667...02Serie-B2022-2023BaezJJaime Báez60.3C
Mulattieri51it ITAFWFrosinoneFrosinone21200029151502...02Serie-B2022-2023MulattieriSSamuele Mulattieri60.3A
\n", "

52 rows × 384 columns

\n", "
" ], "text/plain": [ " Unnamed: 0 nationality position team \\\n", "player \n", "Kolasinac 0 ba BIH DF Marseille \n", "Freuler 1 ch SUI MF Nott'ham Forest \n", "Karlsson 2 se SWE FW AZ Alkmaar \n", "Kristiansen 3 dk DEN DF Leicester City \n", "Mina 4 co COL DF Everton \n", "Monterisi 5 it ITA DF Frosinone \n", "Pavard 6 fr FRA DF Bayern Munich \n", "Thuram 7 fr FRA FW M'Gladbach \n", "Klaassen 8 nl NED MF Ajax \n", "Sanchez 9 cl CHI FW,MF Marseille \n", "Weah 10 us USA DF,FW Lille \n", "Guendouzi 11 fr FRA MF Marseille \n", "Kamada 12 jp JPN MF Eint Frankfurt \n", "Chukwueze 13 ng NGA FW,MF Villarreal \n", "Pulisic 14 us USA FW,DF Chelsea \n", "Loftus-Cheek 15 eng ENG MF,DF Chelsea \n", "Lindstrom 16 dk DEN MF,FW Eint Frankfurt \n", "Cajuste 17 se SWE MF Reims \n", "Cheddira 18 ma MAR FW Bari \n", "Lapadula 19 pe PER FW Cagliari \n", "Kristensen 20 dk DEN DF Leeds United \n", "Azmoun 21 ir IRN FW,MF Leverkusen \n", "Renato Sanches 22 pt POR MF Paris S-G \n", "N'dicka 23 fr FRA DF Eint Frankfurt \n", "Aouar 24 dz ALG MF Lyon \n", "Pedersen 25 no NOR DF Feyenoord \n", "Castillejo 26 es ESP FW,MF Valencia \n", "Lucca 27 it ITA FW,MF Ajax \n", "Folorunsho 28 ng NGA MF,FW Bari \n", "Gudmundsson A. 29 is ISL MF,FW Genoa \n", "Bakker 30 nl NED DF,MF Leverkusen \n", "Martin 31 es ESP DF Mainz 05 \n", "Dragusin 32 ro ROU DF Genoa \n", "Viti 33 it ITA DF Nice \n", "Beukema 34 nl NED DF AZ Alkmaar \n", "Reijnders 35 nl NED MF AZ Alkmaar \n", "Luvumbo 36 ao ANG FW,MF Cagliari \n", "Retegui 37 it ITA FW Tigre \n", "Fabbian 38 it ITA MF US Reggina \n", "Beltran L. 39 ar ARG FW River Plate \n", "Azzi 40 br BRA DF,MF Cagliari \n", "Nandez 41 uy URU MF,FW Cagliari \n", "Pavoletti 42 it ITA FW,MF Cagliari \n", "Makoumbou 43 cg CGO MF Cagliari \n", "Dossena 44 it ITA DF Cagliari \n", "Strootman 45 nl NED MF Genoa \n", "Bani 46 it ITA DF Genoa \n", "Frendrup 47 dk DEN MF Genoa \n", "Sabelli 48 it ITA DF,MF Genoa \n", "Caso 49 it ITA FW,MF Frosinone \n", "Baez 50 uy URU FW Frosinone \n", "Mulattieri 51 it ITA FW Frosinone \n", "\n", " team.1 age birth_year games games_starts \\\n", "player \n", "Kolasinac Marseille 29 1993 33 26 \n", "Freuler Nott'ham Forest 30 1992 28 24 \n", "Karlsson AZ Alkmaar 24 1998 23 21 \n", "Kristiansen Leicester City 19 2002 12 11 \n", "Mina Everton 27 1994 7 7 \n", "Monterisi Frosinone 20 2001 11 6 \n", "Pavard Bayern Munich 26 1996 30 27 \n", "Thuram M'Gladbach 24 1997 30 28 \n", "Klaassen Ajax 29 1993 33 21 \n", "Sanchez Marseille 33 1988 35 32 \n", "Weah Lille 22 2000 29 18 \n", "Guendouzi Marseille 23 1999 33 25 \n", "Kamada Eint Frankfurt 25 1996 32 25 \n", "Chukwueze Villarreal 23 1999 37 27 \n", "Pulisic Chelsea 23 1998 24 8 \n", "Loftus-Cheek Chelsea 26 1996 25 19 \n", "Lindstrom Eint Frankfurt 22 2000 27 22 \n", "Cajuste Reims 22 1999 31 14 \n", "Cheddira Bari 24 1998 31 30 \n", "Lapadula Cagliari 32 1990 36 33 \n", "Kristensen Leeds United 25 1997 26 21 \n", "Azmoun Leverkusen 27 1995 23 8 \n", "Renato Sanches Paris S-G 24 1997 23 6 \n", "N'dicka Eint Frankfurt 22 1999 30 30 \n", "Aouar Lyon 24 1998 16 6 \n", "Pedersen Feyenoord 22 2000 29 25 \n", "Castillejo Valencia 27 1995 25 17 \n", "Lucca Ajax 21 2000 14 0 \n", "Folorunsho Bari 24 1998 27 25 \n", "Gudmundsson A. Genoa 25 1997 36 32 \n", "Bakker Leverkusen 22 2000 28 19 \n", "Martin Mainz 05 25 1997 28 20 \n", "Dragusin Genoa 20 2002 38 37 \n", "Viti Nice 20 2002 9 7 \n", "Beukema AZ Alkmaar 23 1998 26 24 \n", "Reijnders AZ Alkmaar 24 1998 34 34 \n", "Luvumbo Cagliari 20 2002 36 15 \n", "Retegui Tigre 23 1999 21 20 \n", "Fabbian US Reggina 19 2003 36 34 \n", "Beltran L. River Plate 21 2001 25 16 \n", "Azzi Cagliari 28 1994 16 13 \n", "Nandez Cagliari 26 1995 33 30 \n", "Pavoletti Cagliari 33 1988 23 10 \n", "Makoumbou Cagliari 24 1998 36 33 \n", "Dossena Cagliari 23 1998 23 19 \n", "Strootman Genoa 32 1990 30 25 \n", "Bani Genoa 28 1993 33 31 \n", "Frendrup Genoa 21 2001 37 32 \n", "Sabelli Genoa 29 1993 30 29 \n", "Caso Frosinone 23 1998 35 23 \n", "Baez Frosinone 27 1995 17 5 \n", "Mulattieri Frosinone 21 2000 29 15 \n", "\n", " minutes ... vs_team_pens_conceded vs_team_own_goals \\\n", "player ... \n", "Kolasinac 2214 ... 7 6 \n", "Freuler 2161 ... 6 2 \n", "Karlsson 1777 ... 3 3 \n", "Kristiansen 892 ... 6 2 \n", "Mina 594 ... 2 2 \n", "Monterisi 615 ... 0 2 \n", "Pavard 2431 ... 5 2 \n", "Thuram 2513 ... 6 0 \n", "Klaassen 2046 ... 5 0 \n", "Sanchez 2679 ... 7 6 \n", "Weah 1748 ... 12 0 \n", "Guendouzi 2108 ... 7 6 \n", "Kamada 2265 ... 6 2 \n", "Chukwueze 2339 ... 7 2 \n", "Pulisic 821 ... 3 1 \n", "Loftus-Cheek 1536 ... 3 1 \n", "Lindstrom 1679 ... 6 2 \n", "Cajuste 1530 ... 8 0 \n", "Cheddira 2495 ... 0 2 \n", "Lapadula 2882 ... 0 0 \n", "Kristensen 1960 ... 3 3 \n", "Azmoun 927 ... 7 0 \n", "Renato Sanches 717 ... 7 3 \n", "N'dicka 2692 ... 6 2 \n", "Aouar 526 ... 8 2 \n", "Pedersen 2117 ... 3 4 \n", "Castillejo 1362 ... 8 2 \n", "Lucca 150 ... 5 0 \n", "Folorunsho 1995 ... 0 2 \n", "Gudmundsson A. 2696 ... 0 0 \n", "Bakker 1659 ... 7 0 \n", "Martin 1847 ... 6 0 \n", "Dragusin 3375 ... 0 0 \n", "Viti 634 ... 6 1 \n", "Beukema 2198 ... 3 3 \n", "Reijnders 3046 ... 3 3 \n", "Luvumbo 1560 ... 0 0 \n", "Retegui 1790 ... 0 1 \n", "Fabbian 2827 ... 0 3 \n", "Beltran L. 1371 ... 0 1 \n", "Azzi 1144 ... 0 0 \n", "Nandez 2539 ... 0 0 \n", "Pavoletti 989 ... 0 0 \n", "Makoumbou 2981 ... 0 0 \n", "Dossena 1703 ... 0 0 \n", "Strootman 2229 ... 0 0 \n", "Bani 2551 ... 0 0 \n", "Frendrup 2921 ... 0 0 \n", "Sabelli 2514 ... 0 0 \n", "Caso 1890 ... 0 2 \n", "Baez 667 ... 0 2 \n", "Mulattieri 1502 ... 0 2 \n", "\n", " league season surname initial \\\n", "player \n", "Kolasinac Ligue-1 2022-2023 Kolasinac S \n", "Freuler Premier-League 2022-2023 Freuler R \n", "Karlsson Eredivisie 2022-2023 Karlsson J \n", "Kristiansen Premier-League 2022-2023 Kristiansen V \n", "Mina Premier-League 2022-2023 Mina Y \n", "Monterisi Serie-B 2022-2023 Monterisi I \n", "Pavard Bundesliga 2022-2023 Pavard B \n", "Thuram Bundesliga 2022-2023 Thuram M \n", "Klaassen Eredivisie 2022-2023 Klaassen D \n", "Sanchez Ligue-1 2022-2023 Sanchez A \n", "Weah Ligue-1 2022-2023 Weah T \n", "Guendouzi Ligue-1 2022-2023 Guendouzi M \n", "Kamada Bundesliga 2022-2023 Kamada D \n", "Chukwueze La-Liga 2022-2023 Chukwueze S \n", "Pulisic Premier-League 2022-2023 Pulisic C \n", "Loftus-Cheek Premier-League 2022-2023 Loftus-Cheek R \n", "Lindstrom Bundesliga 2022-2023 Lindstrm J \n", "Cajuste Ligue-1 2022-2023 Cajuste J \n", "Cheddira Serie-B 2022-2023 Cheddira W \n", "Lapadula Serie-B 2022-2023 Lapadula G \n", "Kristensen Premier-League 2022-2023 Nissen R \n", "Azmoun Bundesliga 2022-2023 Azmoun S \n", "Renato Sanches Ligue-1 2022-2023 Sanches R \n", "N'dicka Bundesliga 2022-2023 NDicka O \n", "Aouar Ligue-1 2022-2023 Aouar H \n", "Pedersen Eredivisie 2022-2023 Pedersen M \n", "Castillejo La-Liga 2022-2023 Castillejo S \n", "Lucca Eredivisie 2022-2023 Lucca L \n", "Folorunsho Serie-B 2022-2023 Folorunsho M \n", "Gudmundsson A. Serie-B 2022-2023 Gumundsson A \n", "Bakker Bundesliga 2022-2023 Bakker M \n", "Martin Bundesliga 2022-2023 Martin A \n", "Dragusin Serie-B 2022-2023 Dragusin R \n", "Viti Ligue-1 2022-2023 Viti M \n", "Beukema Eredivisie 2022-2023 Beukema S \n", "Reijnders Eredivisie 2022-2023 Reijnders T \n", "Luvumbo Serie-B 2022-2023 Zito Z \n", "Retegui Primera-Division 2022-2023 Retegui M \n", "Fabbian Serie-B 2022-2023 Fabbian G \n", "Beltran L. Primera-Division 2022-2023 Beltran L \n", "Azzi Serie-B 2022-2023 Azzi P \n", "Nandez Serie-B 2022-2023 Nandez N \n", "Pavoletti Serie-B 2022-2023 Pavoletti L \n", "Makoumbou Serie-B 2022-2023 Makoumbou A \n", "Dossena Serie-B 2022-2023 Dossena A \n", "Strootman Serie-B 2022-2023 Strootman K \n", "Bani Serie-B 2022-2023 Bani M \n", "Frendrup Serie-B 2022-2023 Frendrup M \n", "Sabelli Serie-B 2022-2023 Sabelli S \n", "Caso Serie-B 2022-2023 Caso G \n", "Baez Serie-B 2022-2023 Baez J \n", "Mulattieri Serie-B 2022-2023 Mulattieri S \n", "\n", " name vote_avg vote_std r \n", "player \n", "Kolasinac Sead Kolašinac 6 0.3 D \n", "Freuler Remo Freuler 6 0.3 C \n", "Karlsson Jesper Karlsson 6 0.3 A \n", "Kristiansen Victor Bernth Kristiansen 6 0.3 D \n", "Mina Yerry Mina 6 0.3 D \n", "Monterisi Ilario Monterisi 6 0.3 D \n", "Pavard Benjamin Pavard 6 0.3 D \n", "Thuram Marcus Thuram 6 0.3 A \n", "Klaassen Davy Klaassen 6 0.3 C \n", "Sanchez Alexis Sánchez 6 0.3 A \n", "Weah Timothy Weah 6 0.3 C \n", "Guendouzi Mattéo Guendouzi 6 0.3 C \n", "Kamada Daichi Kamada 6 0.3 C \n", "Chukwueze Samuel Chukwueze 6 0.3 C \n", "Pulisic Christian Pulisic 6 0.3 C \n", "Loftus-Cheek Ruben Loftus-Cheek 6 0.3 C \n", "Lindstrom Jesper Lindstrøm 6 0.3 C \n", "Cajuste Jens Cajuste 6 0.3 C \n", "Cheddira Walid Cheddira 6 0.3 A \n", "Lapadula Gianluca Lapadula 6 0.3 A \n", "Kristensen Rasmus Nissen 6 0.3 D \n", "Azmoun Sardar Azmoun 6 0.3 A \n", "Renato Sanches Renato Sanches 6 0.3 C \n", "N'dicka Obite N'Dicka 6 0.3 D \n", "Aouar Houssem Aouar 6 0.3 C \n", "Pedersen Marcus Pedersen 6 0.3 D \n", "Castillejo Samu Castillejo 6 0.3 C \n", "Lucca Lorenzo Lucca 6 0.3 A \n", "Folorunsho Michael Folorunsho 6 0.3 C \n", "Gudmundsson A. Albert Guðmundsson 6 0.3 C \n", "Bakker Mitchel Bakker 6 0.3 D \n", "Martin Aarón Martín 6 0.3 D \n", "Dragusin Radu Drăgușin 6 0.3 D \n", "Viti Mattia Viti 6 0.3 D \n", "Beukema Sam Beukema 6 0.3 D \n", "Reijnders Tijjani Reijnders 6 0.3 C \n", "Luvumbo Zito 6 0.3 A \n", "Retegui Mateo Retegui 6 0.3 A \n", "Fabbian Giovanni Fabbian 6 0.3 C \n", "Beltran L. Lucas Beltrán 6 0.3 A \n", "Azzi Paulo Azzi 6 0.3 D \n", "Nandez Nahitan Nández 6 0.3 C \n", "Pavoletti Leonardo Pavoletti 6 0.3 A \n", "Makoumbou Antoine Makoumbou 6 0.3 C \n", "Dossena Alberto Dossena 6 0.3 C \n", "Strootman Kevin Strootman 6 0.3 C \n", "Bani Mattia Bani 6 0.3 D \n", "Frendrup Morten Frendrup 6 0.3 C \n", "Sabelli Stefano Sabelli 6 0.3 D \n", "Caso Giuseppe Caso 6 0.3 A \n", "Baez Jaime Báez 6 0.3 C \n", "Mulattieri Samuele Mulattieri 6 0.3 A \n", "\n", "[52 rows x 384 columns]" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rookies_data = pd.read_excel('rookies_stats/out_data/rookies_stats.xlsx', index_col = 1)\n", "\n", "rookies_data" ] }, { "cell_type": "markdown", "id": "21fef3ae", "metadata": {}, "source": [ "Players stats rework:\n", "the current season stats are averaged (according to a calculated weight) with the past season data.\n", "In case a player doesn't have past season data, a config file (affine_players) can be used to load the data from an affine player (past season), e.g. Doig affine to Lazovic.\n", "In case, after this process, the player doesn't result in having a minimum amount of games, its stats are averaged with the average Serie A (defensive) player stat, depending on the games remaining to reach the minimum amount. This allows to use players who still haven't played a single game.\n", "\n", "These modified stats are used only for prediction, not for model traning.\n", "\n", "WEIGHT_0 = weight given to the current season in respect to the previous; if the player has a low amount of games this season, the weight is lowered\n", "min_games = minimum games so that the players stats are not averaged with the avg Serie A player stats" ] }, { "cell_type": "code", "execution_count": 41, "id": "6f8707b8", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " \n", "Averaging players stats with past seasons:\n", "Szczesny 0.41758241758241765\n", "Meret 0.6877828054298643\n", "Provedel 0.6153846153846154\n", "Maignan 1\n", "Rui Patricio 0.6681318681318682\n", "Skorupski 0.632016632016632\n", "Milinkovic-Savic V. 0.6153846153846154\n", "Di Gregorio 0.47401247401247393\n", "Falcone 0.6153846153846154\n", "Silvestri 0.6153846153846154\n", "Terracciano 0.40318302387267907\n", "Carnesecchi 0.22735042735042738\n", "Montipo' 0.632016632016632\n", "Ochoa 1\n", "Consigli 0.501098901098901\n", "Musso 0.7307692307692307\n", "Cragno 1\n", "Perin 1\n", "Berisha 1\n", "Sportiello 1\n", "Mirante 1\n", "Sepe 1\n", "Lamanna 1\n", "Pegolo 1\n", "Perilli 1\n", "Padelli 1\n", "Gollini 1\n", "Perisan 0.8351648351648353\n", "Audero 0.9821538461538462\n", "Pinsoglio 1\n", "Fiorillo 1\n", "Cerofolini 1\n", "Rossi F. 1\n", "Ravaglia F. 1\n", "Brancolini 1\n", "Berardi A. 1\n", "Gemello 1\n", "Boer 1\n", "Bagnolini 1\n", "Svilar 1\n", "Sorrentino A. 1\n", "Dimarco 0.3543123543123543\n", "Di Lorenzo 0.316008316008316\n", "Hernandez T. 0.3653846153846154\n", "Carlos Augusto 0.3507692307692308\n", "Danilo 0.316008316008316\n", "Zappacosta 0.5567765567765568\n", "Schuurs 0.38974358974358975\n", "Posch 0.38974358974358975\n", "Bastoni 0.40318302387267907\n", "Smalling 0.2740384615384615\n", "Dumfries 0.3438914027149321\n", "Romagnoli 0.3438914027149321\n", "Pavard 0.0 (rookie)\n", "Rrahmani 0.3023872679045092\n", "Spinazzola 0.44970414201183434\n", "Buongiorno 0.3438914027149321\n", "Bremer 0.38974358974358975\n", "Tomori 0.2657342657342657\n", "Biraghi 0.2657342657342657\n", "Mancini 0.3340659340659341\n", "Darmian 0.3771712158808933\n", "Bakker 0.21923076923076926 (rookie)\n", "Mazzocchi 0.4330484330484331\n", "Doig 0.5314685314685315\n", "Calabria 0.4676923076923077\n", "Acerbi 0.09429280397022333\n", "Cuadrado 0.29702233250620347\n", "Ebuehi 0.22485207100591717\n", "Casale 0.3023872679045092\n", "Holm 0.15346153846153848\n", "Baschirotto 0.316008316008316\n", "Bijol 0.3653846153846154\n", "Thiaw 0.5846153846153846\n", "Mario Rui 0.39860139860139854\n", "Milenkovic 0.4330484330484331\n", "Rodriguez R. 0.3340659340659341\n", "Kolasinac 0.37202797202797205 (rookie)\n", "N'dicka 0.10230769230769231 (rookie)\n", "Scalvini 0.3653846153846154\n", "Perez N. 0.3438914027149321\n", "Kristensen 0.0 (rookie)\n", "Izzo 0.29230769230769227\n", "De Vrij 0.4330484330484331\n", "Faraoni 0.38127090301003336\n", "Toloi 0.09134615384615385\n", "Kyriakopoulos 0.5115384615384616\n", "Bellanova 0.6820512820512822\n", "Mari' 0.38974358974358975\n", "Dodo' 0.3543123543123543\n", "Lucumi' 0.3543123543123543\n", "Hien 0.1826923076923077\n", "Hysaj 0.17194570135746606\n", "D'ambrosio 0.40923076923076923\n", "Luperto 0.3247863247863248\n", "Djimsiti 0.36538461538461536\n", "Marusic 0.3543123543123543\n", "Martin 0.4384615384615385 (rookie)\n", "Mina 0.0 (rookie)\n", "Toljan 0.3771712158808933\n", "Llorente D. 1\n", "Martinez Quarta 0.21652421652421655\n", "Bastoni S. 0.16153846153846155\n", "Dragusin 0.3230769230769231 (rookie)\n", "Parisi 0.18601398601398603\n", "Bradaric 0.3771712158808933\n", "Olivera 0.38974358974358975\n", "Gendrey 0.316008316008316\n", "Kristiansen 0.5115384615384616 (rookie)\n", "Beukema 0.47218934911242605 (rookie)\n", "Dossena 0.5337792642140469 (rookie)\n", "Pedersen 0.3175066312997347 (rookie)\n", "Juan Jesus 0.7794871794871795\n", "Gyomber 0.4330484330484331\n", "Alex Sandro 0.23384615384615384\n", "Hateboer 0.0\n", "Palomino 0.19487179487179487\n", "Marchizza 1\n", "Marchizza 0.6461538461538462 (two seasons ago)\n", "Zappa 0.4676923076923077 (two seasons ago)\n", "Gallo 0.3653846153846154\n", "Caldirola 0.3771712158808933\n", "Kalulu 0.17194570135746606\n", "Erlic 0.41758241758241765\n", "Vojvoda 0.3023872679045092\n", "Vasquez 0.4910769230769231\n", "Cambiaso 0.3836538461538462\n", "Pongracic 1\n", "Viti 0.3410256410256411 (rookie)\n", "Gatti 0.3247863247863248\n", "Birindelli 0.3771712158808933\n", "Azzi 0.7673076923076924 (rookie)\n", "Masina 0.0\n", "Romagnoli S. 1\n", "Romagnoli S. 0.6461538461538462 (two seasons ago)\n", "Pezzella Giu. 0.7673076923076924\n", "Sabelli 0.3069230769230769 (rookie)\n", "Lazzari 0.20879120879120883\n", "Bani 0.37202797202797205 (rookie)\n", "Djidji 0.0\n", "Lazaro 0.38127090301003336\n", "Augello 0.24885654885654884\n", "Zortea 0.9207692307692308\n", "Zortea 0.3762046521118139 (two seasons ago)\n", "Dawidowicz 0.5083612040133779\n", "Pirola 0.3372781065088757\n", "Lovato 0.6877828054298643\n", "Ruggeri 0.7794871794871795\n", "Vina 0.47218934911242605 (two seasons ago)\n", "Obert 1 (two seasons ago)\n", "Terracciano F. 0.5846153846153846\n", "Ebosele 0.6877828054298643\n", "Patric 0.1623931623931624\n", "Lykogiannis 0.2783882783882784\n", "Pellegrini Lu. 1\n", "Pellegrini Lu. 0.6820512820512822 (two seasons ago)\n", "Magnani 0.4871794871794872\n", "Ranieri L. 0.6495726495726496\n", "Ranieri L. 0.5061947549127037 (two seasons ago)\n", "Calafiori 1 (two seasons ago)\n", "Monterisi 1 (rookie)\n", "Ismajli 0.35076923076923067\n", "De Winter 0.21923076923076926\n", "Ehizibue 0.0\n", "Ferrari G. 0.0\n", "Venuti 0.0\n", "Karsdorp 0.44970414201183434\n", "Kjaer 0.5158371040723981\n", "Gunter 0.0\n", "Soumaoro 0.0\n", "Zanoli 0.0\n", "Zima 0.3247863247863248\n", "Hefti 0.548076923076923 (two seasons ago)\n", "Ostigard 1\n", "Ostigard 1 (two seasons ago)\n", "Sambia 0.13286713286713286\n", "Rugani 0.0\n", "De Sciglio 0.0\n", "Goldaniga 0.26573426573426573 (two seasons ago)\n", "Florenzi 0.9743589743589745\n", "Florenzi 0.2560815253122945 (two seasons ago)\n", "De Silvestri 0.38974358974358975\n", "Fazio 0.41758241758241765\n", "Bereszynski 1\n", "Bereszynski 0.1753846153846154 (two seasons ago)\n", "Bonifazi 0.0\n", "Walukiewicz 0.5314685314685315\n", "Okoli 0.18054298642533936\n", "Kumbulla 0.0\n", "Celik 0.1217948717948718\n", "Amione 0.11804733727810651\n", "Daniliuc 0.0\n", "Soppy 0.20461538461538462\n", "Haps 0.0 (two seasons ago)\n", "Coppola D. 0.3076923076923077\n", "Cacace 0.4871794871794872\n", "Ebosse 0.14615384615384616\n", "Guessand A. 1\n", "Cabal 0.5314685314685315\n", "Dermaku 0.0\n", "Tonelli 0.0\n", "Tonelli 0.20879120879120883 (two seasons ago)\n", "Amey 0.0\n", "Gila 0.0\n", "Bronn 0.0\n", "Guarino 0.0\n", "Carboni F. 1\n", "Zaccagni 0.3340659340659341\n", "Koopmeiners 0.3543123543123543\n", "Luis Alberto 0.3340659340659341\n", "Felipe Anderson 0.3076923076923077\n", "Rabiot 0.3653846153846154\n", "Zielinski 0.316008316008316\n", "Barella 0.3340659340659341\n", "Pulisic 0.5115384615384616 (rookie)\n", "Orsolini 0.3653846153846154\n", "Calhanoglu 0.3543123543123543\n", "Strefezza 0.3340659340659341\n", "Chukwueze 0.3318087318087318 (rookie)\n", "Ferguson 0.3653846153846154\n", "Candreva 0.3340659340659341\n", "Frattesi 0.3410256410256411\n", "Samardzic 0.316008316008316\n", "Vlasic 0.25791855203619907\n", "Bonaventura 0.38974358974358975\n", "Politano 0.4330484330484331\n", "El Shaarawy 0.40318302387267907\n", "Mkhitaryan 0.3771712158808933\n", "Aouar 0.5754807692307693 (rookie)\n", "Malinovskyi 0.3069230769230769 (two seasons ago)\n", "Gudmundsson A. 0.3410256410256411 (rookie)\n", "Kamada 0.3836538461538462 (rookie)\n", "Pellegrini Lo. 0.1826923076923077\n", "Kostic 0.158004158004158\n", "Radonjic 0.41758241758241765\n", "Baldanzi 0.44970414201183434\n", "Lovric 0.316008316008316\n", "Lindstrom 0.0 (rookie)\n", "Lazovic 0.09743589743589744\n", "Pereyra 0.08597285067873303\n", "Renato Sanches 0.26688963210702343 (rookie)\n", "Pessina 0.3340659340659341\n", "Guendouzi 0.18601398601398603 (rookie)\n", "Loftus-Cheek 0.4910769230769231 (rookie)\n", "Zambo Anguissa 0.3247863247863248\n", "Elmas 0.24358974358974356\n", "Bajrami 0.6495726495726496\n", "Ricci S. 0.41758241758241765\n", "Colpani 0.4330484330484331\n", "Ciurria 0.3247863247863248\n", "De Roon 0.3340659340659341\n", "Pogba 0.9743589743589745\n", "Cristante 0.3247863247863248\n", "Locatelli 0.3653846153846154\n", "Pasalic 0.1826923076923077\n", "Lobotka 0.3076923076923077\n", "Fagioli 0.3372781065088757\n", "Ikone' 0.0\n", "Ilic 0.6263736263736263\n", "Ederson D.s. 0.3340659340659341\n", "Reijnders 0.3610859728506787 (rookie)\n", "Barak 0.09743589743589744\n", "Saponara 0.2116710875331565\n", "Mandragora 0.40318302387267907\n", "Weah 0.423342175066313 (rookie)\n", "Bennacer 0.0\n", "Duda 0.7794871794871795\n", "Castrovilli 0.0\n", "Mckennie 0.5567765567765568 (two seasons ago)\n", "Miranchuk 0.10583554376657825\n", "Matheus Henrique 0.38974358974358975\n", "De Ketelaere 0.3836538461538462\n", "Paredes 0.4910769230769231\n", "Sottil 0.4871794871794871\n", "Klaassen 0.0 (rookie)\n", "Thorsby 0.3507692307692308 (two seasons ago)\n", "Nandez 0.37202797202797205 (rookie)\n", "Tameze 0.1659043659043659\n", "Marin 0.2657342657342657\n", "Messias 0.0\n", "Coulibaly L. 0.08351648351648353\n", "Krunic 0.5083612040133779\n", "Cataldi 0.40318302387267907\n", "Strootman 0.3069230769230769 (rookie)\n", "Duncan 0.35076923076923067\n", "Freuler 0.10961538461538463 (rookie)\n", "Gagliardini 0.6461538461538462\n", "Kastanos 0.41758241758241765\n", "Gyasi 0.2630769230769231\n", "Zalewski 0.2657342657342657\n", "Harroui 0.4003344481605351\n", "Frendrup 0.3318087318087318 (rookie)\n", "Blin 0.3340659340659341\n", "Fabbian 0.2557692307692308 (rookie)\n", "Vecino 0.1826923076923077\n", "Sensi 0.10961538461538463\n", "Walace 0.316008316008316\n", "Lopez M. 0.20461538461538462\n", "Bove 0.39860139860139854\n", "Aebischer 0.3653846153846154\n", "Thorstvedt 0.3771712158808933\n", "Gonzalez J. 0.2505494505494505\n", "Moro N. 0.44970414201183434\n", "Oudin 0.0\n", "Makoumbou 0.3410256410256411 (rookie)\n", "Badelj 0.3438914027149321 (two seasons ago)\n", "Machin 0.0\n", "Linetty 0.3653846153846154\n", "Castillejo 0.12276923076923077 (rookie)\n", "Rovella 0.12276923076923077\n", "Pobega 0.3076923076923077\n", "Hongla 0.6495726495726496 (two seasons ago)\n", "Miretti 0.32478632478632474\n", "Fazzini 0.4175824175824175\n", "Grassi 0.35076923076923067\n", "Baez 0.7221719457013575 (rookie)\n", "Deiola 0.3543123543123543 (two seasons ago)\n", "Bourabia 0.0\n", "Saelemaekers 0.0\n", "Maldini 0.0\n", "Kovalenko 0.17051282051282055\n", "Maleh 0.3610859728506787\n", "Bohinen 0.36538461538461536\n", "Ranocchia F. 0.0\n", "Folorunsho 0.45470085470085475 (rookie)\n", "Adopo 0.6820512820512822\n", "Romero L. 0.0\n", "Basic 0.0\n", "Asllani 0.2923076923076923\n", "Sulemana I. 0.5754807692307693\n", "Gaetano 0.0\n", "Obiang 0.0\n", "Maggiore 0.1826923076923077\n", "Akpa Akpro 0.0\n", "Akpa Akpro 0.0 (two seasons ago)\n", "Urbanski 1\n", "Volpato 0.4384615384615385\n", "Volpato 1 (two seasons ago)\n", "Vignato S. 1\n", "Hrustic 0.0\n", "Viola 0.0 (two seasons ago)\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Rog 0.0 (two seasons ago)\n", "Nicolussi Caviglia 0.0\n", "Demme 0.0\n", "Pafundi 0.0\n", "Adli 0.0\n", "Zerbin 0.2923076923076923\n", "Carboni V. 1\n", "Faticanti 0.0\n", "Osimhen 0.3653846153846154\n", "Martinez L. 0.3076923076923077\n", "Rafael Leao 0.3340659340659341\n", "Lukaku 0.24553846153846154\n", "Berardi 0.22485207100591717\n", "Immobile 0.3771712158808933\n", "Vlahovic 0.4330484330484331\n", "Dybala 0.23384615384615384\n", "Kvaratskhelia 0.25791855203619907\n", "Giroud 0.3543123543123543\n", "Scamacca 0.3410256410256411 (two seasons ago)\n", "Thuram 0.40923076923076923 (rookie)\n", "Lookman 0.3771712158808933\n", "Dia 0.17715617715617715\n", "Arnautovic 0.5846153846153845\n", "Retegui 0.5846153846153845 (rookie)\n", "Sanabria 0.17715617715617715\n", "Nzola 0.396029776674938\n", "Lauriente' 0.41758241758241765\n", "Zapata D. 0.24553846153846154\n", "Chiesa 0.5567765567765568\n", "Milik 0.4330484330484331\n", "Gonzalez N. 0.4871794871794872\n", "Pinamonti 0.3653846153846154\n", "Beltran L. 0.4910769230769231 (rookie)\n", "Caprari 0.316008316008316\n", "Sanchez 0.0 (rookie)\n", "Caputo 0.5567765567765568\n", "Belotti 0.3771712158808933\n", "Muriel 0.20159151193633953\n", "Lapadula 0.0 (rookie)\n", "Jovic 0.0990074441687345\n", "Abraham 0.0\n", "Zirkzee 0.6153846153846154\n", "Ngonge 0.8351648351648353\n", "Petagna 0.0990074441687345\n", "Simeone 0.35076923076923067\n", "Deulofeu 0.0\n", "Pedro 0.24358974358974356\n", "Shomurodov 0.8184615384615385\n", "Shomurodov 0.6573550295857988 (two seasons ago)\n", "Azmoun 0.13344481605351172 (rookie)\n", "Cheddira 0.29702233250620347 (rookie)\n", "Karlsson 0.4003344481605351 (rookie)\n", "Brekalo 1\n", "Brekalo 0.3836538461538462 (two seasons ago)\n", "Cambiaghi 0.31318681318681313\n", "Henry 0.0\n", "Mulattieri 0.423342175066313 (rookie)\n", "Kean 0.20879120879120883\n", "Karamoh 0.4175824175824175\n", "Thauvin 0.7307692307692308\n", "Kouame' 0.31318681318681313\n", "Raspadori 0.4676923076923077\n", "Colombo 0.18601398601398603\n", "Luvumbo 0.0 (rookie)\n", "Mota 0.40318302387267907\n", "Bonazzoli 0.5115384615384616\n", "Djuric 0.41758241758241765\n", "Banda 0.3247863247863248\n", "Defrel 0.10826210826210828\n", "Sansone 0.0\n", "Pellegri 0.6495726495726496\n", "Piccoli 0.47218934911242605\n", "Success 0.29230769230769227\n", "Botheim 0.41758241758241765\n", "Lucca 0.876923076923077 (rookie)\n", "Caso 0.2630769230769231 (rookie)\n", "Jovane 0.0 (two seasons ago)\n", "Soule' 0.47218934911242605\n", "Pavoletti 0.4003344481605351 (rookie)\n", "Cancellieri 0.6138461538461539\n", "Seck 0.3076923076923077\n", "Alvarez A. 0.0\n", "Ekuban 0.29230769230769227 (two seasons ago)\n", "Destro 0.3438914027149321\n", "Ceide 0.46153846153846145\n", "Ake' M. 0.0 (two seasons ago)\n", "Braaf 0.0\n", "Kallon 0.0\n", "Kaio Jorge 0.0\n", "Kaio Jorge 0.0 (two seasons ago)\n", "Vivaldo 0.0\n", "Players with low quantity of games:\n", "Natan 0.0\n", "Llorente D. 0.6666666666666667\n", "Kamara H. 0.6666666666666667\n", "Pongracic 0.6666666666666667\n", "Wieteska 0.33333333333333337\n", "Lirola 0.16666666666666663\n", "Kabasele 0.6666666666666667\n", "Obert 0.5\n", "Zemura 0.5\n", "Hatzidiakos 0.16666666666666663\n", "Carboni A. 0.33333333333333337\n", "Calafiori 0.16666666666666663\n", "Monterisi 0.6666666666666667\n", "Tressoldi 0.0\n", "Vogliacco 0.0\n", "Di Pardo 0.6666666666666667\n", "Ostigard 0.5\n", "Bisseck 0.16666666666666663\n", "Oyono 0.6666666666666667\n", "Ferreira J. 0.6666666666666667\n", "Dorgu 0.6666666666666667\n", "Touba 0.16666666666666663\n", "Sazonov 0.0\n", "Pereira P. 0.5\n", "Cittadini 0.0\n", "Guessand A. 0.16666666666666663\n", "Missori 0.16666666666666663\n", "Kayode 0.16666666666666663\n", "Corazza 0.33333333333333337\n", "Kristensen T. 0.0\n", "Dermaku 0.16666666666666663\n", "Capradossi 0.0\n", "Bettella 0.0\n", "Amey 0.0\n", "Gila 0.6666666666666667\n", "Guarino 0.0\n", "Carboni F. 0.33333333333333337\n", "Smajlovic 0.0\n", "Matturro 0.0\n", "N'guessan 0.0\n", "Mateus Lusuardi 0.0\n", "Kalaj 0.0\n", "Pierozzi 0.0\n", "Huijsen 0.0\n", "Bonfanti 0.0\n", "Pellegrino 0.0\n", "Comuzzo 0.0\n", "Pogba 0.3504273504273504\n", "Ndoye 0.6666666666666667\n", "Mboula 0.5\n", "Arthur Melo 0.6666666666666667\n", "Musah 0.33333333333333337\n", "Mazzitelli 0.6666666666666667\n", "Jankto 0.5\n", "Reinier 0.0\n", "Ramadani 0.6666666666666667\n", "Cajuste 0.0\n", "Mancosu 0.0\n", "Brescianini 0.5\n", "Boloca 0.5\n", "Rafia 0.6666666666666667\n", "Kaba 0.6666666666666667\n", "Machin 0.0\n", "Iling Junior 0.0\n", "Oristanio 0.5\n", "Serdar 0.5\n", "Payero 0.16666666666666663\n", "Garritano 0.5\n", "Racic 0.33333333333333337\n", "Infantino 0.5\n", "Martegani 0.5\n", "Kutlu 0.16666666666666663\n", "Tchatchoua 0.0\n", "Quina 0.33333333333333337\n", "Adopo 0.7042735042735042\n", "Tchaouna 0.33333333333333337\n", "Barrenechea 0.6666666666666667\n", "Gelli 0.6666666666666667\n", "Suslov 0.16666666666666663\n", "Jagiello 0.0\n", "Akpa Akpro 0.0\n", "Urbanski 0.33333333333333337\n", "Volpato 0.7282051282051283\n", "Vignato S. 0.33333333333333337\n", "Zarraga 0.33333333333333337\n", "Camara E. 0.0\n", "Amatucci 0.16666666666666663\n", "Pagano 0.5\n", "Prati 0.16666666666666663\n", "Lulic K. 0.0\n", "Bondo 0.16666666666666663\n", "Carboni V. 0.33333333333333337\n", "Faticanti 0.0\n", "Gineitis 0.16666666666666663\n", "Belardinelli 0.0\n", "El Azzouzi 0.5\n", "Lipani 0.0\n", "Joselito 0.0\n", "Legowski 0.0\n", "Ibrahimovic A. 0.0\n", "Okafor 0.6666666666666667\n", "Toure' E. 0.0\n", "Krstovic 0.5\n", "Ngonge 0.9413919413919412\n", "Castellanos 0.6666666666666667\n", "Almqvist 0.6666666666666667\n", "Isaksen 0.5\n", "Brenner 0.0\n", "Davis K. 0.0\n", "Lucca 0.8717948717948717\n", "Jovane 0.0\n", "Cuni 0.5\n", "Maric 0.5\n", "Cruz 0.0\n", "Van Hooijdonk 0.16666666666666663\n", "Kvernadze 0.16666666666666663\n", "Ikwuemesi 0.5\n", "Puscas 0.0\n", "Ake' M. 0.6666666666666667\n", "Vivaldo 0.0\n", "Bidaoui 0.0\n", "Shpendi S. 0.5\n", "Burnete 0.16666666666666663\n", "Corfitzen 0.0\n", "Stewart 0.0\n", "Yildiz 0.0\n" ] } ], "source": [ "#for i in range(players.columns.shape[0]):\n", "# print(str(i) + ' - ' + players.columns[i])\n", "\n", "cols_toadapt = players.columns[9:]\n", "cols_toadapt_rookies = rookies_data.columns.intersection(cols_toadapt)\n", "\n", "players = players_orig.copy()\n", "\n", "min_games = 6\n", "\n", "current_season_games = max(10, max(players_orig['games']))\n", "\n", "# weight_0 as function of current_season_games --> 1 as match day reachs 30 ? \n", "WEIGHT_0_same_team = (1 - (1 - 0.7) * (30 - current_season_games) / (38 - 12)) # 0.7\n", "WEIGHT_0_different_team = (1 - (1 - 0.75) * (30 - current_season_games) / (38 - 12)) # 0.75\n", "WEIGHT_mul_gk = 2\n", "\n", "rcsv = pd.read_csv('config/affine_players.txt') \n", "affine_players = pd.DataFrame(rcsv)\n", "affine_players = affine_players.set_index('player')\n", "\n", "\n", "def calc_weight(games_curr, games_old, same_team = 1, maxgames = current_season_games):\n", " if(same_team):\n", " weight_0 = WEIGHT_0_same_team\n", " else:\n", " weight_0 = WEIGHT_0_different_team\n", "\n", " weight = weight_0 * (games_curr / maxgames) / (max(games_old, 1) / 38)\n", " weight = min(weight, 1)\n", "\n", " return abs(weight)\n", "\n", "print(' ')\n", "print('Averaging players stats with past seasons:')\n", "\n", "\n", "for i in range(players.shape[0]):\n", " p = players.index[i]\n", " \n", "\n", " if(p in players_old.index or p in affine_players.index):\n", " p_ = p\n", " affine = 0\n", " \n", " if(p in affine_players.index):\n", " affine = 1\n", " p_ = affine_players.loc[p]['alike']\n", " \n", " print(p + ' affine to ' + p_)\n", " \n", " if(players.loc[p]['r'] == 'P'):\n", " weight = calc_weight(players.loc[p]['gk_games'], players_old.loc[p_]['gk_games'], affine == 1 or players.loc[p]['team'] == players_old.loc[p]['team'])\n", " weight *= WEIGHT_mul_gk\n", " weight = min(weight, 1)\n", " else:\n", " weight = calc_weight(players.loc[p]['games'], players_old.loc[p_]['games'], affine == 1 or players.loc[p]['team'] == players_old.loc[p]['team'])\n", "\n", " players.at[p, cols_toadapt] = (players.loc[p][cols_toadapt] * weight + (1-weight) * players_old.loc[p_][cols_toadapt])\n", " \n", " print(p + ' ' + str(weight)) \n", " elif(p in rookies_data.index):\n", " p_ = p\n", " weight = calc_weight(players.loc[p]['games'], rookies_data.loc[p_]['games'], False)\n", " players.at[p, cols_toadapt_rookies] = (players.loc[p][cols_toadapt_rookies] * weight + (1-weight) * rookies_data.loc[p_][cols_toadapt_rookies])\n", " \n", " print(p + ' ' + str(weight) + ' (rookie)') \n", "\n", " \n", " # to handle players like Scamacca, who only played 2 seasons ago; only outfield players\n", " if(players.loc[p]['r'] != 'P' and players.loc[p]['games'] < min_games and p in players_old_2.index): \n", " weight = calc_weight(players.loc[p]['games'], players_old_2.loc[p]['games'], players.loc[p]['team'] == players_old_2.loc[p]['team'])\n", " \n", " players.at[p, cols_toadapt] = (players.loc[p][cols_toadapt] * weight + (1-weight) * players_old_2.loc[p][cols_toadapt])\n", " \n", " print(p + ' ' + str(weight) + ' (two seasons ago)')\n", " \n", " \n", "# handle players with low quantitites of games\n", "\n", "print('Players with low quantity of games:')\n", "\n", "def calc_weight_low(current_games, min_games = min_games):\n", " weight = 1 - (min_games - current_games)/min_games\n", " \n", " weight = min(weight, 1)\n", "\n", " return abs(weight)\n", "\n", "#mean_players_stats = players_orig[players_orig['games'] >= min_games][cols_toadapt].mean()\n", "\n", "\n", "# mean players stats based on old season\n", "\n", "mean_players_stats = players_orig.loc[players_orig.index[0]][cols_toadapt] * 0\n", "count = 0\n", "\n", "for i in range(players_old.shape[0]):\n", " if(players_old['games'][i] >= min_games and (players_old['r'][i] == 'D')): # counting only defenders, to add a penalty\n", " mean_players_stats += players_old.loc[players_old.index[i]][cols_toadapt]\n", " count = count + 1\n", " \n", "mean_players_stats /= count\n", "\n", "for i in range(players.shape[0]):\n", " p = players.index[i]\n", " \n", " if(players.loc[p]['games'] < min_games and players.loc[p]['r'] != 'P'):\n", " weight = calc_weight_low(players.loc[p]['games'])\n", " \n", " players.at[p, cols_toadapt] = players.loc[p][cols_toadapt] * weight + (1-weight) * mean_players_stats\n", " \n", " print(p + ' ' + str(weight))\n", " \n", " \n", "players_out = players.copy()\n", "players_out = players_out.set_index(players_out.columns[0])\n", "players_out.insert(2, 'name', players_out.index)\n", "players_out.to_excel('mid_outputs/players_stats_rwk.xlsx')\n" ] }, { "cell_type": "code", "execution_count": 15, "id": "49c28b07", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Index(['games', 'games_starts', 'minutes', 'goals', 'assists', 'pens_made',\n", " 'pens_att', 'cards_yellow', 'cards_red', 'goals_per90',\n", " ...\n", " 'gk_pct_goal_kicks_launched', 'gk_goal_kick_length_avg', 'gk_crosses',\n", " 'gk_crosses_stopped', 'gk_crosses_stopped_pct',\n", " 'gk_def_actions_outside_pen_area',\n", " 'gk_def_actions_outside_pen_area_per90', 'gk_avg_distance_def_actions',\n", " 'vote_avg', 'vote_std'],\n", " dtype='object', length=151)" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "players.columns[9:]" ] }, { "cell_type": "code", "execution_count": 16, "id": "d29102e5", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0 - matchday\n", "1 - player\n", "2 - team\n", "3 - oppteam\n", "4 - home\n", "5 - vote\n", "6 - goals\n", "7 - assists\n", "8 - cards_malus\n", "9 - fantavote\n", "10 - r\n", "11 - games\n", "12 - games_starts\n", "13 - minutes\n", "14 - shots_on_target_pct\n", "15 - goals_per_shot\n", "16 - goals_per_shot_on_target\n", "17 - passes_pct\n", "18 - aerials_won_pct\n", "19 - team_possession\n", "20 - team_goals_assists_per90\n", "21 - team_goals_pens_per90\n", "22 - team_goals_assists_pens_per90\n", "23 - team_xg_per90\n", "24 - team_gk_goals_against_per90\n", "25 - team_gk_save_pct\n", "26 - team_gk_clean_sheets_pct\n", "27 - team_passes_pct\n", "28 - team_passes_pct_medium\n", "29 - team_passes_pct_long\n", "30 - team_sca_per90\n", "31 - team_gca_per90\n", "32 - team_aerials_won_pct\n", "33 - vs_team_possession\n", "34 - vs_team_goals_per90\n", "35 - vs_team_assists_per90\n", "36 - vs_team_xg_per90\n", "37 - vs_team_gk_save_pct\n", "38 - vs_team_gk_clean_sheets_pct\n", "39 - vs_team_gk_pct_passes_launched\n", "40 - vs_team_gk_crosses_stopped_pct\n", "41 - vs_team_shots_on_target_per90\n", "42 - vs_team_passes_pct\n", "43 - vs_team_passes_pct_short\n", "44 - vs_team_passes_pct_medium\n", "45 - vs_team_passes_pct_long\n", "46 - vs_team_sca_per90\n", "47 - vs_team_gca_per90\n", "48 - vs_team_aerials_won_pct\n", "49 - opp_team_possession\n", "50 - opp_team_goals_assists_per90\n", "51 - opp_team_goals_pens_per90\n", "52 - opp_team_goals_assists_pens_per90\n", "53 - opp_team_xg_per90\n", "54 - opp_team_gk_goals_against_per90\n", "55 - opp_team_gk_save_pct\n", "56 - opp_team_gk_clean_sheets_pct\n", "57 - opp_team_passes_pct\n", "58 - opp_team_passes_pct_medium\n", "59 - opp_team_passes_pct_long\n", "60 - opp_team_sca_per90\n", "61 - opp_team_gca_per90\n", "62 - opp_team_aerials_won_pct\n", "63 - opp_vs_team_possession\n", "64 - opp_vs_team_goals_per90\n", "65 - opp_vs_team_assists_per90\n", "66 - opp_vs_team_xg_per90\n", "67 - opp_vs_team_gk_save_pct\n", "68 - opp_vs_team_gk_clean_sheets_pct\n", "69 - opp_vs_team_gk_pct_passes_launched\n", "70 - opp_vs_team_gk_crosses_stopped_pct\n", "71 - opp_vs_team_shots_on_target_per90\n", "72 - opp_vs_team_passes_pct\n", "73 - opp_vs_team_passes_pct_short\n", "74 - opp_vs_team_passes_pct_medium\n", "75 - opp_vs_team_passes_pct_long\n", "76 - opp_vs_team_sca_per90\n", "77 - opp_vs_team_gca_per90\n", "78 - opp_vs_team_aerials_won_pct\n", "79 - vote_avg\n", "80 - vote_std\n", "81 - goals.1\n", "82 - assists.1\n", "83 - cards_yellow\n", "84 - cards_red\n", "85 - xg\n", "86 - npxg\n", "87 - shots_on_target\n", "88 - passes_completed\n", "89 - passes_into_final_third\n", "90 - passes_into_penalty_area\n", "91 - progressive_passes\n", "92 - passes_live\n", "93 - passes_dead\n", "94 - through_balls\n", "95 - passes_switches\n", "96 - crosses\n", "97 - corner_kicks\n", "98 - blocks\n", "99 - blocked_shots\n", "100 - blocked_passes\n", "101 - interceptions\n", "102 - clearances\n", "103 - errors\n", "104 - touches\n", "105 - touches_def_pen_area\n", "106 - touches_def_3rd\n", "107 - touches_mid_3rd\n", "108 - touches_att_3rd\n", "109 - touches_att_pen_area\n", "110 - touches_live_ball\n", "111 - passes_received\n", "112 - miscontrols\n", "113 - dispossessed\n", "114 - fouls\n", "115 - fouled\n", "116 - aerials_won\n", "117 - aerials_lost\n", "118 - carries\n", "119 - progressive_carries\n", "120 - carries_into_final_third\n", "121 - carries_into_penalty_area\n" ] } ], "source": [ "for i in range(db.columns.shape[0]):\n", " print(str(i) + \" - \" + str(db.columns[i]))" ] }, { "cell_type": "markdown", "id": "089690d6", "metadata": {}, "source": [ "Elaborate databases data to have X and y for training, and split into a train test and a validation test.\n", "\n", "For outfield players: X -> y = [vote, fantavote]\n", "\n", "For goalkeepers: X -> y = [vote, fantavote, clean sheet probability]" ] }, { "cell_type": "code", "execution_count": 17, "id": "f19304f6", "metadata": {}, "outputs": [], "source": [ "npdb = np.array(db)\n", "\n", "y = npdb[:, [5,9]] # vote, fantavote\n", "\n", "#y[:, 1] = y[:, 1] - y[:, 0] # target = difference between fantavote and vote\n", "\n", "f_start = 14\n", "\n", "X = npdb[:, f_start:]\n", "\n", "if(DEL_G): \n", " del_g_idx = [\n", " list(db.columns).index('goals.1') - f_start,\n", " list(db.columns).index('assists.1') - f_start,\n", " list(db.columns).index('xg') - f_start,\n", " list(db.columns).index('npxg') - f_start,\n", " list(db.columns).index('shots_on_target') - f_start]\n", " \n", " X[:, del_g_idx] = 0\n", "\n", "\n", "# add role and home factor\n", "toadd = np.zeros((X.shape[0], 4))\n", "toadd[:, 0] = npdb[:, 4] # home\n", "\n", "toadd[:, 1] = npdb[:, 10] == 'D'\n", "toadd[:, 2] = npdb[:, 10] == 'C'\n", "toadd[:, 3] = npdb[:, 10] == 'A'\n", "\n", "X = np.concatenate((X, toadd), axis = 1)\n", "\n" ] }, { "cell_type": "code", "execution_count": 18, "id": "370d41d2", "metadata": {}, "outputs": [], "source": [ "scaler = StandardScaler()\n", "scaler.fit(X)\n", "\n", "X_train_, X_test_, y_train, y_test = train_test_split(X, y, test_size = 0.2, random_state = 12)\n", "\n", "X_train = scaler.transform(X_train_)\n", "X_test = scaler.transform(X_test_)" ] }, { "cell_type": "code", "execution_count": 19, "id": "a7b1fb52", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0 - matchday\n", "1 - player\n", "2 - team\n", "3 - oppteam\n", "4 - home\n", "5 - vote\n", "6 - goals\n", "7 - assists\n", "8 - cards_malus\n", "9 - fantavote\n", "10 - gk_games\n", "11 - gk_games_starts\n", "12 - gk_minutes\n", "13 - gk_goals_against_per90\n", "14 - gk_save_pct\n", "15 - gk_clean_sheets_pct\n", "16 - gk_psxg_net_per90\n", "17 - gk_passes_pct_launched\n", "18 - gk_pct_passes_launched\n", "19 - gk_passes_length_avg\n", "20 - gk_pct_goal_kicks_launched\n", "21 - gk_goal_kick_length_avg\n", "22 - gk_crosses_stopped_pct\n", "23 - gk_def_actions_outside_pen_area_per90\n", "24 - gk_avg_distance_def_actions\n", "25 - team_possession\n", "26 - team_goals_assists_per90\n", "27 - team_goals_pens_per90\n", "28 - team_goals_assists_pens_per90\n", "29 - team_xg_per90\n", "30 - team_gk_goals_against_per90\n", "31 - team_gk_save_pct\n", "32 - team_gk_clean_sheets_pct\n", "33 - team_passes_pct\n", "34 - team_passes_pct_medium\n", "35 - team_passes_pct_long\n", "36 - team_sca_per90\n", "37 - team_gca_per90\n", "38 - team_aerials_won_pct\n", "39 - vs_team_possession\n", "40 - vs_team_goals_per90\n", "41 - vs_team_assists_per90\n", "42 - vs_team_xg_per90\n", "43 - vs_team_gk_save_pct\n", "44 - vs_team_gk_clean_sheets_pct\n", "45 - vs_team_gk_pct_passes_launched\n", "46 - vs_team_gk_crosses_stopped_pct\n", "47 - vs_team_shots_on_target_per90\n", "48 - vs_team_passes_pct\n", "49 - vs_team_passes_pct_short\n", "50 - vs_team_passes_pct_medium\n", "51 - vs_team_passes_pct_long\n", "52 - vs_team_sca_per90\n", "53 - vs_team_gca_per90\n", "54 - vs_team_aerials_won_pct\n", "55 - opp_team_possession\n", "56 - opp_team_goals_assists_per90\n", "57 - opp_team_goals_pens_per90\n", "58 - opp_team_goals_assists_pens_per90\n", "59 - opp_team_xg_per90\n", "60 - opp_team_gk_goals_against_per90\n", "61 - opp_team_gk_save_pct\n", "62 - opp_team_gk_clean_sheets_pct\n", "63 - opp_team_passes_pct\n", "64 - opp_team_passes_pct_medium\n", "65 - opp_team_passes_pct_long\n", "66 - opp_team_sca_per90\n", "67 - opp_team_gca_per90\n", "68 - opp_team_aerials_won_pct\n", "69 - opp_vs_team_possession\n", "70 - opp_vs_team_goals_per90\n", "71 - opp_vs_team_assists_per90\n", "72 - opp_vs_team_xg_per90\n", "73 - opp_vs_team_gk_save_pct\n", "74 - opp_vs_team_gk_clean_sheets_pct\n", "75 - opp_vs_team_gk_pct_passes_launched\n", "76 - opp_vs_team_gk_crosses_stopped_pct\n", "77 - opp_vs_team_shots_on_target_per90\n", "78 - opp_vs_team_passes_pct\n", "79 - opp_vs_team_passes_pct_short\n", "80 - opp_vs_team_passes_pct_medium\n", "81 - opp_vs_team_passes_pct_long\n", "82 - opp_vs_team_sca_per90\n", "83 - opp_vs_team_gca_per90\n", "84 - opp_vs_team_aerials_won_pct\n", "85 - vote_avg\n", "86 - vote_std\n", "87 - gk_shots_on_target_against\n", "88 - gk_saves\n", "89 - gk_free_kick_goals_against\n", "90 - gk_corner_kick_goals_against\n", "91 - gk_own_goals_against\n", "92 - gk_psxg\n", "93 - gk_psnpxg_per_shot_on_target_against\n", "94 - gk_psxg_net\n", "95 - gk_passes_completed_launched\n", "96 - gk_passes_launched\n", "97 - gk_passes\n", "98 - gk_passes_throws\n", "99 - gk_goal_kicks\n", "100 - gk_crosses\n", "101 - gk_crosses_stopped\n" ] } ], "source": [ "for i in range(db_gk.columns.shape[0]):\n", " print(str(i) + \" - \" + str(db_gk.columns[i]))" ] }, { "cell_type": "code", "execution_count": 20, "id": "5a7cf079", "metadata": {}, "outputs": [], "source": [ "npdb_gk= np.array(db_gk)\n", "\n", "y_gk = npdb_gk[:, [5,9,6]] # vote, fantavote, goals == 0 (clean sheet)\n", "y_gk[:, 2] = (y_gk[:, 2] == 0) * 1\n", "\n", "f_start_gk = 13\n", "\n", "X_gk = npdb_gk[:, f_start_gk:]\n", "\n", "# add home factor\n", "toadd_gk = np.zeros((X_gk.shape[0], 1))\n", "toadd_gk[:, 0] = npdb_gk[:, 4] # home\n", "\n", "X_gk = np.concatenate((X_gk, toadd_gk), axis = 1)\n", "\n" ] }, { "cell_type": "code", "execution_count": 21, "id": "0bc0568b", "metadata": {}, "outputs": [], "source": [ "scaler_gk = StandardScaler()\n", "scaler_gk.fit(X_gk)\n", "\n", "X_gk_train_, X_gk_test_, y_gk_train, y_gk_test = train_test_split(X_gk, y_gk, test_size = 0.2, random_state = 18)\n", "\n", "X_gk_train = scaler_gk.transform(X_gk_train_)\n", "X_gk_test = scaler_gk.transform(X_gk_test_)" ] }, { "cell_type": "markdown", "id": "ebd27493", "metadata": {}, "source": [ "MLP Regressor , to see performance of a simple neural network" ] }, { "cell_type": "code", "execution_count": 19, "id": "04564bee", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\nicol\\anaconda3\\lib\\site-packages\\sklearn\\neural_network\\_multilayer_perceptron.py:549: ConvergenceWarning: lbfgs failed to converge (status=2):\n", "ABNORMAL_TERMINATION_IN_LNSRCH.\n", "\n", "Increase the number of iterations (max_iter) or scale the data as shown in:\n", " https://scikit-learn.org/stable/modules/preprocessing.html\n", " self.n_iter_ = _check_optimize_result(\"lbfgs\", opt_res, self.max_iter)\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "0.15507286428738876\n", "0.18856961333473798\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "0.1354212153815001\n", "0.17392551015116653\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "regr = MLPRegressor(max_iter = 400000, solver = 'lbfgs', hidden_layer_sizes = (8, 8), alpha = 500, verbose = True)\n", "\n", "regr.fit(X_train, y_train)\n", "\n", "\n", "y_train_predict = regr.predict(X_train)\n", "\n", "plt.plot([0, 20], [0, 20])\n", "\n", "plt.scatter(y_train[:, 0], y_train_predict[:, 0], color = 'orange', edgecolors = 'black', s = 20)\n", "plt.scatter(y_train[:, 1], y_train_predict[:, 1], color = 'green', edgecolors = 'black', s = 20)\n", "\n", "print(r2_score(y_train[:, 0], y_train_predict[:, 0]))\n", "print(r2_score(y_train[:, 1], y_train_predict[:, 1]))\n", "\n", "\n", "plt.show()\n", "\n", "y_test_predict = regr.predict(X_test)\n", "\n", "plt.plot([0, 20], [0, 20])\n", "\n", "plt.scatter(y_test[:, 0], y_test_predict[:, 0], color = 'orange', edgecolors = 'black', s = 20)\n", "plt.scatter(y_test[:, 1], y_test_predict[:, 1], color = 'green', edgecolors = 'black', s = 20)\n", "\n", "print(r2_score(y_test[:, 0], y_test_predict[:, 0]))\n", "print(r2_score(y_test[:, 1], y_test_predict[:, 1]))\n", "\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "f9513b25", "metadata": {}, "source": [ "Train neural network for outfield players.\n", "\n", "The outputs of the NN are probability distribution of SinhArcsinh type (a skewed distribution, which is a generalization of Gaussian)" ] }, { "cell_type": "code", "execution_count": 22, "id": "8aad9652", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Epoch 1/1000\n", "94/94 [==============================] - 4s 9ms/step - loss: 2.1251 - distribution_lambda_loss: 0.8284 - distribution_lambda_1_loss: 1.2967 - val_loss: 2.0962 - val_distribution_lambda_loss: 0.8157 - val_distribution_lambda_1_loss: 1.2804\n", "Epoch 2/1000\n", "94/94 [==============================] - 0s 3ms/step - loss: 2.1244 - distribution_lambda_loss: 0.8284 - distribution_lambda_1_loss: 1.2960 - val_loss: 2.1000 - val_distribution_lambda_loss: 0.8174 - val_distribution_lambda_1_loss: 1.2826\n", "Epoch 3/1000\n", "94/94 [==============================] - 0s 3ms/step - loss: 2.1246 - distribution_lambda_loss: 0.8271 - distribution_lambda_1_loss: 1.2976 - val_loss: 2.1027 - val_distribution_lambda_loss: 0.8194 - val_distribution_lambda_1_loss: 1.2832\n", "Epoch 4/1000\n", "94/94 [==============================] - 0s 3ms/step - loss: 2.1244 - distribution_lambda_loss: 0.8265 - distribution_lambda_1_loss: 1.2978 - val_loss: 2.1046 - val_distribution_lambda_loss: 0.8192 - val_distribution_lambda_1_loss: 1.2854\n", "Epoch 5/1000\n", "94/94 [==============================] - 0s 3ms/step - loss: 2.1229 - distribution_lambda_loss: 0.8260 - distribution_lambda_1_loss: 1.2969 - val_loss: 2.1029 - val_distribution_lambda_loss: 0.8188 - val_distribution_lambda_1_loss: 1.2841\n", "Epoch 6/1000\n", "94/94 [==============================] - 0s 3ms/step - loss: 2.1190 - distribution_lambda_loss: 0.8258 - distribution_lambda_1_loss: 1.2932 - val_loss: 2.1034 - val_distribution_lambda_loss: 0.8197 - val_distribution_lambda_1_loss: 1.2837\n", "Epoch 7/1000\n", "94/94 [==============================] - 0s 3ms/step - loss: 2.1207 - distribution_lambda_loss: 0.8258 - distribution_lambda_1_loss: 1.2949 - val_loss: 2.1039 - val_distribution_lambda_loss: 0.8194 - val_distribution_lambda_1_loss: 1.2845\n", "Epoch 8/1000\n", "94/94 [==============================] - 0s 3ms/step - loss: 2.1272 - distribution_lambda_loss: 0.8285 - distribution_lambda_1_loss: 1.2987 - val_loss: 2.1043 - val_distribution_lambda_loss: 0.8193 - val_distribution_lambda_1_loss: 1.2851\n", "Epoch 9/1000\n", "94/94 [==============================] - 0s 3ms/step - loss: 2.1213 - distribution_lambda_loss: 0.8262 - distribution_lambda_1_loss: 1.2951 - val_loss: 2.1100 - val_distribution_lambda_loss: 0.8225 - val_distribution_lambda_1_loss: 1.2874\n", "Epoch 10/1000\n", "94/94 [==============================] - 0s 3ms/step - loss: 2.1201 - distribution_lambda_loss: 0.8256 - distribution_lambda_1_loss: 1.2945 - val_loss: 2.1039 - val_distribution_lambda_loss: 0.8196 - val_distribution_lambda_1_loss: 1.2843\n", "Epoch 11/1000\n", "94/94 [==============================] - 0s 2ms/step - loss: 2.1259 - distribution_lambda_loss: 0.8294 - distribution_lambda_1_loss: 1.2965 - val_loss: 2.1056 - val_distribution_lambda_loss: 0.8199 - val_distribution_lambda_1_loss: 1.2857\n" ] } ], "source": [ "load_model_of = True# load scaler and model weights for outfield player predictor\n", "refit_model_of = True\n", "\n", "if(load_model_of):\n", " scaler = pickle.load(open('saves/scaler.pkl', 'rb'))\n", " \n", " X_train = scaler.transform(X_train_)\n", " X_test = scaler.transform(X_test_)\n", "\n", "\n", "n_epochs = 1000\n", "\n", "n_samples = X_train.shape[0]\n", "\n", "batch_size = 256\n", "\n", "X_len = X_train.shape[1]\n", "y_len = y_train.shape[1]\n", "\n", "\n", "#tailweight_param = 1.1\n", "\n", "tailweight_min = 0.5\n", "tailweight_range = 1.2\n", "\n", "\n", "callback = tf.keras.callbacks.EarlyStopping(monitor='val_loss', patience = 10)\n", "neg_log_likelihood = lambda x, rv_x: -rv_x.log_prob(x)\n", "\n", "\n", "inputs = tfk.layers.Input(shape=(X_len,), name=\"input\")\n", "x = tfk.layers.Dropout(0.2)(inputs)\n", "x = tfk.layers.Dense(16, activation=\"relu\") (x)\n", "x = tfk.layers.Dropout(0.2)(x)\n", "x = tfk.layers.Dense(16, activation=\"relu\") (x)\n", "\n", "\n", "prob_dist_params = 4\n", "\n", "def prob_dist(t): \n", " return tfp.distributions.SinhArcsinh(loc=t[..., 0], scale=1e-3 + tf.math.softplus(t[..., 1]), skewness = t[..., 2], \n", " tailweight = tailweight_min + tailweight_range * tf.math.sigmoid(t[..., 3]),\n", " allow_nan_stats = False)\n", "\n", "x1 = tfk.layers.Dense(8, activation=\"sigmoid\")(x)\n", "x1 = tfk.layers.Dense(prob_dist_params, activation=\"linear\")(x1)\n", "out_1 = tfp.layers.DistributionLambda(prob_dist)(x1)\n", "\n", "x2 = tfk.layers.Dense(8, activation=\"sigmoid\")(x)\n", "x2 = tfk.layers.Dense(prob_dist_params, activation=\"linear\")(x2)\n", "out_2 = tfp.layers.DistributionLambda(prob_dist)(x2)\n", "\n", "\n", "modelb = tf.keras.Model(inputs, [out_1, out_2])\n", "\n", "modelb.compile(optimizer=tf.keras.optimizers.Nadam(learning_rate = 0.001), \n", " loss=neg_log_likelihood)\n", "\n", "if(load_model_of):\n", " modelb.load_weights('saves/modelb')\n", " \n", "if( (not load_model_of) or refit_model_of):\n", " modelb.fit(X_train.astype('float32'), [y_train[:, 0].astype('float32'), y_train[:, 1].astype('float32')], \n", " validation_data = (X_test.astype('float32'), [y_test[:, 0].astype('float32'), y_test[:, 1].astype('float32')]),\n", " batch_size = batch_size, shuffle = True, epochs=n_epochs, verbose=True, callbacks = [callback])" ] }, { "cell_type": "code", "execution_count": 23, "id": "4e2bf9dc", "metadata": {}, "outputs": [], "source": [ "def sample_predict(X, iterations = 100):\n", " y = np.zeros((2, X.shape[0]))\n", " \n", " dist = modelb(X)\n", " \n", " for i in range(iterations):\n", " y[0, :] += dist[0].sample()\n", " y[1, :] += dist[1].sample()\n", " \n", " return y.transpose() / iterations\n", " " ] }, { "cell_type": "code", "execution_count": 24, "id": "c2674211", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.14232313843838407\n", "0.16748424431848907\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiwAAAGdCAYAAAAxCSikAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAAB61ElEQVR4nO3deXhTVfoH8G/SJS2lLbSlG7SlIAVZBFp2WUWWqgy4gWzqjDOCKKKMg+Iy6qigjs6oIKCOP1FBREUWZd8RQYQugGxlL0tL6b5A0za5vz9ucntvkpsmpSFp+/08T5+2yc3NydKeN+e85z0aQRAEEBEREXkwrbsbQERERFQTBixERETk8RiwEBERkcdjwEJEREQejwELEREReTwGLEREROTxGLAQERGRx2PAQkRERB7P290NqCtGoxGXL19GYGAgNBqNu5tDREREDhAEASUlJYiOjoZWqz6O0mAClsuXLyMmJsbdzSAiIqJauHDhAlq1aqV6fYMJWAIDAwGIDzgoKMjNrSEiIiJHFBcXIyYmRurH1TSYgMU8DRQUFMSAhYiIqJ6pKZ2DSbdERETk8RiwEBERkcdjwEJEREQejwELEREReTwGLEREROTxGLAQERGRx2PAQkRERB6PAQsRERF5PAYsRERE5PGcCljmzp2Lnj17IjAwEOHh4RgzZgxOnDihOEYQBLz22muIjo6Gv78/Bg8ejCNHjtR47hUrVqBjx47Q6XTo2LEjVq5c6dwjISIiogbLqYBl586dePLJJ/Hbb79h8+bNqKqqwvDhw1FWViYd8+677+I///kP5s+fj/379yMyMhLDhg1DSUmJ6nn37t2LcePGYfLkyTh48CAmT56MsWPHYt++fbV/ZERERNRgaARBEGp746tXryI8PBw7d+7EwIEDIQgCoqOj8cwzz+D5558HAOj1ekREROCdd97BlClTbJ5n3LhxKC4uxvr166XLRo4ciebNm2PZsmUOtaW4uBjBwcEoKiriXkJERET1hKP99w3lsBQVFQEAQkJCAABnz55FdnY2hg8fLh2j0+kwaNAg7NmzR/U8e/fuVdwGAEaMGGH3Nnq9HsXFxYovIiKixqy4vBJTv07Broyr7m5Knat1wCIIAmbOnIn+/fujc+fOAIDs7GwAQEREhOLYiIgI6TpbsrOznb7N3LlzERwcLH3FxMTU9qEQERHVeyeySzB6/q/YcCQb//jhIMorDe5uUp2qdcDy1FNP4dChQzanbCy3iBYEocZto529zezZs1FUVCR9XbhwwYnWExERNRxrDl7GmI9/xdncMkQH++HTyT3g5+Pl7mbVKe/a3Gj69OlYs2YNdu3ahVatWkmXR0ZGAhBHTKKioqTLc3JyrEZQ5CIjI61GU2q6jU6ng06nq03ziYiIGoRKgxFz1x3H//16FgBw+y2h+Oih7ght2vD6R6dGWARBwFNPPYUff/wR27ZtQ3x8vOL6+Ph4REZGYvPmzdJlFRUV2LlzJ/r166d63r59+ypuAwCbNm2yexsiIqLGLKekHBM/2ycFK9MGt8VXf+ndIIMVwMkRlieffBLffPMNVq9ejcDAQGlUJDg4GP7+/tBoNHjmmWcwZ84ctGvXDu3atcOcOXPQpEkTTJgwQTrPww8/jJYtW2Lu3LkAgBkzZmDgwIF45513MHr0aKxevRpbtmzB7t276/ChEhERNQz7z+XjyaWpyCnRI1DnjffGdsWITpHubpZLORWwLFy4EAAwePBgxeVffPEFHn30UQDArFmzcP36dUybNg0FBQXo3bs3Nm3ahMDAQOn4zMxMaLXVgzv9+vXDt99+i5dffhmvvPIK2rZti+XLl6N37961fFhEREQNjyAIWLznHN5aewxVRgEJEU2xaFIS2rRo6u6mudwN1WHxJKzDQkREDdm1iirM/vEwVqdfBgDcc1sU3rn/NgToapWO6jEc7b/r96MkIiJqBM7mlmHq1yk4caUEXloNXrzrVvzl9tY1rsBtSBiwEBERebDNR69g5vJ0lOirENZUhwUTE9ErPsTdzbrpGLAQERF5IINRwH83Z2D+9lMAgB5xzfHxxEREBPm5uWXuwYCFiIjIw+SXVWDGt2n45WQuAODRfq3x0t23wsfrhnbUqdcYsBAREXmQQxcL8cSSVFwqvA5/Hy+8fX8XjO7W0t3NcjsGLERERB5i+f5MvLL6CCqqjGgd2gSLJiehQyRXvgIMWIiIiNyuvNKA19Ycwbf7xX3x7rw1HO+P7YZgfx83t8xzMGAhIiJyo4sF1zBtaSoOXSyCRgM8N7w9nhjUFlpt41my7AgGLERERG7yy8mreHpZGgquVaJ5Ex98+FB3DExo4e5meSQGLERERDeZ0Shg4c7TeG/TCQgC0KVlMBZOSkSr5k3c3TSPxYCFiIjoJiour8TfvzuIzUevAADG9YjB66M7wc/Hy80t82wMWIiIiG6SE9klmPL1AZzLuwZfLy3+NboTHuoV6+5m1QsMWIiIiG6C1emX8MKKw7heaUDLZv5YMDERXWOaubtZ9QYDFiIiIheqNBgxZ90xfPHrOQDAgHZh+PCh7ggJ8HVvw+oZBixEREQuklNcjmlLU3HgfAEA4MkhbTFzWHt4ccmy0xiwEBERucDvZ/Px5DepuFqiR6DOG++P7YrhnSLd3ax6iwELERFRHRIEAV/8eg5z1h1DlVFAQkRTLJqUhDYtmrq7afUaAxYiIqI6cq2iCi+sOIw1By8DAP7UNRpv398FTXzZ3d4oPoNERER14GxuGaZ+nYITV0rgrdXgpbtvxaP9WkOjYb5KXWDAQkREdIM2HcnG3787iBJ9FVoE6rBgYiJ6tg5xd7MaFAYsREREtWQwCnh/0wks2HEaANCzdXN8PCER4UF+bm5Zw8OAhYiIqBbyyyrw9LI07D6VCwD48+2t8eJdt8LHS+vmljVMDFiIiIicdPBCIaYtTcWlwuvw9/HC2/d3wehuLd3drAaNAQsREZETvv09E/9cfQQVBiPiwwKwaFIS2kcGurtZDR4DFiIiIgeUVxrw6uojWH7gAgBgWMcIvD+2K4L8fNzcssaBAQsREVENLuRfw7SlqTh8qQhaDfD34e3xxKC20LLE/k3DgIWIiMiOXRlX8fS3aSi8VonmTXzw0fjuGNCuhbub1egwYCEiIrLBaBSwYMcpvL85A4IA3NYqGAsmJqJV8ybublqjxICFiIjIQtH1Svz9u4PYcuwKAGB8rxi8OqoT/Hy83NyyxosBCxERkczx7GJM/ToF5/KuwddbizdGd8K4nrHublajx4CFiIjIZHX6JTy/4hDKK41o2cwfCycl4rZWzdzdLALgdDm+Xbt2YdSoUYiOjoZGo8GqVasU12s0Gptf//73v1XPuXjxYpu3KS8vd/oBEREROauiyojX1hzBjG/TUV5pxIB2Yfhpen8GKx7E6RGWsrIydO3aFX/+859x//33W12flZWl+H39+vV47LHHbB4rFxQUhBMnTigu8/PjXgxERORaV4rL8eTSVBw4XwAAeGrILXh2WAK8uGTZozgdsCQnJyM5OVn1+sjISMXvq1evxpAhQ9CmTRu759VoNFa3JSIicqXfz+bjyW9ScbVEj0CdN/4zrhuGdYxwd7PIBpfmsFy5cgVr167Fl19+WeOxpaWliIuLg8FgQLdu3fDGG2+ge/fuqsfr9Xro9Xrp9+Li4jppMxERNXyCIOD/fj2HOeuOwWAU0D4iEIsmJyE+LMDdTSMVLt1S8ssvv0RgYCDuu+8+u8d16NABixcvxpo1a7Bs2TL4+fnh9ttvx8mTJ1VvM3fuXAQHB0tfMTExdd18IiJqgMr0VZi+LA1v/HwUBqOA0d2isfLJfgxWPJxGEASh1jfWaLBy5UqMGTPG5vUdOnTAsGHDMG/ePKfOazQakZiYiIEDB+Kjjz6yeYytEZaYmBgUFRUhKCjIqfsjIqLG4czVUkxdkoKMK6Xw1mrw8t234pF+raHRMF/FXYqLixEcHFxj/+2yKaFffvkFJ06cwPLly52+rVarRc+ePe2OsOh0Ouh0uhtpIhERNSIbj2Tj798dRKm+Ci0CdVgwMRE9W4e4u1nkIJcFLJ9//jmSkpLQtWtXp28rCALS09PRpUsXF7SMiIgaE4NRwHubTmDhjtMAgF6tQzB/QneEB3Elan3idMBSWlqKU6dOSb+fPXsW6enpCAkJQWysWAmwuLgY33//Pd5//32b53j44YfRsmVLzJ07FwDw+uuvo0+fPmjXrh2Ki4vx0UcfIT09HR9//HFtHhMREREAIK9UjxnfpmP3qVwAwGP94/FCcgf4eLk0hZNcwOmA5cCBAxgyZIj0+8yZMwEAjzzyCBYvXgwA+PbbbyEIAsaPH2/zHJmZmdBqq98shYWFePzxx5GdnY3g4GB0794du3btQq9evZxtHhEREQAg/UIhpi1JweWicvj7eOGdB27Dn7pGu7tZVEs3lHTrSRxN2iEiooZNEAQs+/0CXltzBBUGI+LDAvDJ5CQkRAS6u2lkg9uTbomIiG628koD/rn6D3x34CIAYHjHCLw3tiuC/Hzc3DK6UQxYiIioQbiQfw1PLE3BH5eKodUAz41oj6kD20LLEvsNAgMWIiKq93ZmXMWMb9NQeK0SIQG++Oih7ujfLszdzaI6xICFiIjqLaNRwMfbT+E/WzIgCEDXVsFYMCkJLZv5u7tpVMcYsBARUb1UdL0SM5enY+vxHADA+F6xeHVUR/j5eLm5ZeQKDFiIiKjeOZZVjKlLUnA+7xp8vbV4c3RnjO3JPeUaMgYsRERUr6xKu4QXfjyE8kojWjbzx6JJSejSKtjdzSIXY8BCRET1QkWVEXPWHcPiPecAAAMTWuDDcd3QPMDXvQ2jm4IBCxERebwrxeWYtjQVKecLAABP33ELZtyZAC8uWW40GLAQEZFH++1MHp76Jg25pXoE+nnjv2O74c6OEe5uFt1kDFiIiMgjCYKAz3efxdz1x2EwCugQGYhFk5LQOizA3U0jN2DAQkREHqdMX4VZKw5h7aEsAMDobtGYe18XNPFlt9VY8ZUnIiKPcvpqKaZ+nYKTOaXw1mrwyj0d8XDfOGg0zFdpzBiwEBGRx9jwRzae+/4gSvVVCA/UYeGkRCTFhbi7WeQBGLAQEZHbVRmMeG9TBhbtPA0A6BUfgvkTuiM80M/NLSNPwYCFiIjcKq9Uj+nL0rDndB4A4K/94/F8cgf4eGnd3DLyJAxYiIjIbdIvFOKJJSnIKipHE18vvHP/bRjVNdrdzSIPxICFiIhuOkEQsOz3C3htzRFUGIxoExaARZOTkBAR6O6mkYdiwEJERDdVeaUBr6z6A9+nXAQAjOgUgfce7IpAPx83t4w8GQMWIiK6aS7kX8PUJSk4crkYWg3wjxEdMHVQGy5ZphoxYCEioptix4kczPg2HUXXKxES4It547vj9lvC3N0sqicYsBARkUsZjQLmbz+F/27JgCAAXVsFY8GkJLRs5u/uplE9woCFiIhcpuh6JWYuT8fW4zkAgAm9Y/HqqI7QeXu5uWVU3zBgISIilziWVYypS1JwPu8afL21eHNMZ4ztEePuZlE9xYCFiIjq3Mq0i5j942GUVxrRqrk/Fk1KQueWwe5uFtVjDFiIiKjOVFQZ8ebao/hq73kAwMCEFvhwXDc0D/B1c8uovmPAQkREdSK7qBzTlqYgNbMQAPD0Hbdgxp0J8NJyyTLdOAYsRER0w347k4envklFbmkFAv288cG4bhh6a4S7m0UNCAMWIiKqNUEQ8Pnus5i7/jgMRgEdIgOxaFISWocFuLtp1MAwYCEiolop1Vfh+R8OYe3hLADAvd1bYs69XeDvyyXLVPcYsBARkdNO5ZRi6pIUnMophbdWg3+O6ojJfeJYYp9cRuvsDXbt2oVRo0YhOjoaGo0Gq1atUlz/6KOPQqPRKL769OlT43lXrFiBjh07QqfToWPHjli5cqWzTSMioptgwx9ZGPPxrziVU4qIIB2WT+mDh/u2ZrBCLuV0wFJWVoauXbti/vz5qseMHDkSWVlZ0te6devsnnPv3r0YN24cJk+ejIMHD2Ly5MkYO3Ys9u3b52zziIjIRaoMRsxdfwxTl6SiVF+FXvEh+Gl6fyTFhbi7adQIaARBEGp9Y40GK1euxJgxY6TLHn30URQWFlqNvNgzbtw4FBcXY/369dJlI0eORPPmzbFs2TKHzlFcXIzg4GAUFRUhKCjI4fsmIqKa5Zbq8fSyNOw5nQcA+Gv/eDyf3AE+Xk5/7iVScLT/dsk7bceOHQgPD0dCQgL+9re/IScnx+7xe/fuxfDhwxWXjRgxAnv27FG9jV6vR3FxseKLiIjqXlpmAUbN2409p/PQxNcL8yd0x8v3dGSwQjdVnb/bkpOTsXTpUmzbtg3vv/8+9u/fjzvuuAN6vV71NtnZ2YiIUK7Xj4iIQHZ2tupt5s6di+DgYOkrJob7UxAR1SVBELDkt/MY98lvyCoqR5sWAVj95O2457ZodzeNGqE6XyU0btw46efOnTujR48eiIuLw9q1a3Hfffep3s4yWUsQBLsJXLNnz8bMmTOl34uLixm0EBHVkfJKA15a+QdWpF4EAIzsFIl/P3gbAv183Nwyaqxcvqw5KioKcXFxOHnypOoxkZGRVqMpOTk5VqMucjqdDjqdrs7aSUREogv51zDl6xQczSqGVgPMGtkBUwa24SogciuXT0Dm5eXhwoULiIqKUj2mb9++2Lx5s+KyTZs2oV+/fq5uHhERyWw/kYN75u3G0axihAT4YsljvTF1UFsGK+R2To+wlJaW4tSpU9LvZ8+eRXp6OkJCQhASEoLXXnsN999/P6KionDu3Dm8+OKLCAsLw7333ivd5uGHH0bLli0xd+5cAMCMGTMwcOBAvPPOOxg9ejRWr16NLVu2YPfu3XXwEImIqCZGo4B5207hg60ZEASga0wzLJyYiOhm/u5uGhGAWgQsBw4cwJAhQ6TfzXkkjzzyCBYuXIjDhw/jq6++QmFhIaKiojBkyBAsX74cgYGB0m0yMzOh1VYP7vTr1w/ffvstXn75Zbzyyito27Ytli9fjt69e9/IYyMiIgcUXavEs9+lY9txcUXnxN6x+OeojtB5s8Q+eY4bqsPiSViHhYjIeUcuF+GJJanIzL8GnbcWb47pjAd7cAED3TyO9t/cS4iIqJH6MfUiZv94GPoqI1o198eiSUno3DLY3c0isokBCxFRI1NRZcQbPx/F17+dBwAMSmiBDx/qhmZNfN3cMiJ1DFiIiBqR7KJyPLE0BWmZhQCAGUPb4emh7eCl5Sog8mwMWIiIGom9p/MwfVkqcksrEOTnjQ8e6oY7OqjXuyLyJAxYiIgaOEEQ8NkvZ/DOhhMwGAXcGhWERZMSERca4O6mETmMAQsRUQNWqq/CrB8OYt1hsZr4fd1b4q17u8Dfl0uWqX5hwEJE1ECdyinFlK8P4PTVMvh4afDPezpiUp84Vq2leokBCxFRA7T+cBae+/4gyioMiAjSYcHEJCTFNXd3s4hqjQELEVEDUmUw4t8bT+CTXWcAAL3jQzB/QiJaBHKzWKrfGLAQETUQuaV6TP8mDXvP5AEAHh/YBrNGtIe3l8v3uSVyOQYsREQNQGpmAaYtSUV2cTkCfL3w7we74q4uUe5uFlGdYcBCRFSPCYKAJfsy8a+fjqDSIKBNiwB8OjkJt4QH1nxjonqEAQsRUT1VXmnASyv/wIrUiwCA5M6RePeB2xDo5+PmlhHVPQYsRET1UGbeNUxdkoKjWcXQaoDnR3bA4wPbcMkyNVgMWIiI6pntx3PwzPJ0FF2vRGiAL+ZN6I5+bcPc3Swil2LAQkRUTxiNAj7cehIfbTsJQQC6xTTDwkmJiAr2d3fTiFyOAQsRUT1QeK0Czy5Px/YTVwEAk/rE4pV7OkLnzRL71DgwYCEi8nBHLhdh6pIUXMi/Dp23Fm/d2wUPJLVyd7OIbioGLEREHmxFykW8uPIw9FVGxIT4Y9GkJHSKDnZ3s4huOgYsREQeSF9lwBs/H8WS3zIBAEPat8AH47ojuAmXLFPjxICFiMjDZBVdxxNLUpF+oRAaDTBjaDs8fUc7aLVcskyNFwMWIiIPsud0LqZ/k4a8sgoE+Xnjw4e6Y0iHcHc3i8jtGLAQEXkAQRDw6a4zeGfDcRgF4NaoIHwyKQmxoU3c3TQij8CAhYjIzUr1VfjH9wex/o9sAMB9iS3x1pgu8PflkmUiMwYsRERudCqnBFO+TsHpq2Xw8dLgn6M6YVLvWJbYJ7LAgIWIyE3WHsrCrB8OoqzCgMggPyyYlIjE2ObubhaRR2LAQkR0k1UZjHh34wl8uusMAKBPmxDMn5CIsKY6N7eMyHMxYCEiuomulugxfVkqfjuTDwCYMrAN/jGiPby9tG5uGZFnY8BCRHSTpGYWYNqSVGQXlyPA1wv/frAr7uoS5e5mEdULDFiIiFxMEAQs+e08/vXzUVQaBLRtEYBPJifhlvBAdzeNqN5gwEJE5ELXKwx4adVh/Jh6CQBwV5dIvPtAVzTV8d8vkTOcnjTdtWsXRo0ahejoaGg0GqxatUq6rrKyEs8//zy6dOmCgIAAREdH4+GHH8bly5ftnnPx4sXQaDRWX+Xl5U4/ICIiT3E+rwz3LdyDH1MvQasBXryrAz6ekMhghagWnA5YysrK0LVrV8yfP9/qumvXriE1NRWvvPIKUlNT8eOPPyIjIwN/+tOfajxvUFAQsrKyFF9+fn7ONo+IyCNsO34Fo+btxrGsYoQG+GLJX3vj8YFtWV+FqJacDvOTk5ORnJxs87rg4GBs3rxZcdm8efPQq1cvZGZmIjY2VvW8Go0GkZGRzjaHiMijGI0CPtx6Eh9uPQkA6B7bDAsmJiIq2N/NLSOq31w+LllUVASNRoNmzZrZPa60tBRxcXEwGAzo1q0b3njjDXTv3l31eL1eD71eL/1eXFxcV00mIqqVwmsVeGZ5OnacuAoAmNwnDi/fcyt03iyxT3SjXLrwv7y8HC+88AImTJiAoKAg1eM6dOiAxYsXY82aNVi2bBn8/Pxw++234+TJk6q3mTt3LoKDg6WvmJgYVzwEIiKH/HGpCKPm78aOE1eh89bi/Qe74o0xnRmsENURjSAIQq1vrNFg5cqVGDNmjNV1lZWVePDBB5GZmYkdO3bYDVgsGY1GJCYmYuDAgfjoo49sHmNrhCUmJgZFRUVO3RcR0Y36IeUiXlp5GPoqI2JDmmDhpER0ig52d7OI6oXi4mIEBwfX2H+7ZEqosrISY8eOxdmzZ7Ft2zanAwitVouePXvaHWHR6XTQ6VjGmojcR19lwL9+Ooql+zIBAEPat8AH47ojuImPm1tG1PDUecBiDlZOnjyJ7du3IzQ01OlzCIKA9PR0dOnSpa6bR0RUJ7KKruOJJalIv1AIjQaYMbQdnr6jHbRargIicgWnA5bS0lKcOnVK+v3s2bNIT09HSEgIoqOj8cADDyA1NRU///wzDAYDsrOzAQAhISHw9fUFADz88MNo2bIl5s6dCwB4/fXX0adPH7Rr1w7FxcX46KOPkJ6ejo8//rguHiMRUZ3acyoX05elIa+sAsH+PvjgoW4Y0j7c3c0iatCcDlgOHDiAIUOGSL/PnDkTAPDII4/gtddew5o1awAA3bp1U9xu+/btGDx4MAAgMzMTWm11vm9hYSEef/xxZGdnIzg4GN27d8euXbvQq1cvZ5tHROQygiDgk11n8O6G4zAKQMeoICyalITY0CbubhpRg3dDSbeexNGkHSKi2igpr8Q/vj+EDUfEUeP7E1vhrXs7w8+Hq4CIboRbk26JiBqSk1dKMGVJCs5cLYOPlwavjuqEib1jWbWW6CZiwEJEZMfaQ1n4xw8Hca3CgMggPyyclIjusc3d3SyiRocBCxGRDVUGI97ZcByf/XIWANC3TSjmTeiOsKYsp0DkDgxYiIgsXC3R46lvUrHvbD4AYMqgNvjH8Pbw9nJpcXAisoMBCxGRTMr5AkxbmoIrxXoE+HrhvQe7IrlLlLubRdToMWAhIoK4ZPnr387jjZ+PotIg4Jbwplg0KQm3hDd1d9OICAxYiIhwvcKAF1cexsq0SwCAu7tE4Z0HbkNTHf9FEnkK/jUSUaN2Pq8MU75OwfHsEnhpNXhhZAf8dUA8lywTeRgGLETUaG09dgXPLE9HSXkVwpr6Yt74RPRt6/z+Z0TkegxYiKjRMRgFfLj1JD7aKu4InxjbDAsmJiEy2M/NLSMiNQxYiKhRKbxWgRnfpmNnxlUAwMN94/Dy3R3h680ly0SejAELETUaf1wqwtQlKbhYcB1+PlrMubcL7kts5e5mEZEDGLAQUaPw/YELeHnVH9BXGREb0gSLJiWhYzQ3SiWqLxiwEFGDpq8y4PWfjuKbfZkAgDs6hOO/Y7shuImPm1tGRM5gwEJEDdblwut4YmkqDl4ohEYDPHtnAp4acgu0Wi5ZJqpvGLAQUYP066lcTF+WhvyyCgT7++DDh7phcPtwdzeLiGqJAQsRNSiCIGDRzjP498bjMApAp+ggLJqUhJiQJu5uGhHdAAYsRNRglJRX4rnvD2LjkSsAgAeSWuHNMZ3h5+Pl5pYR0Y1iwEJEDcLJKyWY8nUKzuSWwddLi1f/1BETesWyxD5RA8GAhYjqvZ8PXcasHw7hWoUBUcF+WDgpCd1imrm7WURUhxiwEFG9VWkw4p31x/G/3WcBAP3ahmLe+O4Ibapzc8uIqK4xYCGieimnpBxPfZOG38/mAwCmDmqL54YnwNuLJfaJGiIGLERU76Scz8e0pam4UqxHU5033nvwNozsHOXuZhGRCzFgIaJ6QxAEfLX3PN74+SiqjAJuCW+KRZOScEt4U3c3jYhcjAELEdUL1ysMeHHlYaxMuwQAuPu2KLx7/20I0PHfGFFjwL90IvJ453LLMHVJCo5nl8BLq8Hs5A54rH88lywTNSIMWIjIo205egXPfpeOkvIqhDX1xfwJiejTJtTdzSKim4wBCxF5JINRwAdbMjBv2ykAQGJsMyyYmITIYD83t4yI3IEBCxF5nIKyCsxYno5dGVcBAI/0jcNLd3eErzeXLBM1VgxYiMij/HGpCFOXpOBiwXX4+Wgx974uuLd7K3c3i4jcjAELEXmM7w5cwMur/kBFlRFxoU2waFISbo0KcneziMgDOD2+umvXLowaNQrR0dHQaDRYtWqV4npBEPDaa68hOjoa/v7+GDx4MI4cOVLjeVesWIGOHTtCp9OhY8eOWLlypbNNI6J6Sl9lwOwfD2PWD4dQUWXE0A7hWPNUfwYrRCRxOmApKytD165dMX/+fJvXv/vuu/jPf/6D+fPnY//+/YiMjMSwYcNQUlKies69e/di3LhxmDx5Mg4ePIjJkydj7Nix2Ldvn7PNI6J65lLhdYxdtBfLfs+ERgP8fVgCPnu4B4L9fdzdNCLyIBpBEIRa31ijwcqVKzFmzBgA4uhKdHQ0nnnmGTz//PMAAL1ej4iICLzzzjuYMmWKzfOMGzcOxcXFWL9+vXTZyJEj0bx5cyxbtsyhthQXFyM4OBhFRUUICuKnMqL64NdTuZi+LA35ZRUI9vfBhw91w+D24e5uFhHdRI7233Wacn/27FlkZ2dj+PDh0mU6nQ6DBg3Cnj17VG+3d+9exW0AYMSIEXZvo9frUVxcrPgiovpBEAQs2HEKkz/fh/yyCnRuGYSfp/dnsEJEquo0YMnOzgYAREREKC6PiIiQrlO7nbO3mTt3LoKDg6WvmJiYG2g5Ed0sxeWVmLokBe9uOAGjADyY1Ao/TO2HmJAm7m4aEXkwlxQ1sCyXLQhCjSW0nb3N7NmzUVRUJH1duHCh9g0mopsi40oJxsz/FRuPXIGvl7hk+d0HboOfj5e7m0ZEHq5OlzVHRkYCEEdMoqKqt3rPycmxGkGxvJ3laEpNt9HpdNDpdDfYYiK6WX46eBmzfjiE65UGRAf7YcGkJHSLaebuZhFRPVGnIyzx8fGIjIzE5s2bpcsqKiqwc+dO9OvXT/V2ffv2VdwGADZt2mT3NkRUP1QajHjj56OYviwN1ysNuP2WUPw0vT+DFSJyitMjLKWlpTh16pT0+9mzZ5Geno6QkBDExsbimWeewZw5c9CuXTu0a9cOc+bMQZMmTTBhwgTpNg8//DBatmyJuXPnAgBmzJiBgQMH4p133sHo0aOxevVqbNmyBbt3766Dh0hE7pJTUo6nlqbh93P5AIAnBrfF34clwNuLJfaJyDlOBywHDhzAkCFDpN9nzpwJAHjkkUewePFizJo1C9evX8e0adNQUFCA3r17Y9OmTQgMDJRuk5mZCa22+h9Wv3798O233+Lll1/GK6+8grZt22L58uXo3bv3jTw2InKjA+fyMW1pKnJK9Giq88Z7D3bFyM6RtTpXRkYGTp8+jVtuuQXt2rWr45YSUX1wQ3VYPAnrsBB5BkEQ8OWec3hz7TFUGQW0C2+KTyYnoU2Lpk6fKz8/HxMmTcDG9Ruly0Ykj8CypcvQvHnzumw2EbmJo/039xIiojpzraIKs388jNXplwEA99wWhXfuvw0Butr9q5kwaQK27NoC3AcgDsB5YMvGLRg/cTw2rNtQdw0nIo/HgIUapc8//xw7duzA0KFD8eijj7q7OQ3CudwyTF2SguPZJfDSavDiXbfiL7e3Vi1PUNM0T0ZGhjiych+A20wX3gYYBAM2rtyIkydPcnqIqBFh5hs1KikpKfD188Vf//pXLFmyBH/+85/h6+eL9PR0dzetXtty9ApGzd+N49klCGuqwzd/7Y3H+sfbDFby8/Mx8q6RaN++Pe666y4kJCRg5F0jUVBQoDju9OnT4g9xFidoLX6TJ/8TUcPHERZqVPre3heVqFRMMVSurUSvPr1QUV7h7ubVOwajgA+2ZGDeNjF4SIprjgUTExER5Kd6mwfHPojtv25XvAab1m3CA2MfwNbNW6Xj2rZtK/5wHtUjLABwTvx2yy231OVDuemYSEzkHI6wUKPx+eefo1JfCdwNsQMMNn2/C6jUV2Lx4sVubV99U1BWgUe/+F0KVh7t1xrL/tbHbrCSkZGBbVu3QbhLULwGQrKAbVu24eTJk9KxCQkJGJE8Al4bvYCDAIoAHAS8NnlhRPKIetvJOzrCRERKDFio0dixY4f4g8oUw9atW0GOOXyxCPfM241fTubCz0eLD8Z1w2t/6gRfb/v/Unbu3Cn+oPIaSNebLFu6DHcOvBNYCeC/AFYCdw68E8uWOraLuydSJBI/C+A+YMsuMZGYiNQxYKFGY/DgweIP5y2uOCd+Gzp06E1sTf21fH8m7l+0B5cKryMutAlWTrsdY7q3dO4kKq+BJVdWXdi4cSP+9a9/WVXZdiVzIrFhhEExwmQYbsDG9RsVI0xEpMQcFmo0HnvsMTzx5BOoXFsJFANoCqAMwC7AR+fjsauFPCXXobzSgNd/OoJlv4sbjd55azjeH9sNwf4+Dp9j0KBBgAbAWgACxJGVcwDWAdCYrpeRRiOGAQgAcK16NKK2y5pPnz6N3n17I+9qnnRZaItQ7N+3H/Hx8bU6pzP3DcBuInF9neoicjUGLNSg1NS5b964GUOGDoGwpfqTu8ZLgy3bttT6nLU9tiaeVDRtd+oRvLT+HM6XABoN8PdhCZg2+BZotfZ3YbdJAFAFcZrHzMt0uYy0rDkSgGwQxBBRPRpRm+e4d9/eyCvOUyT95q3NQ8/ePZGbk+v0+ZxR20RiTwlaidyJU0LUIDiayDj3nbnQ+mkV+QNaPy3mvD2n1ud09lhHeUKuQ35+PgaM/RvGLz6I8yWA4XoxWp1ehYndw2oVrHz33XfiD6MBTAIwGMBkAH+yuB6m0QgNxGRb2XOAYgCa2i1r3rhxoziyYiPxOu9qnsunh5xNJK7N+yojIwPr16/n9BI1OAxYqEFwpHN3Nn/AmYDhgbEPYOPmjYrLNm7eiAfGPlCrx+MJuQ5Go4ChT7+LzNaj4NUkGPqsk8ha/Ax2r/zfDT0uAEAagCUAdgD4GkC6xfWAuN+YACAZyuBiJAAB8PZ2foB437594g8qUzJ79+51+pzOciaR+MGxD2LT9k2K9+Cm7ZtsPv9cfUQNHQMWqvcc7dydKUSmOGclgC0ADLYDhoyMDGzfut1qSgMCrJbqOsrdRdOKyysxcdFOFLQaAI3WC6VFm5AdOguGO3MAb2DbVtuPq6ZP91IhuUyLKzItrgdgNBrFH1Seg6qqKuceFICWLU3JwSpJv7GxsTZv58yoRU3HNm/eHBvWbUBGRgbWrVuHjIwMbFi3wWqaz5kl4EDdB81EnoYBC3m8mjoAReeeC+AkgDxYde6K/AG5c+I3ef6AdM41AH4CcBjAatPPUAYMO3fuFKcufKCcuvABoLFequsIaTdzlbbWZnTBUSeySzB6/q/Ym1kGoaoSeVfmIS/yIyC4Uuw4kwEIysfl6Kf7oqIiu89VUVGRdKwzr5dZTe+V6Ojo6qRf2ZSMOek3IiJCcbwrpwXbtWuH5ORk1ZwUZ5aAZ2RkYPu27WJWovx5tRNcOqM+TTPVp7aScxiwkMdytAOQOrZlAOYDWApgHoBvxIvNHVtCQgJ69Ophs7Pq1buXouNo27at2LF5QdkBeAHQKDvLK1euiKMrd0E5dWHq2K9cueL0Y8/MzBTvf51FW9eL93/+vGUvXjfWHLyMMR//irO5ZQjyrkL20lkoba781G7uMOUc/XSfk5NT/Vz5Q5waCoDN5yohIQF3DL0DmnUaYDfEaaNfAc16De648w7F6+Xoe0WaZmoOxZQMmsHmNJMz04IuyzlyYAn4zp077b4HaxM0A/Vrmqk+tZVqh6uEyGM5ulNvQkICvHXeqCqoUhyLtYC3zlvRsR04cEAMBCxWqPy+/3fFff/yyy9iB2BOzoTpuyDe9tdff5XOK30qV/kkbPmp3WECgCiLtsYDOFu709lTaTBi7rrj+L9fxZP3vyUMM3oFoddbJ8XnMhpAAYAQABfF25iXIEuf7n0hJs/Knn/zp3vzcyXVVdkA4JqsAU1U2lVVCaFCEKfkTAStgMrKSsVxjr5XMjNNc0/jIa5Uyjc9Jm8A/1UGgs5svlibjRprWvnj7BJwANWjjObXqrX1Ic6oT7tl16e2Uu1whIU8kjNJpxs3bkSVvsrmyo8qfZW08uOtt94CjLC9QsUIvP3229I5V69eLf6gEoSsXFkdRUh5DyqfhOPiLE9S/RjVhq6lzqg7gOkAJpq+d7O4vg7kFJdjwme/ScHKtMFt8eVfeiHYz0s8YDWUI1drlLeXPt3beP4tP90nJCSInbABypErAwCN6XqTjIwM/LLrFzEQkh/rC/yy6xfpeatVgvJ5AKEA2pm+n7M+xNGpRqtj5Wwc6+hIQEJCApqHNK9eAm4eDaoCmoc0VwQ50vtBZZSxNu8XxfMaDSAHQEvPLHJX2yR1Th/VLwxYyCM50wGsXbvW7rE///wzAGDNGlNPq7JCZdWqVdJN27RpI/6gEoRI18OUHGonL8IyOdSRDishIQF33GmaDrkIIBzARdvTITdi/7l83D1vN/afK0CgzhufTE7CrJEd4KXVVC8rVsk3Mb8G0jSOSsduNSVmJ7iRc3Saw5nAQhq1UJlqk3fsjk41Ko51IN/G0amjjIwMFOQViAG2PGj9E1CQV2C171JIWIg4siJ/rQqBkLCQWr1fpOc1zeLxp4sXqyV+uyMIcDZJndNH9ROnhMgjKToAfwCXAMQAKBUvlncA4eHh1cfaKMZlvr5Dhw7i1E8WFJVTsQuARrzebNq0afjwow/Fjk1eFfcX8dhp06ZJx1rlRZhFALhSQ16EnaHrzz75DL369ELeyuqKrCEtQvC/T/+n/sQ5SBAELN5zDm+tPYYqo4CEiKZYNCkJbVo0tX5c5oABUEyLWSX+LgOQLfvdxkzYpk2bxB9Upi42btxofSOVTshMEVjYuH+r5FwB4sovi2lBy4ApISEBoS1CkVeQZzXVGNoiVBEEmOurbNm4BQbBIE3feG3ywp3Jd9qeOrIctbCYOlJ0wvIZMNPjl1fFzcjIQH5uvtV5cReQvzK/VkX2pDyuLCgfvykQt3xe3Vno0NmCfJw+qp8YsJBHSkhIQP+B/bF71W5xGsdMCwwYNEDxz7dnz5525/p79eoFAAgJCRGvbwZF5VRzYBEWFiZdJOWwVECRPwGteB/yHBZFXsRViCMiMQDCcEN5EX99/K9iZymTV5CHvz7+V2zdXPuNGq9VVGH2j4exOv0yAOCe26Lwzv23IUCn/HcgPS6VgMH8uCIiIsTn3/zpXtaxW668KS4uFn9QCS5KSkqki6TRDpVOyHy9IrCQB6I7rQMLKQiIhTIXyPS7ZRCQdzXP6rWCAOStzLMKApYtXYbxE8dj48rqDvvOZGV9FcWoxY+y+48Xv8nv//Lly3afK/nIlTPndYqdgNWSO4MARwNGoHb5RuQZOCVEHuvo0aM2pyOOHDmiOM5oNCrLvcvm+iFUT8msX79e7FgLLc5ZBEAjm1oCsHTpUvFYX4id4BgAw02/a4AlS5ZYN3gZlFNN31gf4ujQtauWqZ7NLcO9H+/B6vTL8NZq8M97OmLe+O5WwYpCDatUpJU/d0O58sc0zZObW13uPiQkRBncyKYuoDFdb6KYFpNN31hOi0mBRXOIgegqAJsANBOr18qfK2m5eJbFYzLFBvJRI2enGcz1VTZu3IjXX38dmzZtsqqvYjVqYX78WbAatTh48KD4w1WL+zc9nWlpabU6r6NqXbfITYUOHS3I5+4aR1R7HGEhj7Rx40a7Q9ybN2/GsGHDAACpqanijUZDHDo/B6ANxHB8pfiPPzk5WSxKZucTo7xoWUFBgd3RmLy86pEPrVZrd4RB3gkq6qvYGDUwH2uVv2HR1p07d9r8FLhx40bs27cPffv2lZ4fs01HsvH37w6iRF+FFoE6fDwhEb3iQ6zOYabI95CPXFnke2zdahrtUVn5s2XLFrzwwgsAgOvXr9tdfXXtmvwEwA/f/WA1ajE8ebj1qIUG1SX8zc+/qZ3y0QUp30iAzddKnm/k7DSDw1MiDo5aSO8VFVbXOzEaYmZvpZLi8dtYJWazbpGdIMDVoxbmgPHkyZM4deqU6uqr2u7nRO7HgIU8klRCXWWIe+/evVKHfPz4cfFCeYd5GFKHaR6R8fPzEy9Q+acqXW/+2U4nKD/24MGDdjvhtLQ0aSdoqb7KeihzY3bDdn2VGvI3zOztQBwb1xr/2XwCH28XO5Uecc2xYGIiwoP8bJ/MJCEhAf0H9Mfu3buVnZ4WGDCwelquvLxcufLHIgiQByHSlI/K4yotLVVcLC2DtsOqhD+gmmuTmppq97UyB7fmx+/oNAPg2JSI0x27Oel5NJQ5JEblzR0pMmdZt6am4CohIQEDBg7AL6t/EV9bMy/raVlPCgLatWtnNzhSvK7FBulv0GuP7deVPAenhMgtalpJ0Lt3b7tD3H379pWODQsLq+4w5dM3pqWy5hyK69evizdQmeKQd6zSaEwylCM8pn1s5J9upeqsKqtUpLwNM8H0tQXi9MVmiB2QrG9W5G/YaKvlMtVefXpV70Bseq7yivPQc8BgPPrF71Kw8mi/1lj2eJ8agxWzqqoq8bmV0wBVldUjEVajJhYrf8rLy6VjDQaD3cdluaLKkRU1zpTwV+wlZOO1stxLyNFpBkenRJxZTZSXl1c9aiJ/D5pWSeXn50vHStOkKue1nEZ1dKXSkaNHbE5LWp7P2U0d3W3B/AVo1qSZ4m+wWZNmWPjxQvc2zIN5whJwjrDQTeXUSgIHh7gPHz5cvUrHxvSNORegrKysOjlXPrphWiUkD1jOnjVlZKqM8Jw5c0a6SOowVZIjpeshmz5SmZIwjwacPXvW7nTMuXPnpE5AMX0me658fW+BX7MX8cvJXPj7eOHt+7tgdLeWcFRGRgZ+2/ubmLcj/4S/VuzYzcmJV6+akixUAgZ5DovBYLD7uKSABo4nRzrz6V5ajq7yWsmXqwOOTzM4NXJi5/HLtW/fXvxB5T0or1kjTXWttzjvBvG88vego8+r2vsKgvW0LOBY0rGn+Nvjf0N+Sb7ibzB/Xf4NJ7Q3RO5c/WWJIyx0Uzn6yc6ZXXWvXr2qnL4xfxIsBqCB1KFmZ2dXL2mVj25UAhBM11ueU2WER+qkYepY7CSSyjuWHTt2VI9GWOTmQAC2b98OwJQAbCeR2FxbRjrW4rlqWjUMkbHvwjs4HAHGMqx8sp9TwQoAfPfdd3bb+t133wGQjaCofLqXRrbMBEj5RdLjMq2+knMqOdIcBMg+3dsKAqZNm2b3tZIvV5erad8fR0dOTp8+raxgbH78UQAE5WOSVr+pvAfNq98AwMvLSzxvsMV5g8Tz+vj4SMc6+rw6u7O1o5s6upuzm0o2di7bcqIWGLDQTePMSoLevXuLP6h0APIpoYCAAGUOg3lKwjR907SpWFtEmt6wUTkVGijKvRsMBrtFy+QjAevWrbM7JbJ+/XrpWCmxNw02i3GZSbVlLFM4BIvrYZHIK/ggpGI6QitnQKPxxbWTv2FI5e/oEBkESzUN8R44cMBuW/fv3w9AlsOiUjjPKmDRQJwCux1AX9N3I6yCC2lZr8p7wLysV0pQVgkC5JV2v//+e7uv1YoVK2w+FzU9V4opEdm+R5ZTIlJgo7JKST4atH79ervvwXXr1knHHjp0qHoFnHladBikFXBWK4qAGoMrZ/4G5RzJO3InZzaVbOw8YfWXHAMWummc+cQ8YsQIhLYItdkJhrYIVQxFO1ovBIDdDsAmB5Jepc5A5VhpFRNkK29UPjUPGTIEAJCSkmK3yqy8A+rUqROgAbx+aYHIwncRaBgBQTCiYM+XuLryLXTrVF0QD3C8ymdgYKDdtgYHBwMwBYLmKTl5wNAMimXlEsF03a8A9pq+B8PqNTh48GD1NMdG09cmSNMc8ucAgOo2BnJff/21+IPKa/Xll18qLnamIqojeREJCQnw0fmIj1WebwXAR+ejGME5dOiQ3bYePnxYuujatWvVQZt5afdmSEGbPI/I0eBqxIgR8NZ52/wb9NZ5W61Cq3fVY1UCMarmaUvAGbDQTeNMwiEA7N+3H6FBoYpOMDRIXPkiFxgYaPe85hEWSRzEZMsdAE7D/gZx56FMzjxnfYg0auLAP0CpZoxK0GTu3KXCdSrH7dixQzrnoEGD4BfXDVEPfQCdXzsYrhUh57tXUfzr94AgWCXoOjrEGxYWZrcNLVq0AADodDrxBuOh3KNpApTXS08YVKdk5MLDw6uL9+01fe0x/S5UjzIpll/LtjGwVW5fyqdRea3k+TaK50oWXKgNh097ahoKrxUqHlfhtUI88eQT0jEbN25Epb7SZs2YSn2ltO8VANx2221229qlSxfpIuk9qBK0WY56OBJcZWRkiHt0masCmwPRSnGPLstP154ydVDTaFhsbKzdKUS1vb8aI2f/Z7sak27ppklISMAdQ+/A9nXbxX+grQGcEwuBDblziFV+QHx8PHJzcrF582bs3bvXZm0RQLYEeR2qh9o1AFLF702aiOubNRqNeL8LAZTLTmDqT+V1WCSrYbWk01KTJk1wvfy6aqVd8/0DFvvuyLW2uN5M5ThzW41GAcsO5iN87L+g0WihzzqJq6vmwFB81WZbnanyKXXeNbQ1LCxMXAmlkshqDmwk8ikZ0/3bSqaOiooSX0dvWCX9wgi0bCnm5Jg3CSwoLLAqt2+5SSAAu8mpctJzFQlFMrchono43Nndmvft22d3ubx8uX5ycrK4PYTK++quu+6S2iT9DawFMABiQnkOpIRyf39/xWNzJOlUmhoZA7EQ4AVUb4+xUrlU2hOqxzqaHJqZmWl3J3Sr0gKNmLNL+12NIyx0c2kAoUpQfGITquzPectXONhy6tQp8R+QHspP4noAAqRPWoIgKFfomD/dm9tlOfdu7iwtlnRadmze3t52E2TlCY/Spz6VTyzm6ysqKuweV1FRgeLySkxZkoIvUvKg0WhRcnAjspfOEoMVQKrVYS7aBjg3xCvtraTShk6dOgEwBSR2Rk2sAhY79y/naIKytEmg5d2EWW8S6O/vbzc5Vd6xKwrSyadvTMnctdmtWUqOVcm38vX1lW4qdawqU23yjnXo0KHKrSRWQQyyTKNR8kDf6aTTOABtIY6ctYXN18oTpg6cHuFxYAqRHF/afzNwhIVumoyMDGzbsk38h9ISQD6kypnbVm6z+hRmrxhafHy8dNn169erk2nvhvKTeIVF9VQHP907c6xU9Xa09ePCSuU0w4kTJ+x+ws/IyAAA6PV6u/sjVQWE40/zduNc3jUIhkrkb16I0uObrEciKsR9j8ycqV4aHh5udwmuee+loqIiu8+VVKdG7rzsWMDm9FlWlmm4LA02l/Wak3KlzlI5iCAVDrRZjK0Q1fsOyTa1lJMK0gXDern8dWVBOkeXVtc0wiY9ZkAs2AeIU21VqH5feQP4r/i6/vWvfwUAJCYmmhoN5Yig6feuXbtKFzlaZC42Nrb6Mdl4r8inTm5G4Th7VXmdGeFRTCEmQ7WCM4kcXdp/M9R5wNK6dWubQ2rTpk3Dxx9/bHX5jh07pERDuWPHjil2z6X6T/EpLBhAqOkK07vQsmNJ7JGI4hJl0bW8/Dx0T+yOwoJC6TJpxY58L5sYiJ/EVypX9Ej3L9faTqPjYHNXYTkpqVTlccmTTps2bVpdOE4e+OjEy8zTR4GBgWIgVAWraY4mHQYiLHkGzuVdQ8tm/ji5+FWUnkixWS/D8vEnJCSgeWhzFKwusJrqah6qnD65cuWKcgmyWRPx3ObOt6Y6LDk5OcrL7QRiNpOfM+3/Lu2jcxlAP1S3+QCs9tGRnv9KKIMQ027N8nwnaWTPovnmvX3kr6ujQ+c1bc0gL0j4+++/Vx8bbX3sb7/9Jl2UmppqtyquvIKvpIagUXr8KtOitXn8teHIVI8zdXDMU9PbdmxTvq+9gTuG3uFxRe48RU0VhG+GOg9Y9u/fr/gH+ccff2DYsGF48MEH7d7uxIkTCAqqXnppcxiZ6jVnPoVt3LgRxYXFNvMwigqLrIpWAVDdy8aKA5/uJSp5GbU9rzTaU2FxhWlFtXkJsDQ1MRri47gIIMYLzf0fQ1DzPwEABrQLw4cPdUenDy+Jx6r8s5aPBGRkZKAgv0AcjboDip2NC/ILbOewyPN9ZL9bJqiqPX6r3CD59JmZKWCQCwgIsNsJK5KpBYjH7pGdQGd9zpYtW4pbOVgGRqbfY2JipIukIn8+sDlyJ39eAccKp5lXdKkFbOZpNkAWCKoEDPLn//fff7dbaFFeM8XRPaKkQFAlh8hy1MRVheMc2fLA2REeaY8qeRA0bIRHFrmjanUesFgGGm+//Tbatm1b4zBbeHg4mjVrVtfNIQ/izKewhQsX2u2sFixYYB2w6GH/d8D5T/cqO+XaPK9a9VLZeS9cuGC3EzQv0Zb21EkDcBbwCmiOsJYvwK+52KHp01Zj8ZxP4KXVVCf1qvyzDggIkC6SapaYV6mYmaoCyxMp8/Ly7LbVXBpeUYfFRgVhqzosgEUgBimRU06aklHphM2jEd99953d6sHfffcdXnrpJQCyPCYfAD0g5vmYR2MqlKMG+/fvtzvV9fvvvyveg47UHxk0aJDdgE3+f9Lb29tuwCAPmGpa2n/hwgXpIqdGGJyYQnXF1IGjUz3OjvB40jQHOc6lOSwVFRVYsmQJZs6caXsFhkz37t1RXl6Ojh074uWXX7Y5TSSn1+vFeX4Tq/1ayCMtmL9A3PdmZXVeSrMW1nt4nD171m5nde7cOeWJ7QQ3ikBEgNg52JjisOLoOc3nVVl1IFdZWWm3EzB3mFIOSxagm9AJYa2eh7cmBEZ9GXLX/ge4eAhe2k8ByOqlqARi8pHLK1eu2F2lIl+lJAUMKm01/02Xl5dXd8JbZA/W1AnLa4BI0iyem3jrQ6RNLVU64WPHjgGoObCQCuDBtAeOOWCrTu2RArajR49KF5nzidTuX7re5IGxD2D7zu2KyzZu3ogHxj5gXe69BZQjd2Hi/ctFRUWJr4fK44qMjJSOVeyTZSNoVd0F284IQ213YK7LqQNn2lCbER5PL3InZy+Hp7FwacCyatUqFBYWSjvV2hIVFYVPP/0USUlJ0Ov1+PrrrzF06FDs2LEDAwcOVL3d3Llz8frrr7ug1eRKUq2K4RADhWtA4a9irQrz8C4gG6lT+UcVGhqqvNxOcGPFctGRwcYxzp4TACwHEq5ZHyJ9Kq5h+sYcBARO+BOah/0FGo03KirP4erlOag6edmpaRarVVYCbG/qaPG4pH/mKm01X1/TKi6r602BmCJgsjHKJX0gUemEzYGQuYCdWjvlAZvVNg4WAZs83yYkJMTu/UvXQ+xMtm/bLk5D/Un5uLZtrU4ol0aDVO5fPhokBXoqj0v+gS0kJMShBGkzR0YYPGEHZmeSxJ0ZNfGk/XFqUp/a6mouDVg+//xzJCcnIzo6WvWY9u3bV2/yBbHc84ULF/Dee+/ZDVhmz56NmTNnSr8XFxcr5p/J89gc3gVgCLDO5B88eDC2bt2q+s/S5ghcHGpMkAUg5YtIqmweVX1OObVzakz3ayPpU94JK/bdsdMJw1uHsJHTEdBCnCIoO7oDeRvmQfAROyn5J0NpSkjlU7u8DowkDTZX3shJeyCpdBbm6xXTLDZGo6w+xZoDQcsdiC0CJo1GY3fkyDwlNHHiRLGCrUo7J02aJJ1Tq9XCWGWsXlYMKKeZvKqTXqVdwFXuXx4ESFNtKgGueartxIkTdgNG+aiNNI2j8l6RpoFg2tjT/L6zMXooTTFasDca4swGnHJ1ORKQkJCAIUOHYPua7cq/U2/gjjttJ8g6MsLz4NgHsf3X7YqgcdO6TbZHw1zIkefKkRyexsJlAcv58+exZcsW/PjjjzUfbKFPnz5YsmSJ3WN0Op11BU1yq5r++JwZ3pU2flP5Zynf+E3iSIKsM9M8gOMJugIcSvosKiqqXtYsz/fYLd6+sLAQZ66WInLy+/BtEQfBUIWCvM9RcstPwChIeRny80rLuotQvVT3GqSluvIpmYiICLsjHBER1U9aVFSU+INK0qe5cJv0+J0ZjXIgYJKWS6uMHBUWFoo3NS9xV2ln69atpYvCwsLETS5V3oPyICQ3N7d6RZH8/k0bNVolHQM1BrjO7MAsTQuqvFfkIyxSLRwjFKOX5jyi2ixi2Ldvn92pTnmRO8B1IwEajQYabw2EPwnS+1Wzzn6KgT3mOjSWeTGCINgsr+AKjj5XnlCQz5O4rHDcF198gfDwcNx9991O3zYtLa36nyV5PEf3EHGmzLOUl6CyoZ205NPMPMJRQ7l3e6XmrZg/XR+E1YZ+No8VYLMgnZyPj0/1smZ5gS9TwBTQvi9Gz/8Vvi3iUFWajyuXX0RJwE9WRdPkzp8/r6wXsgpiuXdTMTR5vk9sbKz6CIegrK0hL/9vi7lwm8SZ0SiV/YlsslEQDqjOoZEKvKkU+ZMXLZNWX6m8B+UJylJ9nTEQtxoYbPo+WrzYnHQMyJJlVc5rvn7s2LHiBSpLtaXrYSoiZ+e9Ii8yN378+OrXtR/EImj9IL2uEydOhLOkgLQ7bBZYk+q0mLiiNL+5dlNd7qzsCZsfOvpceUJBPk/ikhEWo9GIL774Ao888ojV0r/Zs2fj0qVL+OqrrwAAH3zwAVq3bo1OnTpJSborVqxQ3TWVPI+jQ5bOlOY/ceKE+EN3iLv5yleTnLVOeHSqIJyjHaudT/c2j7VVkdXi/rt164a9v+21XtGyTotmAychuO9YlOirUH7hCHJXvw1DeEGNyalSQqXKiiZ5wqU0jaDyCV9eQ+mPP/6wOyIlbc5n5sxolANTQn5+fuIP402PzfweCAPw3+o9impKDpb/D6qsrLQ7cidVGIYsTyoOYkdpirdRZHE9TO/tOx3cdsIcXMmfU9PKHzkvL9MQkcoSePnjkgrOqby3L126BGdFR0dXB+13wWpKTD4a56qRgNom/jrE0fdrHXPmufKEPCJP4pKAZcuWLcjMzMRf/vIXq+uysrIUc68VFRV47rnncOnSJfj7+6NTp05Yu3atYp8M8lxO/6PSoLo0v4ngbR0BSHPuKsP8JSUl1o1xNBBRyXWwyYHVHBIHpjmkYmyyzlXbJQhh0f+Af0B3AMBfbo/Hq2NGA4LBoeRUAHY7QasEXQ3EIms2lgDLZWVl2Z3qyc6WPTF2ggCbAZ4Dz1VsbKzY0apM9ZlHg5zZrVvaRkFlmkO+jYI0QqjSWchHWADZyhvZKpXhycMVq1SkXBeV4Eq+rNxgMNhdVi6vdyUF+CpttQrwHdC2bdvqqU75c2Wa6pR3lq4KLFzRYTtah8ZVnC1y50l7+bibSwKW4cOHqy4XW7x4seL3WbNmYdasWa5oBt0EzvzxOVOaX0r4U+mEz549CyuOfmJSCYKsmPNCbKzmsBkwOBBcXLxormsufvM1tkOLitnwDgiHsaIcRZs/xj/f3oZXjaYGOpAXIu0ArdIJyjs2aUpI5Vj5lJCjK5oAOLysG4DDz5W0NUABbAZX5t2apaXYKq+/fKl2VFSUOEXWHcA9UG6jcBaKqeiLFy9Wd2zyHBJTbpD0Wpo4skrFmc0vpX2HVF4raQQGsiJ3Kp2wvIKuo6SEV4ul2jBYJ7y6aiTAFR22uyvdOvtcuaogX33EvYTohjiz7FAR3MhX6rQWv8mDm5KSErv/rK3q7piHruX/rG2NRpiDIIsqr6q1VVRWk1ixMxIhJ9/UsGnsCIT4ToVG44PKiku4+vUcVOZaJEE4MGokBSQqx8oDFmdGI3r27CmOcKj8Y+3Zs6fyHCpBgBUHp4Sk3ByV94C5rVIiscrrL5+6OHPmjN1pDuk9CqBLly7Ytm2b+Iu8voxphKFLly42HpyDdUicmY5w4D0gCILdoLGmpedqHE14deVIgCs6bHdWuk1ISEBoi1Dkrc2zer+GtghlkTs7GLDQDXFm2aEU3KgM8cuDGynvQuWftWUhLIfzTQSoVnm1ydFpJvOxjiyr9vJByPWpCNSNAABcy9iL3A3/hXDdRuEWBzo2qTNSOdZmZ+XAeZOSkrBq9SrVQCApKan6YPOnexubydV2SshcGE7tNTAXecvJybE7dSFfzZOXl2f3vSI/dtq0afjwow+t841MIzzTpk2z8cDsy83NtTsSIr9/aXpK5bWSJ91KNWFUgkZ5zRhHKUZEHVhN46qRAFd02O4MAjIyMsQNXSOhfA9GAHlX8lTzfTxhLx93Y8BCN8yZT2HNQpqh8Gqh8opcoFlIM8UfY1lZmfiDyj9rq4AFUN0tWdlYOD7NY+f+bXJgWbVXUDha3Dsbush2EAQDCg1LUKz5ATAKtkeDHN1GwMFjY2Nj7R4rnxI6efKk3WW9ihUaLpgSqqlwnPn648ePi7fVQLmk1zR1c+TIEemmUvCm8l6xWWTP0WRuB0jTd5bPqY0if+Hh4cgvyFd9reRLlRU1Y2yMHFkWjnOEs3kprg4CHO2wnakD444gQHpeVXbhvqFE4gaOAQvdEGc+hWVkZIi7LPvCKi+lsKBQcaxUjEzlk6jNHKk42NwtWcGZaR5zB2BjfxybAUMBlHVQdiqP3ZVxFVGPfgAv/yAYDEXI9f83yr3S1dsgQFwhIr9cLbBycIRJ6jBVjpXvpXPw4MHqpM9BqA4EdortOnjwoPLkzk4J1fAa+Pj4oLKqUjWHxMdbHIHo0KGD9esKiK/DSuWGglICssp7RZ7r4YpE0rvvvhvz5s1TTea+5557pIuCg4PtvlZShV/IgkuVY2uz/Le2eSnuGgmoLxVhrZ5X83vQ9OfU2Fb+OIMBC9XI3icWZ/6pf/fdd3Y/scrLkldUVNjusE2f7uVFsySOjoY4Os1jnmawkb9g81jVqSYN5m87ifc3Z8DLPwj6rAxcDZ0Lg5dsHbKtNmggBnc2ggWbbXBgRZPUIauMMMgTaS9duqRcrl0AcVmxKRBQJJ2ag7sBEAOLHKgHd4BDr4Gfnx8qSyrFxyt/DUzvAXNNlcTERLvn7Nq1q+LxGwwGh3aWdkUi6YgRIxASFiKOnJiDW1MgHBIWoijEJiUAj4bNjSLlCcJS8Kjyuqanpzvd1vq2QqW+VIStb8+rJ2HAQqoc+cTizD91aRM6lY5l//790kVScqrlzJLG4nr55Y5OnzgzzaNSA8OKylSTxi8AYXfNxHubxGWlJekbkL/lE2B0Zc1tMAcL/gAuQeysbNR2sXf/lo9fkXRrY4RBnnQrLR1XyTdRLC13JriDqX3yx2WjcnxFRYXdZb3moDU1NbX6nDYSvw8ePIjk5GQAsqXCKqM28gRlAPaXa9fSgd8PoGfvnsjbXL0BaGiLUOzft19xXGBgoPhDGmzW4pGuh8W+QzZeV6u/FwfVJi/FHZv01beKsFz5UzsMWEiVI59YEhISoPHSQFgrWAULGi+N4p+ENI2j0rHIP91qNBoIEMTOSr6iZxfE2iKWPYZ5hEPemdtKprXXAdma5lHpLB1ZUeTjE4cWQS/BJyQavt5avDG6Ex565x7ngqsNUG6iaGNbILX7tzXNIuVzqARt8nwPb29v6Cv0qvkmimXN5hwSR3ODVkFZKM3Gqtuqqiq7I3Lm6StpV+fVsLlcXf6YAFSP3NkYtZG/rU6fPm03N6e2uQbBwcHo0aOH4oNAjx490KxZM8Vx0oaGKs+/PJG2po0aazslUl82FHRpgTkX4Mqf2mHAQjY5+onl888/h2AQxOkIi2BBuCJg8eLF0m7d0nSESscizx+Qhu6bweY0i3yTOom/xe+2OncBqhvE2TzWmYRL2T/LJlWDEBo3HVqNH6qKcrDmpXtxW6tmeMh8XpUVLVYsZ75szITZun8ANqdZ8vPz7QZMlsXQHM03kQKmGnaABuBwIOjobtGlpaV2l6tfv169jbaPj48YhKncv7xwnDR6qLILd21zDRyduggLC7P7/MsTaaWcL7VA+AY5kpfizimZ+loRlit/nMOAhWxy9BOLtN+MSsb71q1bpYAlKyvLbjE4qbw4xKJYBqNBtWiYvGgWAIdXnkgbxMl3VU6xcZyZo/kuMN1ntDeaG/+CoMA/ARrg+tlU5P70Hm5b+GdlG1RWtFi1VaUsfm1XNEn1bVQCJvk0j9TRqzwH8k0VATi0VBmAw4GgYkTOxuMyXy+NhKjkEMn3W/Hz8xOnklTuX9prCLJ6GQV5Vu9BW/UyHFGrqQsH3oMFBQXiY4iGzdEgy3296pq7p2SYF9I4uGzzQ6rfpNGO8xZXnBO/macDpMDhPJSdqOk4ea0IvV6v7KyCTd9NG/rJO0CDwWD3WKtcA/knUfOxtjY1FCCO2uwBsBfAr6bj7eVa2Hj8tnhtCUFEwVtisAKgcO+3yPn+NRivWxS5M49GyDepG6nS1jreqNFqCfAY03eteJlU+wQWr63cOfGbonqqBtXl/p81fb9sff8SBzphadRgvcXj2gDFSrGmTZsqc3jM918sHiff0FBKVFW5/+joaOkiqV6Gjfdg3tW8Wq28cWYzO2kTPpXnX75Jn5SjojIaVNscFkd5wiZ9y5Yuw50D71RslnrnQOaFNCQcYSGbjEZjdWchH2I2dRbm/AEpcFCZ5pH/o5SKYqn8U5MXzXKmeqvEkdEQB5NTpWMdzDXRxXRCi9EvwCugOYxCGXKz3sf1fRY7SjvbVmeOM48wWEzLWebwSCt/VJYAX758ufqigAAUFhWq5vw0bdpUef/OTJ85MBrk5eUlvs7BNh7X9eqgOSAgwG4OjzxgkZYCq9y/fKmwK/IinJm6yMzMtPs3KN+TLSgoyO42BvIEXVfwhCkZ5oU0fAxYyCZp4zOVzsL8D6hDhw52p3nkNTCkKQaVf2ryXAOJAx2bU8fa6dhsHqtSNE06RBAQ2GM0mg/5CzRaL1RozuGqbg6q2l5WX9HjaFudOQ5QnZaTq6w0LXNS6YSl6yEb5VJJOrUKGuPgWKVfBwPBJk2aoKS0BCiEcgmwafqsSRMxSUn69O7Ap3u9Xm838Vr+HnRm2wlHKcqyW9T3sZxm6tu3r7hpocrf4O233y5d1LVrV3Fps0rQKF/a7QqeNCXDvJCGiwEL2aSYv7eoFyH/xyrtYeLAxnstWrRAXn6eamchr9wJwPlKr46u/nEmL8XWNI1Jmb4Kz684hJChfxN/N+xAXsA8CBq9/fPa+dRslcPizA7I51G9VFgLm0uFfXx8xKk3lUBInnQqVV1VmWawClgcqPQLwKFAEJBt/lcJZW6KqRiaeUpKMX1p4zHJp65yc3Nt37/pnHl51UuNndl2wlHSNJMfrJaAm6eZzOe9/fbb8eWXXwJXLU5iGojs27evdFH//v3x1Vdfqb63+/fv73RbncWluuRqDFjIJsV+FxaJjPL9LnJycsTLVT5dS9cDaN++vZhDodJZJCQkKBvh4DSHdKyjpeEdHbXQQCzcZmM1iXezaNy74FdkXCmFYKhCwbb/oaT1z46d187IldVxzWwcp7bv0SrUuFRYmupTCQTlpeF9fHzsTjPI85PsHWczuBoDMQi+AEUxNLmmTZuisLBQ5cFWT3PEx8fjzNkzqsFdfHx19m9pqY0oTsbyeke3nXDU6dOnq58TG8+V1TSTndFLuUGDBok/qLy3petdiFMy5GoMWMgmaf5eZamw+R+rlJip8ula/oldyg/wgTLfxVv83WatBkeWKpupjAQoODq6AaiOHPn/0Qdhd89ExpVShAfqcGjhP6C/fAw4AsdGgwDVT821Ps68osjRmjEqgaB8ywNphENl9EyxUsvZHJY4iEGbadYFRSrHATXuETV48GBs3bpVNRAePHiwdFFISIjdIEhe28TZzf8codVq7T5X8to2zhwLwCVF7mqDUzLkKlwlRDa1bdu2eqnwMFSvJskCoKmev9+7d694A5WO9ddff5UuunTpkviDZS0RU17uhQsXlJeb71++8sN0/1bkn/DNxxbaOFZAdbn//5q+q5W6B5RD7IIWzdo+gvD7XoZW1wS9Wofg56f7Q3/pmDIIMJ+3mcp5zZ+a5W31ttFWR48zPy6VFVVyUlA4HsCfAHSBGBBMEC+Wd9g1JT7L9x2yd5xNDqy+UuTbhAJoZ/reWnn92LFjxQtUpu+k6wG0adPG7rHS9XDNyhepmrPKOX//vTpRW1oFpHLs9u3blW2VjzKa34NRAISbs0qHyNU4wkLqzFMSNvfHEV29etVuvRD5lFB6errdaRarzfQEOFa0zHxsHe6qKzENsWuFIIRVzIK/VzcAQPH+VVj61ifwkRewGw8xcDPv+RIGq6RXp9pam1ELudbWh0grexYCMK8iPwyxDguUK390OtOFKtMMfn5+ypM7M9XmwKaSXbp0wZUrV1TP26VLFwDiVKLWW2u90zIArbdW8WlfqrOihfX0mVFZh8UVK1+kvweVc8r/XoqKiuweW1xcvVxeamt32NyA0lMLpxE5gwEL2STNtRdBWWQtFdZz7XYCC3m5fSmhUaUTli9rlqjkxtjkyCd8O8GV2rJmX10CWsS8AG9NOIyV5chb/xGuHdsFH6/PlMc7mnTqaFudOQ5wKGDQ6XR2cyjkeSkBAQHVU2jy4GI3FKt0ADiXIG0e5ZInndo4Ljo62u40h7lmysaNG2E0GG0GwsYKIzZv3ixtKih17H+COC15BkAbSNWP5cGNK1a+3H333Zg3f57qY5Lv1tyzZ0+s+WmN6vPao0cP220dzsJp1DAxYCGbpPlzAWKRNTNTRVTz/LlUZ0UlsLBZsMqZTtiZIMDRZc13QcyNSYM4EpIM1VGbpreOQEj0VGg0PqjMv4Srq95C5dVM62OdTTqt62XNTiwVtjdyIx9hadq0afV7wMamhkFBQdWX2cmLsdlWlVE2eVszMjLsJlNnZIgbSq5du9buY/r555+lgEXa/HAtxPfBncrnSr6sG6j7lS8jRoxA85DmKCgssMq3aR7SXLFb89ixY/HKK6+orqiST3UBwIL5C9CrTy/kraxe6dSsRTMs/HhhrdpK5GkYsJBN0moSlU/i5vwF6R+8SmBh2QEAcK4TLkD1smrz/jD2ljXb2IHX6lgHNhTUePsiZNhUNL1tOADgWsZe5K79LwSNrUxeODd94+hohLMJwhqL+7OxP5G0/YFK0CgvHDdkyBAcOnxI9T0gT2YF4FAdGKmtDjxXERGmN5HKNIf5emnZsspjkicHh4eHi/dVBZsJuuHh4YpTuGLlS8r+FHG35quy3ZpDrHdrTkhIwIBBA/DL7l+UJ9AAAwYNsGrHtKemofBaoWLLh8JfC/HEk0+4fC8fopuBAQvZtGnTJrsdy9atW5GcnFw95ePMahZnpg6aw24OjeJYLZQjAbY2NdRAnAqwMxJyIf8aIia+C13kLRCMBhTu+grF+1aIV1psYaTg6PSVo6MRAhxb/mxmGRtWWR8SFRWFc+fOqQaNkZGR0kVHjhyx+x44evSo8uTmc4aafrdISVJwYJTtiSeewOo1q8X3RzKspk+mTZsGQFacUOUxdezYUbpo7NixeOWfr4jTgrdBfC79ARwDYLQetTCry5Uv8fHxyM3JxebNm7F371707dtXMbIit3rlanGER74D8vARViM8NvfyAWAIuDl7+RDdDAxYyKb169eLP6h0LGvXrsV7770nbpZnJy9EvpkeALufbm1yJhAyoubND80dsHxXYVlF2p0ZVzHj2zToIm+B4VoRcte/i/LbDoqrdOQ1MGy115npK0dGIyxHmFSSU318fFBZValar8PHu3pp+WOPPYa9v+1VDRoff/xx6VjFihYbgZh8RUutitzVMMoWHx9vt8hb69ZiQwYNGmT3/uU1SBISEjBgoGnUIk15zgEDrUctXGnYsGGqgYqZoyM8rthGgMjTMGAhm8rKysQfVDoW8/UVFRV2k25t5rCMhjj6YV5NY6NoGADnEmTttMFKGmzsKqxBcN+xePSL3yEIgP5yBq6umgvDsKuOT/PUJofF3miEObizUeVVLiIiAhcvXlQdCZGmVmBKVLUTNMqPDQ0NFVeqqARioaGh1ZcJcLzInYOjbFInrINyCs/0u1Xit0pgY8nRUQtPUtMIjyfs5UPkagxYSJ29T80mOp1OzFNR+WQnLY2VS4OyAm28yv07E4QAjq8SMu8qbAosNFsCEHb/39Hkll4QBGB8r1i8PfZewKD+uGy21c7IjVUbHM1hUZm6kB8nrexRaat85Y+U7zEaNouxyYuR9e/fX6wgqxKImcu9+/v743r5ddXRoCb+1UlC3t7eYv6TSr6NvNCg1AmPhM2quOZOWApsYqF8X5l+txxdaIgVWT1pLx8iV2HAQjZdv37d7goN8yZxUgd3HjY3iJN3QACUxeDsTd2YORowmNvgyCoh2UiET+fWaBH3Inx8oyFUVeDf43pgbM8YvG2odPycZjZHblTaYC5eZ2bx+KWOvRJWUxfyVVqALCBRaas8YJF2+I2DmB9jHiQxv4znz0vHFhYW2s1hMdcJCQoKEt8PFVCOBpkek3w1UWRkJC5euiiew7xcXgMgRfwuz6GxWqrbHTY74drWIGloFVm5lw81dAxYGpCMjAycPn26bj8xqnQC5hLu0t4rq6Est29KTrWZw+LMqIkzK4qc3PwwoGowQiqfgtbXD1VFV3B15RyMfU9WEdSZBGFnA7HWUI4GWPwu7aNjWQvN9Lt5Hx0A6NWrF46fOK7a1t69e1vfvwPPq5RQXUPQOGLECHHjPS2U7wHT7yNHjpQu6tGjhzh9pYHN5fLy2iKAY50wa5CIGuLIEZEcA5YGID8/HxMmTVDOySeLc/I29+dxgL+/v7JeRWsoOkFz0TCproVKwqfVjr6A46Mmzq4ocnjzQ2807/AYggyjAADXy1KQu/g9GMttBFcOLBWWjnUmEFMJBM2kKrL+UOZvmH6XT7W99NJLYsCgkpfy0ksvSRc5k6Dao0cPrF69WjW4MQcXEyZMEO9fZZppwoQJ0k1jYmLEH56AmMhrnuYxVQWWrjdxtBPm6EK1hjZyRGTGgKUBmDBpArbs2qL4dL9l4xaMnzi+1vUXQkNDxU/CKstvzQmXGo0GglFQnTbQykvXmzk6amIrkdJUNMumGoIAAPAKDEFYwAvwM4hLXQvzlqFo6TJAb13WXQqMbExd3ND0lbm+ykio1lcZPny4GASo5G/IRy0kKqMxVhxMUJWWAKsEjeYlwFJJfJVpJvmeQ3fffTfmzZtX/R4wb35oSjqWV3qVq6kT5ugCUcPHzQ/rOXP9BcMIg2LjO8NwAzauF+svqN1u/fr1qtebl4xiPIDpACaavps+LJs3iZM+6TuQ8AmgetTkIMSy/wdRPWpiSQOxIupwVG++6Gvn2HUQg5Rw03fLBOGYzoh6+EP4RXeEsbwUOT/8C0X/WwpEGtVHTaogTl3sNX2vgnrAdN7i93PWh/j7+yvrq/zX9D1IPK95L5sJEyZUP6ZSiMFYafVjko9aSEmnrS3uzPS7fOM7RYKqXKz1seYlwFJwY25rpXIJsGKFio3HL88hGTFiBELCQmy+B0LCQmpc5luTdu3aITk5mcEKUQPEEZZ6ztn6C45OH8XGmnowleW3rVq1AiAbiVEZNQkLC5MuqmmFiDyRFID1NAsgjjbYmmapYUrof7+cQcRDb0Gj9UKF/iyuCnNQ1SdLPL+NkRgA1VNd8lU6R2F336Gapq+mTJmCDz78QHVFjbkYmtFotPuY5KMWziSdOpuganMJ8IgR6jkkDqxQOfD7AbHSq6yEfGgL60qvRERyDFjqOWfrLzg6fSRt0qbSCZuH7sPCwsRVHyo5EfJaHRqNxu40i3yjRIkzq4RsdMKai34ITX4ab649Bo3WC6VHtiN/+3wIw/WO5cVYrtKxMSXVtGlTMflYJRCTJ8gOHz4cH3zwgTgFI19RY6rKO3ToUADOBRbOJJ06m6DqihwSZyq9EhFJhDr26quvChD/pUtfERERdm+zY8cOITExUdDpdEJ8fLywcOFCp++3qKhIACAUFRXVtun11ojkEYJXgJeAeyHgWQi4F4JXgJcwInmE4rgTJ06Ir8l9EPCa7Ote8XXKyMhQHB8S2lyAl/K1hBeEkNDm0jF33HGHeHm8xXGm34cOHSodq9VqxeuaWBxr+l2r1Vofq9JW+bEABGggQAfFc+Ad2VKIeuxjIe75n4W2s9cKgYn3SI/B8jGZfzbz9va2e6y3t7d07NChQ6vvvx8E9DV914ntGjZsmO3XYDIEDDZ9t/EaOPq6CoIg5OfnCyOSRyjaOiJ5hJCfn39DxzorIyNDWLdundV7iYhIjaP9t0sClk6dOglZWVnSV05OjurxZ86cEZo0aSLMmDFDOHr0qPDZZ58JPj4+wg8//ODU/TbmgMXRDmjdunXi9c9aBAHPirdZt26d4vgzZ84IYS1CFecNaxEqnDlzRjrmf//7X3UHPB0CJpq+mzrgL774Qjo2NDTUbmcdFhYmHdutWzebQYg5COjevbt0bEBAQHXQYmqnf0JfIeaZ74S4538WYp76SjhwLk+IiIiwG4RERkZK5+zatat4ndbiWNPv3bp1k46VghA/i2N1tgNBRwOR2gQWzgQMDC6IyBO4NWDp2rWrw8fPmjVL6NChg+KyKVOmCH369HHqfhtzwGJWUwfk7AiL2aZNm4TXX39d2LRpk83rvX29bQYW3r7eiuP+97//2Q1C5MHNG2+8IbbV2yIIMP3+5ptvSseOGTOmOmDQaIVmgx4R4p7/WYh7/mchYvxcYdSDEwVBEISHH35YvH8/COgOAR1M3/3E+3/kkUekc7755pt2g5C5c+cqHlvXbl1tjrB07dbV6vlyNhBhYEFEDZlbA5YmTZoIUVFRQuvWrYVx48YJp0+fVj1+wIABwtNPP6247McffxS8vb2FiooK1duVl5cLRUVF0teFCxcafcDiCGemGRyVlpYm+Oh8FB2wj85HSEtLszrWciRE/rucIrgaDQFdTN9tBFeffvqpAA0EbbMgIXzKW1Kw0vzOxwR4eQmfffaZIAiCsGHDBrsjLPKAbN26dWK7/C2CEH+xvZajUa4eDSEiaqgcDVjqfFlz79698dVXX2Hjxo347LPPkJ2djX79+iEvL8/m8dnZ2YoN1wBxA7aqqirk5qptzQvMnTsXwcHB0pdlwSmybdnSZbhz4J2KZap3DryxAlvdunVDRXkFvvjiC0yaNAlffPEFKsor0K1bN6tj09LS4OOrLNfv4+uDtLQ0xWUJCQkYOGigmPSrBXCn6fs6YOCggYrEz0GDBsE3MgFRkz6Ef7OuMFZcx9XVb6Pg8OeAwSAVQ5Pqhags6bVaeSNAXH4sX9ZsWn5smcxsTk7NyMjAunXrkJGRgQ3rNtgt3McluEREjtMIgqnGuouUlZWhbdu2mDVrFmbOnGl1fUJCAv785z9j9uzZ0mW//vor+vfvj6ysLMXeInJ6vR56vV76vbi4GDExMSgqKlLsXUK2ubvA1uLFi7F161YMHToUjz76qM1jCgoKrJfUWizBFgQB3/yeiZdWpANab1SWX8TVrLdQWXABml80GNJ/CLZu3gpArD3Tvn17cYWUjYqsGRkZiudi5F0jsWXXFhj6GaTlx157vHDnwDtrXZCPiIiUiouLERwcXGP/7fJlzQEBAejSpYtqgbLIyEhkZ2crLsvJyYG3t7dy+3oLOp3O9k7A5BB3l+9+9NFHVQMVs5qW1JZXGvDyqj/wQ8pFQOuNpkWncfT/XoBQIW7MODx5+A3tOSMt1V3Pcu9ERO7m8oBFr9fj2LFjGDBggM3r+/bti59++klx2aZNm9CjRw/rnX6pUbIVXF3Iv4apS1Jw5HIxtBrgHyM6YOqgu3BqZnKd1QthuXciIs9R51NCzz33HEaNGoXY2Fjk5OTgzTffxM6dO3H48GHExcVh9uzZuHTpkrhPCoCzZ8+ic+fOmDJlCv72t79h7969mDp1KpYtW4b777/f4ft1dEiJ6r8dJ3Iw49t0FF2vREiAL+aN747bbwmr+YYyDEKIiDyD26aELl68iPHjxyM3NxctWrRAnz598NtvvyEuLg4AkJWVhczMTOn4+Ph4rFu3Ds8++yw+/vhjREdH46OPPnIqWKHGwWgUMH/7Kfx3SwYEAega0wwLJyYiupm/0+dy95QYERE5x+VJtzcLR1gatqJrlXj2u3RsO54DAJjQOxavjuoInbeXm1tGREQ3wmOSbolu1NHLxZi6JAWZ+dfg663Fm2M6Y2wPLmMnImpMGLCQR1uZdhGzfzyM8kojWjX3x6JJSejcMtjdzSIiopuMAQt5pIoqI95cexRf7T0PABiY0AIfjuuG5gG+bm4ZERG5AwMW8jjZReWYtjQFqZmFAICn77gFM+5MgJdW496GERGR2zBgIY/y25k8PPVNKnJLKxDo540PxnXD0Fsjar4hERE1aAxYyCMIgoD//XIWb284DoNRQIfIQHwyOQlxoQHubhoREXkABizkdqX6Kjz/wyGsPZwFALi3e0vMubcL/H25ZJmIiEQMWMitTuWUYuqSFJzKKYW3VoN/juqIyX3ioNEwX4WIiKoxYCG32fBHFp77/hBK9VWICNJhwcREJMWFuLtZRETkgRiw0E1XZTDi35tO4JOdZwAAveNDMG9Cd4QH+rm5ZURE5KkYsNBNlVuqx/Rv0rD3TB4A4G8D4vH8yA7w9tK6uWVEROTJGLDQTZOWWYBpS1ORVVSOJr5e+PcDXXH3bVHubhYREdUDDFjI5QRBwNJ9mXj9pyOoNAho0yIAn0xKQruIQHc3jYiI6gkGLORS5ZUGvLTyD6xIvQgAGNkpEv9+8DYE+vm4uWVERFSfMGAhl7mQfw1Tvk7B0axiaDXA8yM74PGBbbhkmYiInMaAhVxi+4kcPPNtOoquVyI0wBfzxndHv1vC3N0sIiKqpxiwUJ0yGgV8tO0kPtx6EoIAdI1phoUTExHdzN/dTSMionqMAQvVmaJrlXhmeRq2n7gKAJjYOxb/HNUROm+W2CciohvDgIXqxJHLRXhiSSoy869B563Fm2M648EeMe5uFhERNRAMWOiG/Zh6EbN/PAx9lRExIf5YODEJnVsGu7tZRETUgDBgoVqrqDLijZ+P4uvfzgMABrdvgQ/GdUOzJr5ubhkRETU0DFioVrKKrmPa0lSkZRYCAGYMbYcZQ9tBq+WSZSIiqnsMWMhpe0/nYfqyVOSWViDIzxsfPNQNd3SIcHeziIioAWPAQg4TBAGf/XIG72w4AYNRwK1RQVg0KRFxoQHubhoRETVwDFjIIaX6Ksz64SDWHc4GANzXvSXeurcL/H25ZJmIiFyPAQvV6FROKaZ8fQCnr5bBx0uDf97TEZP6xLHEPhER3TQMWMiu9Yez8Nz3B1FWYUBEkA4LJiYhKa65u5tFRESNDAMWsqnKYMS/N57AJ7vOAAD6tAnBvPGJaBGoc3PLiIioMWLAQlZyS/V46ptU/HYmHwDw+MA2mDWiPby9tG5uGRERNVYMWEghNbMA05akIru4HAG+Xvj3g11xV5codzeLiIgaOQYsBEBcsrxkXyb+9dMRVBoEtG0RgE8mJ+GW8EB3N42IiAh1PsY/d+5c9OzZE4GBgQgPD8eYMWNw4sQJu7fZsWMHNBqN1dfx48frunlkw/UKA/7+/UG8suoPVBoEJHeOxOqn+jNYISIij1HnIyw7d+7Ek08+iZ49e6KqqgovvfQShg8fjqNHjyIgwH6BsRMnTiAoKEj6vUWLFnXdPLKQmXcNU5ak4FhWMbQa4IXkDvjbgDZcskxERB6lzgOWDRs2KH7/4osvEB4ejpSUFAwcONDubcPDw9GsWbO6bhKp2H48BzO+TUNxeRVCA3wxb0J39Gsb5u5mERERWXH5so+ioiIAQEhISI3Hdu/eHVFRURg6dCi2b99u91i9Xo/i4mLFFznGaBTw380Z+MuX+1FcXoVuMc3w89P9GawQEZHHcmnAIggCZs6cif79+6Nz586qx0VFReHTTz/FihUr8OOPP6J9+/YYOnQodu3apXqbuXPnIjg4WPqKiYlxxUNocAqvVeCxL/fjw60nIQjA5D5xWD6lD6KC/d3dNCIiIlUaQRAEV538ySefxNq1a7F79260atXKqduOGjUKGo0Ga9assXm9Xq+HXq+Xfi8uLkZMTAyKiooUeTBU7Y9LRXhiaQou5F+HzluLOfd2wf1Jzr0uREREdam4uBjBwcE19t8uW9Y8ffp0rFmzBrt27XI6WAGAPn36YMmSJarX63Q66HSsuuqoH1Iu4qWVh6GvMiImxB+LJiWhU3Swu5tFRETkkDoPWARBwPTp07Fy5Urs2LED8fHxtTpPWloaoqJYsOxG6asMeOPno1jyWyYAYEj7FvhgXHcEN/Fxc8uIiIgcV+cBy5NPPolvvvkGq1evRmBgILKzswEAwcHB8PcX8yRmz56NS5cu4auvvgIAfPDBB2jdujU6deqEiooKLFmyBCtWrMCKFSvqunmNSlbRdTyxJBXpFwqh0QAzhrbD03e0g1bLJctERFS/1HnAsnDhQgDA4MGDFZd/8cUXePTRRwEAWVlZyMzMlK6rqKjAc889h0uXLsHf3x+dOnXC2rVrcdddd9V18xqNPadzMf2bNOSVVSDIzxsfPtQdQzqEu7tZREREteLSpNubydGknYZOEAR8uusM3tlwHEYBuDUqCJ9MSkJsaBN3N42IiMiK25Nu6eYr1VfhH98fxPo/xGm4+xJb4q0xXeDv6+XmlhEREd0YBiwNxKmcEkz5OgWnr5bBx0uDf47qhEm9Y1lin4iIGgQGLA3A2kNZmPXDQZRVGBAZ5IcFkxKRGNvc3c0iIiKqMwxY6rEqgxHvbjyBT3edAQD0aROC+RMSEdaU9WmIiKhhYcBST10t0WP6slT8diYfADBlYBv8Y0R7eHu5fHsoIiKim44BSz2Ucr4ATy5NRXZxOQJ8vfDeg12R3IVF9oiIqOFiwFKPCIKAJb+dx79+PopKg4C2LQLwyeQeuCW8qbubRkRE5FIMWOqJ6xUGvLTyMH5MuwQAuKtLJN59oCua6vgSEhFRw8ferh44n1eGqUtScSyrGFoN8EJyB/xtQBsuWSYiokaDAYuH23b8Cp75Nh3F5VUIa+qLj8Z3R7+2Ye5uFhER0U3FgMVDGYwCPtx6Eh9tPQkA6B7bDAsmJiIq2N/NLSMiIrr5GLB4oMJrFZjxbTp2ZlwFADzcNw4v390Rvt5cskxERI0TAxYP88elIkxdkoKLBdeh89Zizr1dcH9SK3c3i4iIyK0YsHiQH1Iu4qWVh6GvMiI2pAkWTkpEp+hgdzeLiIjI7RiweAB9lQH/+ukolu7LBADc0SEc/x3bDcFNfNzcMiIiIs/AgMXNsoqu44klqUi/UAiNBnhmaAKm33ELtFouWSYiIjJjwOJGe07lYvqyNOSVVSDY3wcfPNQNQ9qHu7tZREREHocBixsIgoBPdp3BuxuOwygAHaOCsGhSEmJDm7i7aURERB6JActNVlJeiX98fwgbjmQDAO5PbIW37u0MPx8vN7eMiIjIczFguYlOXinBlCUpOHO1DD5eGrw6qhMm9o5liX0iIqIaMGC5SdYeysI/fjiIaxUGRAX7YcHERHSPbe7uZhEREdULDFhcrMpgxDsbjuOzX84CAPq2CcW8Cd0R1lTn5pYRERHVHwxYXOhqiR5PfZOKfWfzAQBTBrXBP4a3h7cXS+wTERE5gwGLi6Scz8e0pam4UqxHgK8X3nuwK5K7RLm7WURERPUSA5Y6JggCvv7tPN74+SgqDQJuCW+KRZOScEt4U3c3jYiIqN5iwFKHrlcY8OLKw1iZdgkAcHeXKLzzwG1oquPTTEREdCPYk9aR83llmPJ1Co5nl8BLq8Hs5A54rH88lywTERHVAQYsdWDrsSt4Znk6SsqrENbUF/MnJKJPm1B3N4uIiKjBYMByAwxGAR9uycBH204BABJjm2HBxCREBvu5uWVEREQNCwOWWiq8VoEZ36ZjZ8ZVAMDDfePw8t0d4evNJctERER1jQFLLfxxqQhTl6TgYsF1+PloMefeLrgvsZW7m0VERNRguWw4YMGCBYiPj4efnx+SkpLwyy+/2D1+586dSEpKgp+fH9q0aYNFixa5qmk35LsDF3D/wj24WHAdsSFN8OMTtzNYISIicjGXBCzLly/HM888g5deeglpaWkYMGAAkpOTkZmZafP4s2fP4q677sKAAQOQlpaGF198EU8//TRWrFjhiubVir7KgNk/HsasHw5BX2XE0A7h+Omp/ugYHeTuphERETV4GkEQhLo+ae/evZGYmIiFCxdKl916660YM2YM5s6da3X8888/jzVr1uDYsWPSZVOnTsXBgwexd+9eh+6zuLgYwcHBKCoqQlBQ3QYRlwuv44klKTh4sQgaDfDsnQl4asgt0Gq5ZJmIiOhGONp/1/kIS0VFBVJSUjB8+HDF5cOHD8eePXts3mbv3r1Wx48YMQIHDhxAZWWlzdvo9XoUFxcrvlzh11O5uGfebhy8WIRgfx988WhPPD20HYMVIiKim6jOA5bc3FwYDAZEREQoLo+IiEB2drbN22RnZ9s8vqqqCrm5uTZvM3fuXAQHB0tfMTExdfMAZK5VVGHGt2nIL6tAp+gg/Dy9Pwa3D6/z+yEiIiL7XJZ0a1nhVRAEu1VfbR1v63Kz2bNno6ioSPq6cOHCDbbYWhNfb/x3XDeM7dEKK57oh5iQJnV+H0RERFSzOl/WHBYWBi8vL6vRlJycHKtRFLPIyEibx3t7eyM01HbFWJ1OB51OVzeNtmNAuxYY0K6Fy++HiIiI1NX5CIuvry+SkpKwefNmxeWbN29Gv379bN6mb9++Vsdv2rQJPXr0gI+PT103kYiIiOoZl0wJzZw5E//73//wf//3fzh27BieffZZZGZmYurUqQDE6ZyHH35YOn7q1Kk4f/48Zs6ciWPHjuH//u//8Pnnn+O5555zRfOIiIionnFJpdtx48YhLy8P//rXv5CVlYXOnTtj3bp1iIuLAwBkZWUparLEx8dj3bp1ePbZZ/Hxxx8jOjoaH330Ee6//35XNI+IiIjqGZfUYXEHV9ZhISIiItdwWx0WIiIiorrGgIWIiIg8HgMWIiIi8ngMWIiIiMjjMWAhIiIij8eAhYiIiDweAxYiIiLyeAxYiIiIyOMxYCEiIiKP55LS/O5gLthbXFzs5pYQERGRo8z9dk2F9xtMwFJSUgIAiImJcXNLiIiIyFklJSUIDg5Wvb7B7CVkNBpx+fJlBAYGQqPR1Nl5i4uLERMTgwsXLnCPonqAr1f9wdeq/uBrVb/Ut9dLEASUlJQgOjoaWq16pkqDGWHRarVo1aqVy84fFBRUL154EvH1qj/4WtUffK3ql/r0etkbWTFj0i0RERF5PAYsRERE5PEYsNRAp9Ph1VdfhU6nc3dTyAF8veoPvlb1B1+r+qWhvl4NJumWiIiIGi6OsBAREZHHY8BCREREHo8BCxEREXk8BixERETk8Riw1GDBggWIj4+Hn58fkpKS8Msvv7i7SWThtddeg0ajUXxFRka6u1lksmvXLowaNQrR0dHQaDRYtWqV4npBEPDaa68hOjoa/v7+GDx4MI4cOeKexjZyNb1Wjz76qNXfWp8+fdzT2EZu7ty56NmzJwIDAxEeHo4xY8bgxIkTimMa2t8WAxY7li9fjmeeeQYvvfQS0tLSMGDAACQnJyMzM9PdTSMLnTp1QlZWlvR1+PBhdzeJTMrKytC1a1fMnz/f5vXvvvsu/vOf/2D+/PnYv38/IiMjMWzYMGl/MLp5anqtAGDkyJGKv7V169bdxBaS2c6dO/Hkk0/it99+w+bNm1FVVYXhw4ejrKxMOqbB/W0JpKpXr17C1KlTFZd16NBBeOGFF9zUIrLl1VdfFbp27eruZpADAAgrV66UfjcajUJkZKTw9ttvS5eVl5cLwcHBwqJFi9zQQjKzfK0EQRAeeeQRYfTo0W5pD9mXk5MjABB27twpCELD/NviCIuKiooKpKSkYPjw4YrLhw8fjj179ripVaTm5MmTiI6ORnx8PB566CGcOXPG3U0iB5w9exbZ2dmKvzOdTodBgwbx78xD7dixA+Hh4UhISMDf/vY35OTkuLtJBKCoqAgAEBISAqBh/m0xYFGRm5sLg8GAiIgIxeURERHIzs52U6vIlt69e+Orr77Cxo0b8dlnnyE7Oxv9+vVDXl6eu5tGNTD/LfHvrH5ITk7G0qVLsW3bNrz//vvYv38/7rjjDuj1enc3rVETBAEzZ85E//790blzZwAN82+rwezW7CoajUbxuyAIVpeReyUnJ0s/d+nSBX379kXbtm3x5ZdfYubMmW5sGTmKf2f1w7hx46SfO3fujB49eiAuLg5r167Ffffd58aWNW5PPfUUDh06hN27d1td15D+tjjCoiIsLAxeXl5WkWhOTo5VxEqeJSAgAF26dMHJkyfd3RSqgXk1F//O6qeoqCjExcXxb82Npk+fjjVr1mD79u1o1aqVdHlD/NtiwKLC19cXSUlJ2Lx5s+LyzZs3o1+/fm5qFTlCr9fj2LFjiIqKcndTqAbx8fGIjIxU/J1VVFRg586d/DurB/Ly8nDhwgX+rbmBIAh46qmn8OOPP2Lbtm2Ij49XXN8Q/7Y4JWTHzJkzMXnyZPTo0QN9+/bFp59+iszMTEydOtXdTSOZ5557DqNGjUJsbCxycnLw5ptvori4GI888oi7m0YASktLcerUKen3s2fPIj09HSEhIYiNjcUzzzyDOXPmoF27dmjXrh3mzJmDJk2aYMKECW5sdeNk77UKCQnBa6+9hvvvvx9RUVE4d+4cXnzxRYSFheHee+91Y6sbpyeffBLffPMNVq9ejcDAQGkkJTg4GP7+/tBoNA3vb8uta5TqgY8//liIi4sTfH19hcTERGnJGHmOcePGCVFRUYKPj48QHR0t3HfffcKRI0fc3Swy2b59uwDA6uuRRx4RBEFcfvnqq68KkZGRgk6nEwYOHCgcPnzYvY1upOy9VteuXROGDx8utGjRQvDx8RFiY2OFRx55RMjMzHR3sxslW68TAOGLL76Qjmlof1saQRCEmx8mERERETmOOSxERETk8RiwEBERkcdjwEJEREQejwELEREReTwGLEREROTxGLAQERGRx2PAQkRERB6PAQsRERF5PAYsRERE5PEYsBAREZHHY8BCREREHo8BCxEREXm8/wfzYAwK5Vkf1wAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "0.13031966791602223\n", "0.15463784705801664\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "y_train_predict = sample_predict(X_train)\n", "\n", "plt.plot([0, 20], [0, 20])\n", "\n", "plt.scatter(y_train[:, 0], y_train_predict[:, 0], color = 'orange', edgecolors = 'black', s = 20)\n", "plt.scatter(y_train[:, 1], y_train_predict[:, 1], color = 'green', edgecolors = 'black', s = 20)\n", "\n", "print(r2_score(y_train[:, 0], y_train_predict[:, 0]))\n", "print(r2_score(y_train[:, 1], y_train_predict[:, 1]))\n", "\n", "plt.show()\n", "\n", "y_test_predict = sample_predict(X_test)\n", "\n", "plt.plot([0, 20], [0, 20])\n", "\n", "plt.scatter(y_test[:, 0], y_test_predict[:, 0], color = 'orange', edgecolors = 'black', s = 20)\n", "plt.scatter(y_test[:, 1], y_test_predict[:, 1], color = 'green', edgecolors = 'black', s = 20)\n", "\n", "print(r2_score(y_test[:, 0], y_test_predict[:, 0]))\n", "print(r2_score(y_test[:, 1], y_test_predict[:, 1]))\n", "\n", "\n" ] }, { "cell_type": "markdown", "id": "f574ffdb", "metadata": {}, "source": [ "Train neural network for goalkeepers.\n", "\n", "For clean sheet probability prediction, a Bernoulli distribution is used." ] }, { "cell_type": "code", "execution_count": 25, "id": "41e7e1ee", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Epoch 1/2500\n", "15/15 [==============================] - 4s 51ms/step - loss: 2.9275 - distribution_lambda_2_loss: 0.8261 - distribution_lambda_3_loss: 1.6128 - distribution_lambda_4_loss: 0.4886 - val_loss: 2.7835 - val_distribution_lambda_2_loss: 0.7798 - val_distribution_lambda_3_loss: 1.5644 - val_distribution_lambda_4_loss: 0.4393\n", "Epoch 2/2500\n", "15/15 [==============================] - 0s 4ms/step - loss: 2.9398 - distribution_lambda_2_loss: 0.8407 - distribution_lambda_3_loss: 1.6118 - distribution_lambda_4_loss: 0.4873 - val_loss: 2.7933 - val_distribution_lambda_2_loss: 0.7822 - val_distribution_lambda_3_loss: 1.5676 - val_distribution_lambda_4_loss: 0.4435\n", "Epoch 3/2500\n", "15/15 [==============================] - 0s 4ms/step - loss: 2.8995 - distribution_lambda_2_loss: 0.8200 - distribution_lambda_3_loss: 1.6036 - distribution_lambda_4_loss: 0.4760 - val_loss: 2.7982 - val_distribution_lambda_2_loss: 0.7802 - val_distribution_lambda_3_loss: 1.5689 - val_distribution_lambda_4_loss: 0.4491\n", "Epoch 4/2500\n", "15/15 [==============================] - 0s 4ms/step - loss: 2.9054 - distribution_lambda_2_loss: 0.8196 - distribution_lambda_3_loss: 1.6055 - distribution_lambda_4_loss: 0.4804 - val_loss: 2.8042 - val_distribution_lambda_2_loss: 0.7834 - val_distribution_lambda_3_loss: 1.5700 - val_distribution_lambda_4_loss: 0.4508\n", "Epoch 5/2500\n", "15/15 [==============================] - 0s 4ms/step - loss: 2.9168 - distribution_lambda_2_loss: 0.8201 - distribution_lambda_3_loss: 1.6161 - distribution_lambda_4_loss: 0.4807 - val_loss: 2.7965 - val_distribution_lambda_2_loss: 0.7780 - val_distribution_lambda_3_loss: 1.5696 - val_distribution_lambda_4_loss: 0.4489\n", "Epoch 6/2500\n", "15/15 [==============================] - 0s 4ms/step - loss: 2.8967 - distribution_lambda_2_loss: 0.8326 - distribution_lambda_3_loss: 1.5927 - distribution_lambda_4_loss: 0.4714 - val_loss: 2.7991 - val_distribution_lambda_2_loss: 0.7770 - val_distribution_lambda_3_loss: 1.5737 - val_distribution_lambda_4_loss: 0.4484\n", "Epoch 7/2500\n", "15/15 [==============================] - 0s 4ms/step - loss: 2.8951 - distribution_lambda_2_loss: 0.8099 - distribution_lambda_3_loss: 1.6034 - distribution_lambda_4_loss: 0.4818 - val_loss: 2.8080 - val_distribution_lambda_2_loss: 0.7777 - val_distribution_lambda_3_loss: 1.5762 - val_distribution_lambda_4_loss: 0.4541\n", "Epoch 8/2500\n", "15/15 [==============================] - 0s 4ms/step - loss: 2.9125 - distribution_lambda_2_loss: 0.8264 - distribution_lambda_3_loss: 1.6079 - distribution_lambda_4_loss: 0.4782 - val_loss: 2.8074 - val_distribution_lambda_2_loss: 0.7834 - val_distribution_lambda_3_loss: 1.5742 - val_distribution_lambda_4_loss: 0.4498\n", "Epoch 9/2500\n", "15/15 [==============================] - 0s 4ms/step - loss: 2.8867 - distribution_lambda_2_loss: 0.8113 - distribution_lambda_3_loss: 1.5974 - distribution_lambda_4_loss: 0.4780 - val_loss: 2.8066 - val_distribution_lambda_2_loss: 0.7811 - val_distribution_lambda_3_loss: 1.5766 - val_distribution_lambda_4_loss: 0.4490\n", "Epoch 10/2500\n", "15/15 [==============================] - 0s 4ms/step - loss: 2.8712 - distribution_lambda_2_loss: 0.8028 - distribution_lambda_3_loss: 1.5997 - distribution_lambda_4_loss: 0.4687 - val_loss: 2.8086 - val_distribution_lambda_2_loss: 0.7787 - val_distribution_lambda_3_loss: 1.5787 - val_distribution_lambda_4_loss: 0.4511\n", "Epoch 11/2500\n", "15/15 [==============================] - 0s 4ms/step - loss: 2.9127 - distribution_lambda_2_loss: 0.8165 - distribution_lambda_3_loss: 1.6108 - distribution_lambda_4_loss: 0.4854 - val_loss: 2.8124 - val_distribution_lambda_2_loss: 0.7841 - val_distribution_lambda_3_loss: 1.5808 - val_distribution_lambda_4_loss: 0.4475\n", "Epoch 12/2500\n", "15/15 [==============================] - 0s 4ms/step - loss: 2.9059 - distribution_lambda_2_loss: 0.8270 - distribution_lambda_3_loss: 1.6054 - distribution_lambda_4_loss: 0.4735 - val_loss: 2.8026 - val_distribution_lambda_2_loss: 0.7713 - val_distribution_lambda_3_loss: 1.5797 - val_distribution_lambda_4_loss: 0.4517\n", "Epoch 13/2500\n", "15/15 [==============================] - 0s 4ms/step - loss: 2.8937 - distribution_lambda_2_loss: 0.8163 - distribution_lambda_3_loss: 1.6020 - distribution_lambda_4_loss: 0.4754 - val_loss: 2.8178 - val_distribution_lambda_2_loss: 0.7823 - val_distribution_lambda_3_loss: 1.5816 - val_distribution_lambda_4_loss: 0.4539\n", "Epoch 14/2500\n", "15/15 [==============================] - 0s 4ms/step - loss: 2.8806 - distribution_lambda_2_loss: 0.8093 - distribution_lambda_3_loss: 1.5959 - distribution_lambda_4_loss: 0.4754 - val_loss: 2.8069 - val_distribution_lambda_2_loss: 0.7735 - val_distribution_lambda_3_loss: 1.5803 - val_distribution_lambda_4_loss: 0.4531\n", "Epoch 15/2500\n", "15/15 [==============================] - 0s 4ms/step - loss: 2.8728 - distribution_lambda_2_loss: 0.8181 - distribution_lambda_3_loss: 1.5915 - distribution_lambda_4_loss: 0.4632 - val_loss: 2.8039 - val_distribution_lambda_2_loss: 0.7744 - val_distribution_lambda_3_loss: 1.5786 - val_distribution_lambda_4_loss: 0.4509\n", "Epoch 16/2500\n", "15/15 [==============================] - 0s 4ms/step - loss: 2.8969 - distribution_lambda_2_loss: 0.8197 - distribution_lambda_3_loss: 1.5983 - distribution_lambda_4_loss: 0.4789 - val_loss: 2.8080 - val_distribution_lambda_2_loss: 0.7764 - val_distribution_lambda_3_loss: 1.5797 - val_distribution_lambda_4_loss: 0.4519\n", "Epoch 17/2500\n", "15/15 [==============================] - 0s 4ms/step - loss: 2.8951 - distribution_lambda_2_loss: 0.8161 - distribution_lambda_3_loss: 1.6007 - distribution_lambda_4_loss: 0.4783 - val_loss: 2.8087 - val_distribution_lambda_2_loss: 0.7763 - val_distribution_lambda_3_loss: 1.5806 - val_distribution_lambda_4_loss: 0.4518\n", "Epoch 18/2500\n", "15/15 [==============================] - 0s 4ms/step - loss: 2.8803 - distribution_lambda_2_loss: 0.8058 - distribution_lambda_3_loss: 1.5970 - distribution_lambda_4_loss: 0.4774 - val_loss: 2.8104 - val_distribution_lambda_2_loss: 0.7768 - val_distribution_lambda_3_loss: 1.5797 - val_distribution_lambda_4_loss: 0.4539\n", "Epoch 19/2500\n", "15/15 [==============================] - 0s 4ms/step - loss: 2.8779 - distribution_lambda_2_loss: 0.8111 - distribution_lambda_3_loss: 1.6012 - distribution_lambda_4_loss: 0.4656 - val_loss: 2.7999 - val_distribution_lambda_2_loss: 0.7697 - val_distribution_lambda_3_loss: 1.5788 - val_distribution_lambda_4_loss: 0.4513\n", "Epoch 20/2500\n", "15/15 [==============================] - 0s 4ms/step - loss: 2.8865 - distribution_lambda_2_loss: 0.8202 - distribution_lambda_3_loss: 1.5970 - distribution_lambda_4_loss: 0.4693 - val_loss: 2.8108 - val_distribution_lambda_2_loss: 0.7783 - val_distribution_lambda_3_loss: 1.5813 - val_distribution_lambda_4_loss: 0.4511\n", "Epoch 21/2500\n", "15/15 [==============================] - 0s 5ms/step - loss: 2.8933 - distribution_lambda_2_loss: 0.8156 - distribution_lambda_3_loss: 1.5962 - distribution_lambda_4_loss: 0.4815 - val_loss: 2.8156 - val_distribution_lambda_2_loss: 0.7794 - val_distribution_lambda_3_loss: 1.5805 - val_distribution_lambda_4_loss: 0.4557\n", "Epoch 22/2500\n", "15/15 [==============================] - 0s 5ms/step - loss: 2.8945 - distribution_lambda_2_loss: 0.8244 - distribution_lambda_3_loss: 1.5988 - distribution_lambda_4_loss: 0.4713 - val_loss: 2.8139 - val_distribution_lambda_2_loss: 0.7768 - val_distribution_lambda_3_loss: 1.5813 - val_distribution_lambda_4_loss: 0.4558\n", "Epoch 23/2500\n", "15/15 [==============================] - 0s 5ms/step - loss: 2.8835 - distribution_lambda_2_loss: 0.8139 - distribution_lambda_3_loss: 1.5927 - distribution_lambda_4_loss: 0.4769 - val_loss: 2.8132 - val_distribution_lambda_2_loss: 0.7755 - val_distribution_lambda_3_loss: 1.5811 - val_distribution_lambda_4_loss: 0.4566\n", "Epoch 24/2500\n", "15/15 [==============================] - 0s 5ms/step - loss: 2.8906 - distribution_lambda_2_loss: 0.8175 - distribution_lambda_3_loss: 1.6028 - distribution_lambda_4_loss: 0.4702 - val_loss: 2.8118 - val_distribution_lambda_2_loss: 0.7749 - val_distribution_lambda_3_loss: 1.5813 - val_distribution_lambda_4_loss: 0.4556\n", "Epoch 25/2500\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "15/15 [==============================] - 0s 4ms/step - loss: 2.8800 - distribution_lambda_2_loss: 0.8125 - distribution_lambda_3_loss: 1.5979 - distribution_lambda_4_loss: 0.4696 - val_loss: 2.8146 - val_distribution_lambda_2_loss: 0.7762 - val_distribution_lambda_3_loss: 1.5850 - val_distribution_lambda_4_loss: 0.4534\n", "Epoch 26/2500\n", "15/15 [==============================] - 0s 4ms/step - loss: 2.8830 - distribution_lambda_2_loss: 0.8167 - distribution_lambda_3_loss: 1.5947 - distribution_lambda_4_loss: 0.4716 - val_loss: 2.8205 - val_distribution_lambda_2_loss: 0.7832 - val_distribution_lambda_3_loss: 1.5836 - val_distribution_lambda_4_loss: 0.4537\n", "Epoch 27/2500\n", "15/15 [==============================] - 0s 4ms/step - loss: 2.8630 - distribution_lambda_2_loss: 0.7963 - distribution_lambda_3_loss: 1.5963 - distribution_lambda_4_loss: 0.4704 - val_loss: 2.8112 - val_distribution_lambda_2_loss: 0.7702 - val_distribution_lambda_3_loss: 1.5849 - val_distribution_lambda_4_loss: 0.4561\n", "Epoch 28/2500\n", "15/15 [==============================] - 0s 4ms/step - loss: 2.8747 - distribution_lambda_2_loss: 0.8128 - distribution_lambda_3_loss: 1.5955 - distribution_lambda_4_loss: 0.4665 - val_loss: 2.8163 - val_distribution_lambda_2_loss: 0.7784 - val_distribution_lambda_3_loss: 1.5838 - val_distribution_lambda_4_loss: 0.4540\n", "Epoch 29/2500\n", "15/15 [==============================] - 0s 4ms/step - loss: 2.8714 - distribution_lambda_2_loss: 0.8077 - distribution_lambda_3_loss: 1.5945 - distribution_lambda_4_loss: 0.4692 - val_loss: 2.8034 - val_distribution_lambda_2_loss: 0.7677 - val_distribution_lambda_3_loss: 1.5822 - val_distribution_lambda_4_loss: 0.4535\n", "Epoch 30/2500\n", "15/15 [==============================] - 0s 4ms/step - loss: 2.8645 - distribution_lambda_2_loss: 0.8020 - distribution_lambda_3_loss: 1.5902 - distribution_lambda_4_loss: 0.4724 - val_loss: 2.8095 - val_distribution_lambda_2_loss: 0.7751 - val_distribution_lambda_3_loss: 1.5803 - val_distribution_lambda_4_loss: 0.4541\n", "Epoch 31/2500\n", "15/15 [==============================] - 0s 4ms/step - loss: 2.8748 - distribution_lambda_2_loss: 0.8146 - distribution_lambda_3_loss: 1.5964 - distribution_lambda_4_loss: 0.4638 - val_loss: 2.8157 - val_distribution_lambda_2_loss: 0.7783 - val_distribution_lambda_3_loss: 1.5839 - val_distribution_lambda_4_loss: 0.4535\n", "Epoch 32/2500\n", "15/15 [==============================] - 0s 4ms/step - loss: 2.8871 - distribution_lambda_2_loss: 0.8140 - distribution_lambda_3_loss: 1.5991 - distribution_lambda_4_loss: 0.4740 - val_loss: 2.8063 - val_distribution_lambda_2_loss: 0.7710 - val_distribution_lambda_3_loss: 1.5826 - val_distribution_lambda_4_loss: 0.4526\n", "Epoch 33/2500\n", "15/15 [==============================] - 0s 4ms/step - loss: 2.8908 - distribution_lambda_2_loss: 0.8087 - distribution_lambda_3_loss: 1.5981 - distribution_lambda_4_loss: 0.4841 - val_loss: 2.8009 - val_distribution_lambda_2_loss: 0.7669 - val_distribution_lambda_3_loss: 1.5807 - val_distribution_lambda_4_loss: 0.4532\n", "Epoch 34/2500\n", "15/15 [==============================] - 0s 4ms/step - loss: 2.8637 - distribution_lambda_2_loss: 0.8007 - distribution_lambda_3_loss: 1.5960 - distribution_lambda_4_loss: 0.4670 - val_loss: 2.8210 - val_distribution_lambda_2_loss: 0.7801 - val_distribution_lambda_3_loss: 1.5859 - val_distribution_lambda_4_loss: 0.4550\n", "Epoch 35/2500\n", "15/15 [==============================] - 0s 4ms/step - loss: 2.8438 - distribution_lambda_2_loss: 0.7951 - distribution_lambda_3_loss: 1.5852 - distribution_lambda_4_loss: 0.4634 - val_loss: 2.8146 - val_distribution_lambda_2_loss: 0.7748 - val_distribution_lambda_3_loss: 1.5860 - val_distribution_lambda_4_loss: 0.4538\n", "Epoch 36/2500\n", "15/15 [==============================] - 0s 4ms/step - loss: 2.8835 - distribution_lambda_2_loss: 0.8114 - distribution_lambda_3_loss: 1.5971 - distribution_lambda_4_loss: 0.4751 - val_loss: 2.8154 - val_distribution_lambda_2_loss: 0.7706 - val_distribution_lambda_3_loss: 1.5873 - val_distribution_lambda_4_loss: 0.4575\n", "Epoch 37/2500\n", "15/15 [==============================] - 0s 4ms/step - loss: 2.8663 - distribution_lambda_2_loss: 0.8047 - distribution_lambda_3_loss: 1.5893 - distribution_lambda_4_loss: 0.4723 - val_loss: 2.8228 - val_distribution_lambda_2_loss: 0.7765 - val_distribution_lambda_3_loss: 1.5893 - val_distribution_lambda_4_loss: 0.4571\n", "Epoch 38/2500\n", "15/15 [==============================] - 0s 4ms/step - loss: 2.8676 - distribution_lambda_2_loss: 0.7980 - distribution_lambda_3_loss: 1.5940 - distribution_lambda_4_loss: 0.4756 - val_loss: 2.8247 - val_distribution_lambda_2_loss: 0.7747 - val_distribution_lambda_3_loss: 1.5942 - val_distribution_lambda_4_loss: 0.4557\n", "Epoch 39/2500\n", "15/15 [==============================] - 0s 4ms/step - loss: 2.8653 - distribution_lambda_2_loss: 0.8056 - distribution_lambda_3_loss: 1.5900 - distribution_lambda_4_loss: 0.4698 - val_loss: 2.8175 - val_distribution_lambda_2_loss: 0.7702 - val_distribution_lambda_3_loss: 1.5916 - val_distribution_lambda_4_loss: 0.4557\n", "Epoch 40/2500\n", "15/15 [==============================] - 0s 4ms/step - loss: 2.8710 - distribution_lambda_2_loss: 0.8159 - distribution_lambda_3_loss: 1.5875 - distribution_lambda_4_loss: 0.4675 - val_loss: 2.8171 - val_distribution_lambda_2_loss: 0.7739 - val_distribution_lambda_3_loss: 1.5886 - val_distribution_lambda_4_loss: 0.4547\n", "Epoch 41/2500\n", "15/15 [==============================] - 0s 4ms/step - loss: 2.8540 - distribution_lambda_2_loss: 0.8053 - distribution_lambda_3_loss: 1.5837 - distribution_lambda_4_loss: 0.4651 - val_loss: 2.8149 - val_distribution_lambda_2_loss: 0.7706 - val_distribution_lambda_3_loss: 1.5912 - val_distribution_lambda_4_loss: 0.4530\n", "Epoch 42/2500\n", "15/15 [==============================] - 0s 4ms/step - loss: 2.8515 - distribution_lambda_2_loss: 0.8006 - distribution_lambda_3_loss: 1.5850 - distribution_lambda_4_loss: 0.4659 - val_loss: 2.8068 - val_distribution_lambda_2_loss: 0.7650 - val_distribution_lambda_3_loss: 1.5875 - val_distribution_lambda_4_loss: 0.4543\n", "Epoch 43/2500\n", "15/15 [==============================] - 0s 4ms/step - loss: 2.8835 - distribution_lambda_2_loss: 0.8176 - distribution_lambda_3_loss: 1.5932 - distribution_lambda_4_loss: 0.4727 - val_loss: 2.8167 - val_distribution_lambda_2_loss: 0.7717 - val_distribution_lambda_3_loss: 1.5896 - val_distribution_lambda_4_loss: 0.4555\n", "Epoch 44/2500\n", "15/15 [==============================] - 0s 4ms/step - loss: 2.8590 - distribution_lambda_2_loss: 0.8009 - distribution_lambda_3_loss: 1.5910 - distribution_lambda_4_loss: 0.4671 - val_loss: 2.8176 - val_distribution_lambda_2_loss: 0.7735 - val_distribution_lambda_3_loss: 1.5891 - val_distribution_lambda_4_loss: 0.4549\n", "Epoch 45/2500\n", "15/15 [==============================] - 0s 4ms/step - loss: 2.8851 - distribution_lambda_2_loss: 0.8110 - distribution_lambda_3_loss: 1.6011 - distribution_lambda_4_loss: 0.4731 - val_loss: 2.8222 - val_distribution_lambda_2_loss: 0.7780 - val_distribution_lambda_3_loss: 1.5873 - val_distribution_lambda_4_loss: 0.4568\n", "Epoch 46/2500\n", "15/15 [==============================] - 0s 5ms/step - loss: 2.8825 - distribution_lambda_2_loss: 0.8122 - distribution_lambda_3_loss: 1.6014 - distribution_lambda_4_loss: 0.4689 - val_loss: 2.8112 - val_distribution_lambda_2_loss: 0.7666 - val_distribution_lambda_3_loss: 1.5878 - val_distribution_lambda_4_loss: 0.4568\n", "Epoch 47/2500\n", "15/15 [==============================] - 0s 4ms/step - loss: 2.8640 - distribution_lambda_2_loss: 0.8197 - distribution_lambda_3_loss: 1.5793 - distribution_lambda_4_loss: 0.4650 - val_loss: 2.8134 - val_distribution_lambda_2_loss: 0.7682 - val_distribution_lambda_3_loss: 1.5881 - val_distribution_lambda_4_loss: 0.4571\n", "Epoch 48/2500\n", "15/15 [==============================] - 0s 4ms/step - loss: 2.8478 - distribution_lambda_2_loss: 0.7915 - distribution_lambda_3_loss: 1.5868 - distribution_lambda_4_loss: 0.4694 - val_loss: 2.8135 - val_distribution_lambda_2_loss: 0.7694 - val_distribution_lambda_3_loss: 1.5885 - val_distribution_lambda_4_loss: 0.4556\n", "Epoch 49/2500\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "15/15 [==============================] - 0s 5ms/step - loss: 2.8551 - distribution_lambda_2_loss: 0.8010 - distribution_lambda_3_loss: 1.5880 - distribution_lambda_4_loss: 0.4661 - val_loss: 2.8160 - val_distribution_lambda_2_loss: 0.7707 - val_distribution_lambda_3_loss: 1.5900 - val_distribution_lambda_4_loss: 0.4553\n", "Epoch 50/2500\n", "15/15 [==============================] - 0s 5ms/step - loss: 2.8654 - distribution_lambda_2_loss: 0.8053 - distribution_lambda_3_loss: 1.5910 - distribution_lambda_4_loss: 0.4690 - val_loss: 2.8198 - val_distribution_lambda_2_loss: 0.7728 - val_distribution_lambda_3_loss: 1.5903 - val_distribution_lambda_4_loss: 0.4567\n", "Epoch 51/2500\n", "15/15 [==============================] - 0s 4ms/step - loss: 2.8573 - distribution_lambda_2_loss: 0.8035 - distribution_lambda_3_loss: 1.5875 - distribution_lambda_4_loss: 0.4663 - val_loss: 2.8156 - val_distribution_lambda_2_loss: 0.7705 - val_distribution_lambda_3_loss: 1.5905 - val_distribution_lambda_4_loss: 0.4547\n" ] } ], "source": [ "load_model_gk = True# load scaler and model weights for goalkeeper player predictor\n", "refit_model_gk = True\n", "\n", "if(load_model_gk):\n", " scaler_gk = pickle.load(open('saves/scaler_gk.pkl', 'rb'))\n", " \n", " X_gk_train = scaler_gk.transform(X_gk_train_)\n", " X_gk_test = scaler_gk.transform(X_gk_test_)\n", " \n", " \n", "n_epochs = 2500\n", "\n", "n_samples = X_gk_train.shape[0]\n", "\n", "batch_size = 128\n", "\n", "X_gk_len = X_gk_train.shape[1]\n", "y_gk_len = y_gk_train.shape[1]\n", "\n", "\n", "#tailweight_param = 1.1\n", "\n", "tailweight_min = 0.5\n", "tailweight_range = 0.8\n", "\n", "\n", "callback = tf.keras.callbacks.EarlyStopping(monitor='val_loss', patience = 50)\n", "neg_log_likelihood = lambda x, rv_x: -rv_x.log_prob(x)\n", "\n", "\n", "inputs = tfk.layers.Input(shape=(X_gk_len,), name=\"input\")\n", "x = tfk.layers.Dense(16, activation=\"relu\") (inputs)\n", "x = tfk.layers.Dropout(0.3)(x)\n", "x = tfk.layers.Dense(16, activation=\"relu\") (x)\n", "\n", "\n", "prob_dist_params = 4\n", "\n", "def prob_dist(t): \n", " return tfp.distributions.SinhArcsinh(loc=t[..., 0], scale=1e-3 + tf.math.softplus(t[..., 1]), skewness = t[..., 2], \n", " tailweight = tailweight_min + tailweight_range * tf.math.sigmoid(t[..., 3]),\n", " allow_nan_stats = False)\n", "\n", "x1 = tfk.layers.Dense(16, activation=\"sigmoid\")(x)\n", "x1 = tfk.layers.Dropout(0.2)(x1)\n", "x1 = tfk.layers.Dense(prob_dist_params, activation=\"linear\")(x1)\n", "out_1 = tfp.layers.DistributionLambda(prob_dist)(x1)\n", "\n", "x2 = tfk.layers.Dense(16, activation=\"sigmoid\")(x)\n", "\n", "x2 = tfk.layers.Dense(prob_dist_params, activation=\"linear\")(x2)\n", "out_2 = tfp.layers.DistributionLambda(prob_dist)(x2)\n", "\n", "x3 = tfk.layers.Dense(8, activation=\"sigmoid\")(x)\n", "x3 = tfk.layers.Dropout(0.2)(x3)\n", "x3 = tfk.layers.Dense(1, activation=\"sigmoid\")(x3)\n", "out_3 = tfp.layers.DistributionLambda(lambda t: tfp.distributions.Bernoulli(probs = t[..., 0]))(x3)\n", "\n", "modelb_gk = tf.keras.Model(inputs, [out_1, out_2, out_3])\n", "\n", "modelb_gk.compile(optimizer=tf.keras.optimizers.Nadam(learning_rate = 0.001), \n", " loss=neg_log_likelihood)\n", "\n", "if(load_model_gk):\n", " modelb_gk.load_weights('saves/modelb_gk')\n", "\n", "if( (not load_model_gk) or refit_model_gk): \n", " modelb_gk.fit(X_gk_train.astype('float32'), [y_gk_train[:, 0].astype('float32'), y_gk_train[:, 1].astype('float32'), y_gk_train[:, 2].astype('int')], \n", " validation_data = (X_gk_test.astype('float32'), [y_gk_test[:, 0].astype('float32'), y_gk_test[:, 1].astype('float32'), y_gk_test[:, 2].astype('int')]),\n", " batch_size = batch_size, shuffle = True, epochs=n_epochs, verbose=True, callbacks = [callback])" ] }, { "cell_type": "code", "execution_count": 26, "id": "39a9bdc6", "metadata": {}, "outputs": [], "source": [ "def sample_predict_gk(X, iterations = 100):\n", " y = np.zeros((3, X.shape[0]))\n", " \n", " dist = modelb_gk(X)\n", " \n", " for i in range(iterations):\n", " y[0, :] += dist[0].sample()\n", " y[1, :] += dist[1].sample()\n", " y[2, :] += dist[2].sample()\n", " \n", " return y.transpose() / iterations\n" ] }, { "cell_type": "code", "execution_count": 27, "id": "c41cf448", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.0798265190543076\n", "0.29563465147366164\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "0.02219365253550709\n", "0.159869757007698\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "y_gk_train_predict = sample_predict_gk(X_gk_train)\n", "\n", "plt.plot([0, 20], [0, 20])\n", "\n", "plt.scatter(y_gk_train[:, 0], y_gk_train_predict[:, 0], color = 'orange', edgecolors = 'black', s = 20)\n", "plt.scatter(y_gk_train[:, 1], y_gk_train_predict[:, 1], color = 'green', edgecolors = 'black', s = 20)\n", "\n", "print(r2_score(y_gk_train[:, 0], y_gk_train_predict[:, 0]))\n", "print(r2_score(y_gk_train[:, 1], y_gk_train_predict[:, 1]))\n", "\n", "plt.show()\n", "\n", "y_gk_test_predict = sample_predict_gk(X_gk_test)\n", "\n", "plt.plot([0, 20], [0, 20])\n", "\n", "plt.scatter(y_gk_test[:, 0], y_gk_test_predict[:, 0], color = 'orange', edgecolors = 'black', s = 20)\n", "plt.scatter(y_gk_test[:, 1], y_gk_test_predict[:, 1], color = 'green', edgecolors = 'black', s = 20)\n", "\n", "print(r2_score(y_gk_test[:, 0], y_gk_test_predict[:, 0]))\n", "print(r2_score(y_gk_test[:, 1], y_gk_test_predict[:, 1]))\n", "\n", "\n" ] }, { "cell_type": "markdown", "id": "91869883", "metadata": {}, "source": [ "Use the following codes to save the scalers and the model weights" ] }, { "cell_type": "code", "execution_count": 28, "id": "cecf5392", "metadata": {}, "outputs": [], "source": [ "save_model_of = True\n", "save_model_gk = True\n", "\n", "if(save_model_of):\n", " pickle.dump(scaler, open('saves/scaler.pkl', 'wb'))\n", " modelb.save_weights('saves/modelb')\n", " \n", "if(save_model_gk):\n", " pickle.dump(scaler_gk, open('saves/scaler_gk.pkl', 'wb'))\n", " modelb_gk.save_weights('saves/modelb_gk')\n", " " ] }, { "cell_type": "markdown", "id": "32635a0e", "metadata": {}, "source": [ "Generalized prediction function for a player (playing for team against opp_team, at home or not)\n", "\n", "Estimate prediction mean and sigma (using a custom definitions).\n", "\n", "Generate a plot.\n" ] }, { "cell_type": "code", "execution_count": 29, "id": "ddf433f9", "metadata": {}, "outputs": [], "source": [ "def vote_predict_NNb(player, team, opp_team, home = 1, plot = 0, log = 0, oldseason = False):\n", " if(players['r'][player] == 'P'):\n", " ptest = player_match_data_ext_gk(player, team, opp_team, oldseason = oldseason)\n", "\n", " x_ptest = np.array(ptest)[:, 3:]\n", " r = np.array(ptest)[0, 0]\n", "\n", " # add home and role\n", " xadd = np.zeros((1, 1))\n", " xadd[0, 0] = home\n", "\n", " x_ptest = np.concatenate((x_ptest, xadd), axis = 1)\n", "\n", " x_scaled = scaler_gk.transform(x_ptest)\n", "\n", " dist = modelb_gk(x_scaled)\n", " \n", " clean_shoot_prob = dist[2].probs.numpy()[0]\n", " else:\n", " ptest = player_match_data_ext(player, team, opp_team, oldseason = oldseason)\n", "\n", " x_ptest = np.array(ptest)[:, 4:]\n", " r = np.array(ptest)[0, 0]\n", "\n", " # add home and role\n", " xadd = np.zeros((1, 4))\n", " xadd[0, 0] = home\n", " xadd[0, 1] = r == 'D'\n", " xadd[0, 2] = r == 'C'\n", " xadd[0, 3] = r == 'A'\n", "\n", " x_ptest = np.concatenate((x_ptest, xadd), axis = 1)\n", "\n", " x_scaled = scaler.transform(x_ptest)\n", "\n", " dist = modelb(x_scaled)\n", " \n", " \n", " x = np.arange(0, 40, 0.002)\n", "\n", " px1 = dist[0].prob(x);\n", " px2 = dist[1].prob(x);\n", "\n", " \n", " #sample1 = dist[0].sample(10000)\n", " #sample2 = dist[1].sample(10000)\n", " \n", " m1 = np.average(x, weights = px1)\n", " m2 = np.average(x, weights = px2)\n", " \n", " #m1 = np.mean(sample1)\n", " #m2 = np.mean(sample2)\n", " \n", " #s1 = np.std(sample1)\n", " #s2 = np.std(sample2)\n", " \n", " # not standard deviation, but expected range extimated by quantile \n", " \n", " if(players['r'][player] == 'P'):\n", " s1 = ( dist[0].quantile(0.9545) - m1 ) / 2\n", " s2 = -( dist[1].quantile(1 - 0.9) - m2 ) / 2\n", " else:\n", " s1 = ( dist[0].quantile(0.9545) - m1 ) / 2\n", " s2 = ( dist[1].quantile(0.9) - m2 ) / 2\n", " \n", "\n", " \n", " #y_pred_m = np.array([dist[0].loc, dist[1].loc]).flatten()\n", " y_pred_m = np.array([m1, m2]).flatten()\n", " #y_pred_s = np.array([dist[0].scale, dist[1].scale]).flatten()\n", " y_pred_s = np.array([s1, s2]).flatten()\n", " \n", " clean_sheet_text = ''\n", " if(players['r'][player] == 'P'):\n", " clean_sheet_text = ' (' + \"{:.1f}\".format(clean_shoot_prob*100) + '% cs)'\n", " \n", " if(plot):\n", " ax = plt.gca()\n", " \n", " plt.plot(x, px1, \n", " label = 'MV ' + \"{:.2f}\".format(y_pred_m[0]) + ' ± ' + \"{:.2f}\".format(2 * y_pred_s[0]),\n", " color = 'b')\n", " plt.plot(x, px2, \n", " label = 'FV ' + \"{:.2f}\".format(y_pred_m[1]) + ' + ' + \"{:.2f}\".format(2 * y_pred_s[1]) + clean_sheet_text,\n", " color = 'g')\n", " \n", " plt.fill_between(x, px1, color = 'lightblue')\n", " plt.fill_between(x, px2, color = 'lightgreen')\n", " \n", " plt.legend()\n", " \n", " plt.vlines(x = y_pred_m[0], color = 'b', ymin = 0, ymax = 3, linestyle = 'dashed')\n", " plt.vlines(x = y_pred_m[1], color = 'g', ymin = 0, ymax = 3, linestyle = 'dashed')\n", " \n", " plt.title(player + ' (' + team + ' vs ' + opp_team + ')')\n", " \n", " plt.xlim([0, 15])\n", " \n", " if(players['r'][player] == 'P'): \n", " plt.ylim([0, 2.5])\n", " else:\n", " plt.ylim([0, 1.5])\n", " \n", " plt.show()\n", " \n", " if(log):\n", " print(player + ': ' + \n", " 'MV ' + \"{:.2f}\".format(y_pred_m[0]) + ' ± ' + \"{:.2f}\".format(2 * y_pred_s[0]) +\n", " '; FV ' + \"{:.2f}\".format(y_pred_m[1]) + ' + ' + \"{:.2f}\".format(2 * y_pred_s[1]) + clean_sheet_text);\n", " return [y_pred_m, y_pred_s, dist]\n" ] }, { "cell_type": "markdown", "id": "98817aa0", "metadata": {}, "source": [ "Load Serie A calendar. " ] }, { "cell_type": "code", "execution_count": 30, "id": "d31bad38", "metadata": {}, "outputs": [], "source": [ "cal = np.array(pd.read_excel('fantacalcio/seriea_calendar.xlsx', header = None))\n", "\n", "cal_df = pd.DataFrame(columns = ['matchday', 'team1', 'team2'])\n", "\n", "matchday = 0\n", "\n", "for i in range(cal.shape[0]):\n", " if(cal[i, 0][0].isnumeric()):\n", " matchday = matchday + 1\n", " continue\n", " \n", " teams = cal[i, 0].split('-')\n", " \n", " frame = pd.DataFrame([[matchday, teams[0], teams[1]]], columns = cal_df.columns)\n", "\n", " cal_df = pd.concat([cal_df, frame], ignore_index = True)\n", " " ] }, { "cell_type": "code", "execution_count": 31, "id": "62b9f588", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " matchday team1 team2\n", "0 1 Bologna Milan\n", "1 1 Empoli Verona\n", "2 1 Frosinone Napoli\n", "3 1 Genoa Fiorentina\n", "4 1 Inter Monza\n", "5 1 Lecce Lazio\n", "6 1 Roma Salernitana\n", "7 1 Sassuolo Atalanta\n", "8 1 Torino Cagliari\n", "9 1 Udinese Juventus\n", "10 2 Cagliari Inter\n", "11 2 Fiorentina Lecce\n", "12 2 Frosinone Atalanta\n", "13 2 Verona Roma\n", "14 2 Juventus Bologna\n", "15 2 Lazio Genoa\n", "16 2 Milan Torino\n", "17 2 Monza Empoli\n", "18 2 Napoli Sassuolo\n", "19 2 Salernitana Udinese\n", "20 3 Atalanta Monza\n", "21 3 Bologna Cagliari\n", "22 3 Empoli Juventus\n", "23 3 Inter Fiorentina\n", "24 3 Lecce Salernitana\n", "25 3 Napoli Lazio\n", "26 3 Roma Milan\n", "27 3 Sassuolo Verona\n", "28 3 Torino Genoa\n", "29 3 Udinese Frosinone\n", "30 4 Cagliari Udinese\n", "31 4 Fiorentina Atalanta\n", "32 4 Frosinone Sassuolo\n", "33 4 Genoa Napoli\n", "34 4 Verona Bologna\n", "35 4 Inter Milan\n", "36 4 Juventus Lazio\n", "37 4 Monza Lecce\n", "38 4 Roma Empoli\n", "39 4 Salernitana Torino\n", "40 5 Atalanta Cagliari\n", "41 5 Bologna Napoli\n", "42 5 Empoli Inter\n", "43 5 Lazio Monza\n", "44 5 Lecce Genoa\n", "45 5 Milan Verona\n", "46 5 Salernitana Frosinone\n", "47 5 Sassuolo Juventus\n", "48 5 Torino Roma\n", "49 5 Udinese Fiorentina\n", "50 6 Cagliari Milan\n", "51 6 Empoli Salernitana\n", "52 6 Frosinone Fiorentina\n", "53 6 Genoa Roma\n", "54 6 Verona Atalanta\n", "55 6 Inter Sassuolo\n", "56 6 Juventus Lecce\n", "57 6 Lazio Torino\n", "58 6 Monza Bologna\n", "59 6 Napoli Udinese\n", "60 7 Atalanta Juventus\n", "61 7 Bologna Empoli\n", "62 7 Fiorentina Cagliari\n", "63 7 Lecce Napoli\n", "64 7 Milan Lazio\n", "65 7 Roma Frosinone\n", "66 7 Salernitana Inter\n", "67 7 Sassuolo Monza\n", "68 7 Torino Verona\n", "69 7 Udinese Genoa\n", "70 8 Cagliari Roma\n", "71 8 Empoli Udinese\n", "72 8 Frosinone Verona\n", "73 8 Genoa Milan\n", "74 8 Inter Bologna\n", "75 8 Juventus Torino\n", "76 8 Lazio Atalanta\n", "77 8 Lecce Sassuolo\n", "78 8 Monza Salernitana\n", "79 8 Napoli Fiorentina\n", "80 9 Atalanta Genoa\n", "81 9 Bologna Frosinone\n", "82 9 Fiorentina Empoli\n", "83 9 Verona Napoli\n", "84 9 Milan Juventus\n", "85 9 Roma Monza\n", "86 9 Salernitana Cagliari\n", "87 9 Sassuolo Lazio\n", "88 9 Torino Inter\n", "89 9 Udinese Lecce\n", "90 10 Cagliari Frosinone\n", "91 10 Empoli Atalanta\n", "92 10 Genoa Salernitana\n", "93 10 Inter Roma\n", "94 10 Juventus Verona\n", "95 10 Lazio Fiorentina\n", "96 10 Lecce Torino\n", "97 10 Monza Udinese\n", "98 10 Napoli Milan\n", "99 10 Sassuolo Bologna\n", "100 11 Atalanta Inter\n", "101 11 Bologna Lazio\n", "102 11 Cagliari Genoa\n", "103 11 Fiorentina Juventus\n", "104 11 Frosinone Empoli\n", "105 11 Verona Monza\n", "106 11 Milan Udinese\n", "107 11 Roma Lecce\n", "108 11 Salernitana Napoli\n", "109 11 Torino Sassuolo\n", "110 12 Fiorentina Bologna\n", "111 12 Genoa Verona\n", "112 12 Inter Frosinone\n", "113 12 Juventus Cagliari\n", "114 12 Lazio Roma\n", "115 12 Lecce Milan\n", "116 12 Monza Torino\n", "117 12 Napoli Empoli\n", "118 12 Sassuolo Salernitana\n", "119 12 Udinese Atalanta\n", "120 13 Atalanta Napoli\n", "121 13 Bologna Torino\n", "122 13 Cagliari Monza\n", "123 13 Empoli Sassuolo\n", "124 13 Frosinone Genoa\n", "125 13 Verona Lecce\n", "126 13 Juventus Inter\n", "127 13 Milan Fiorentina\n", "128 13 Roma Udinese\n", "129 13 Salernitana Lazio\n", "130 14 Fiorentina Salernitana\n", "131 14 Genoa Empoli\n", "132 14 Lazio Cagliari\n", "133 14 Lecce Bologna\n", "134 14 Milan Frosinone\n", "135 14 Monza Juventus\n", "136 14 Napoli Inter\n", "137 14 Sassuolo Roma\n", "138 14 Torino Atalanta\n", "139 14 Udinese Verona\n", "140 15 Atalanta Milan\n", "141 15 Cagliari Sassuolo\n", "142 15 Empoli Lecce\n", "143 15 Frosinone Torino\n", "144 15 Verona Lazio\n", "145 15 Inter Udinese\n", "146 15 Juventus Napoli\n", "147 15 Monza Genoa\n", "148 15 Roma Fiorentina\n", "149 15 Salernitana Bologna\n", "150 16 Atalanta Salernitana\n", "151 16 Bologna Roma\n", "152 16 Fiorentina Verona\n", "153 16 Genoa Juventus\n", "154 16 Lazio Inter\n", "155 16 Lecce Frosinone\n", "156 16 Milan Monza\n", "157 16 Napoli Cagliari\n", "158 16 Torino Empoli\n", "159 16 Udinese Sassuolo\n", "160 17 Bologna Atalanta\n", "161 17 Empoli Lazio\n", "162 17 Frosinone Juventus\n", "163 17 Verona Cagliari\n", "164 17 Inter Lecce\n", "165 17 Monza Fiorentina\n", "166 17 Roma Napoli\n", "167 17 Salernitana Milan\n", "168 17 Sassuolo Genoa\n", "169 17 Torino Udinese\n", "170 18 Atalanta Lecce\n", "171 18 Cagliari Empoli\n", "172 18 Fiorentina Torino\n", "173 18 Genoa Inter\n", "174 18 Verona Salernitana\n", "175 18 Juventus Roma\n", "176 18 Milan Sassuolo\n", "177 18 Udinese Bologna\n", "178 18 Lazio Frosinone\n", "179 18 Napoli Monza\n", "180 19 Bologna Genoa\n", "181 19 Empoli Milan\n", "182 19 Frosinone Monza\n", "183 19 Roma Atalanta\n", "184 19 Lecce Cagliari\n", "185 19 Sassuolo Fiorentina\n", "186 19 Inter Verona\n", "187 19 Salernitana Juventus\n", "188 19 Udinese Lazio\n", "189 19 Torino Napoli\n", "190 20 Atalanta Frosinone\n", "191 20 Cagliari Bologna\n", "192 20 Fiorentina Udinese\n", "193 20 Genoa Torino\n", "194 20 Verona Empoli\n", "195 20 Juventus Sassuolo\n", "196 20 Lazio Lecce\n", "197 20 Milan Roma\n", "198 20 Monza Inter\n", "199 20 Napoli Salernitana\n", "200 21 Bologna Fiorentina\n", "201 21 Empoli Monza\n", "202 21 Frosinone Cagliari\n", "203 21 Inter Atalanta\n", "204 21 Lecce Juventus\n", "205 21 Roma Verona\n", "206 21 Salernitana Genoa\n", "207 21 Sassuolo Napoli\n", "208 21 Torino Lazio\n", "209 21 Udinese Milan\n", "210 22 Atalanta Udinese\n", "211 22 Cagliari Torino\n", "212 22 Fiorentina Inter\n", "213 22 Genoa Lecce\n", "214 22 Verona Frosinone\n", "215 22 Juventus Empoli\n", "216 22 Lazio Napoli\n", "217 22 Milan Bologna\n", "218 22 Monza Sassuolo\n", "219 22 Salernitana Roma\n", "220 23 Atalanta Lazio\n", "221 23 Bologna Sassuolo\n", "222 23 Empoli Genoa\n", "223 23 Frosinone Milan\n", "224 23 Inter Juventus\n", "225 23 Lecce Fiorentina\n", "226 23 Napoli Verona\n", "227 23 Roma Cagliari\n", "228 23 Torino Salernitana\n", "229 23 Udinese Monza\n", "230 24 Bologna Lecce\n", "231 24 Cagliari Lazio\n", "232 24 Fiorentina Frosinone\n", "233 24 Genoa Atalanta\n", "234 24 Juventus Udinese\n", "235 24 Milan Napoli\n", "236 24 Monza Verona\n", "237 24 Roma Inter\n", "238 24 Salernitana Empoli\n", "239 24 Sassuolo Torino\n", "240 25 Atalanta Sassuolo\n", "241 25 Empoli Fiorentina\n", "242 25 Frosinone Roma\n", "243 25 Verona Juventus\n", "244 25 Inter Salernitana\n", "245 25 Lazio Bologna\n", "246 25 Monza Milan\n", "247 25 Napoli Genoa\n", "248 25 Torino Lecce\n", "249 25 Udinese Cagliari\n", "250 26 Bologna Verona\n", "251 26 Cagliari Napoli\n", "252 26 Fiorentina Lazio\n", "253 26 Genoa Udinese\n", "254 26 Juventus Frosinone\n", "255 26 Lecce Inter\n", "256 26 Milan Atalanta\n", "257 26 Roma Torino\n", "258 26 Salernitana Monza\n", "259 26 Sassuolo Empoli\n", "260 27 Atalanta Bologna\n", "261 27 Empoli Cagliari\n", "262 27 Frosinone Lecce\n", "263 27 Verona Sassuolo\n", "264 27 Inter Genoa\n", "265 27 Lazio Milan\n", "266 27 Monza Roma\n", "267 27 Napoli Juventus\n", "268 27 Torino Fiorentina\n", "269 27 Udinese Salernitana\n", "270 28 Bologna Inter\n", "271 28 Cagliari Salernitana\n", "272 28 Fiorentina Roma\n", "273 28 Genoa Monza\n", "274 28 Juventus Atalanta\n", "275 28 Lazio Udinese\n", "276 28 Lecce Verona\n", "277 28 Milan Empoli\n", "278 28 Napoli Torino\n", "279 28 Sassuolo Frosinone\n", "280 29 Atalanta Fiorentina\n", "281 29 Empoli Bologna\n", "282 29 Frosinone Lazio\n", "283 29 Verona Milan\n", "284 29 Inter Napoli\n", "285 29 Juventus Genoa\n", "286 29 Monza Cagliari\n", "287 29 Roma Sassuolo\n", "288 29 Salernitana Lecce\n", "289 29 Udinese Torino\n", "290 30 Bologna Salernitana\n", "291 30 Cagliari Verona\n", "292 30 Fiorentina Milan\n", "293 30 Genoa Frosinone\n", "294 30 Inter Empoli\n", "295 30 Lazio Juventus\n", "296 30 Lecce Roma\n", "297 30 Napoli Atalanta\n", "298 30 Sassuolo Udinese\n", "299 30 Torino Monza\n", "300 31 Cagliari Atalanta\n", "301 31 Empoli Torino\n", "302 31 Frosinone Bologna\n", "303 31 Verona Genoa\n", "304 31 Juventus Fiorentina\n", "305 31 Milan Lecce\n", "306 31 Monza Napoli\n", "307 31 Roma Lazio\n", "308 31 Salernitana Sassuolo\n", "309 31 Udinese Inter\n", "310 32 Atalanta Verona\n", "311 32 Bologna Monza\n", "312 32 Fiorentina Genoa\n", "313 32 Inter Cagliari\n", "314 32 Lazio Salernitana\n", "315 32 Lecce Empoli\n", "316 32 Napoli Frosinone\n", "317 32 Sassuolo Milan\n", "318 32 Torino Juventus\n", "319 32 Udinese Roma\n", "320 33 Cagliari Juventus\n", "321 33 Empoli Napoli\n", "322 33 Genoa Lazio\n", "323 33 Verona Udinese\n", "324 33 Milan Inter\n", "325 33 Monza Atalanta\n", "326 33 Roma Bologna\n", "327 33 Salernitana Fiorentina\n", "328 33 Sassuolo Lecce\n", "329 33 Torino Frosinone\n", "330 34 Atalanta Empoli\n", "331 34 Bologna Udinese\n", "332 34 Fiorentina Sassuolo\n", "333 34 Frosinone Salernitana\n", "334 34 Genoa Cagliari\n", "335 34 Inter Torino\n", "336 34 Juventus Milan\n", "337 34 Lazio Verona\n", "338 34 Lecce Monza\n", "339 34 Napoli Roma\n", "340 35 Cagliari Lecce\n", "341 35 Empoli Frosinone\n", "342 35 Verona Fiorentina\n", "343 35 Milan Genoa\n", "344 35 Monza Lazio\n", "345 35 Roma Juventus\n", "346 35 Salernitana Atalanta\n", "347 35 Sassuolo Inter\n", "348 35 Torino Bologna\n", "349 35 Udinese Napoli\n", "350 36 Atalanta Roma\n", "351 36 Fiorentina Monza\n", "352 36 Frosinone Inter\n", "353 36 Genoa Sassuolo\n", "354 36 Verona Torino\n", "355 36 Juventus Salernitana\n", "356 36 Lazio Empoli\n", "357 36 Lecce Udinese\n", "358 36 Milan Cagliari\n", "359 36 Napoli Bologna\n", "360 37 Bologna Juventus\n", "361 37 Fiorentina Napoli\n", "362 37 Inter Lazio\n", "363 37 Lecce Atalanta\n", "364 37 Monza Frosinone\n", "365 37 Roma Genoa\n", "366 37 Salernitana Verona\n", "367 37 Sassuolo Cagliari\n", "368 37 Torino Milan\n", "369 37 Udinese Empoli\n", "370 38 Atalanta Torino\n", "371 38 Cagliari Fiorentina\n", "372 38 Empoli Roma\n", "373 38 Frosinone Udinese\n", "374 38 Genoa Bologna\n", "375 38 Verona Inter\n", "376 38 Juventus Monza\n", "377 38 Lazio Sassuolo\n", "378 38 Milan Salernitana\n", "379 38 Napoli Lecce\n" ] } ], "source": [ "print(cal_df.to_string())" ] }, { "cell_type": "markdown", "id": "62872819", "metadata": {}, "source": [ "Function for generating a prediction for a player, taking match data from a given matchday, according to Serie A calendar." ] }, { "cell_type": "code", "execution_count": 32, "id": "c58ba41d", "metadata": {}, "outputs": [], "source": [ "def PlayerMatch(player, match = 0):\n", " team = players.loc[player]['team']\n", " \n", " if(match == 0):\n", " oppteam = 'Avg'\n", " home = 1\n", " else:\n", " for i in range (cal_df.shape[0]):\n", " if(cal_df['matchday'][i] == match):\n", " if(cal_df['team1'][i] == team):\n", " home = 1\n", " oppteam = cal_df['team2'][i]\n", " elif(cal_df['team2'][i] == team):\n", " home = 0\n", " oppteam = cal_df['team1'][i]\n", " \n", " return [player, team, oppteam, home]\n", "\n", "def predict_player(player, match = 0, plot = 0, log = 0, oldseason = False):\n", " [player, team, oppteam, home] = PlayerMatch(player, match)\n", " return vote_predict_NNb(player, team, oppteam, home = home, plot = plot, log = log, oldseason = oldseason)" ] }, { "cell_type": "markdown", "id": "e8b63a98", "metadata": {}, "source": [ "Load current matchday playing probabilities for Serie A players." ] }, { "cell_type": "code", "execution_count": 33, "id": "f79792b6", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
starterpercentage
player
Ochoa1.090
Lovato1.080
Gyomber1.080
Pirola1.080
Mazzocchi1.080
.........
Pisilli0.010
Aouar0.455
El Shaarawy0.055
Belotti0.060
Azmoun0.035
\n", "

476 rows × 2 columns

\n", "
" ], "text/plain": [ " starter percentage\n", "player \n", "Ochoa 1.0 90\n", "Lovato 1.0 80\n", "Gyomber 1.0 80\n", "Pirola 1.0 80\n", "Mazzocchi 1.0 80\n", "... ... ...\n", "Pisilli 0.0 10\n", "Aouar 0.4 55\n", "El Shaarawy 0.0 55\n", "Belotti 0.0 60\n", "Azmoun 0.0 35\n", "\n", "[476 rows x 2 columns]" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "probables = pd.read_excel('mid_outputs/match_probable_players.xlsx', index_col = 0) \n", "\n", "probables" ] }, { "cell_type": "markdown", "id": "e4751014", "metadata": {}, "source": [ "Generate prediction data for each Serie A player for the current matchday.\n", "\n", "Output to excel file, using a template made for data elaboration." ] }, { "cell_type": "code", "execution_count": 42, "id": "5e63c2b7", "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Sommer: MV 6.21 ± 0.80; FV 5.80 + 1.26 (83.0% cs)\n", "Szczesny: MV 6.17 ± 0.87; FV 5.13 + 1.42 (35.2% cs)\n", "Meret: MV 6.19 ± 0.85; FV 5.46 + 1.32 (44.9% cs)\n", "Provedel: MV 6.22 ± 0.89; FV 5.10 + 1.49 (27.3% cs)\n", "Maignan: MV 6.12 ± 0.97; FV 5.10 + 1.48 (22.0% cs)\n", "Rui Patricio: MV 5.77 ± 0.99; FV 3.50 + 2.58 (1.2% cs)\n", "Skorupski: MV 5.92 ± 0.99; FV 3.55 + 2.61 (1.7% cs)\n", "Milinkovic-Savic V.: MV 5.86 ± 1.02; FV 3.48 + 2.71 (1.2% cs)\n", "Di Gregorio: MV 6.23 ± 0.87; FV 5.10 + 1.53 (26.5% cs)\n", "Falcone: MV 6.18 ± 0.90; FV 5.10 + 1.48 (31.0% cs)\n", "Silvestri: MV 5.80 ± 0.99; FV 3.48 + 2.60 (1.3% cs)\n", "Terracciano: MV 6.22 ± 0.86; FV 5.13 + 1.43 (35.2% cs)\n", "Carnesecchi: MV 6.15 ± 0.89; FV 5.10 + 1.47 (24.5% cs)\n", "Radunovic: MV 5.74 ± 1.06; FV 3.38 + 2.73 (1.1% cs)\n", "Montipo': MV 6.15 ± 0.92; FV 4.74 + 1.67 (12.2% cs)\n", "Martinez Jo.: MV 6.06 ± 0.95; FV 4.42 + 2.07 (6.8% cs)\n", "Ochoa: MV 6.08 ± 0.92; FV 3.59 + 2.49 (2.2% cs)\n", "Caprile: MV 5.95 ± 0.98; FV 3.41 + 2.73 (1.1% cs)\n", "Turati: MV 6.13 ± 0.89; FV 5.46 + 1.28 (34.2% cs)\n", "Consigli: MV 6.03 ± 0.96; FV 3.45 + 2.68 (1.4% cs)\n", "Musso: MV 6.19 ± 0.82; FV 5.78 + 1.26 (76.4% cs)\n", "Cragno: MV 5.97 ± 1.01; FV 3.40 + 2.71 (1.1% cs)\n", "Perin: MV 6.16 ± 0.88; FV 5.68 + 1.26 (67.6% cs)\n", "Berisha: MV 5.93 ± 0.98; FV 3.40 + 2.70 (1.1% cs)\n", "Christensen O.: MV 6.17 ± 0.87; FV 4.67 + 1.84 (12.3% cs)\n", "Sportiello: MV 6.12 ± 0.97; FV 5.10 + 1.48 (22.0% cs)\n", "Mirante: MV 6.12 ± 0.97; FV 5.10 + 1.48 (22.0% cs)\n", "Sepe: MV 6.17 ± 0.90; FV 4.72 + 1.68 (12.4% cs)\n", "Leali: MV 6.06 ± 0.95; FV 4.42 + 2.07 (6.8% cs)\n", "Lamanna: MV 6.21 ± 0.90; FV 5.10 + 1.49 (21.7% cs)\n", "Sommariva: MV 6.06 ± 0.95; FV 4.42 + 2.07 (6.8% cs)\n", "Pegolo: MV 5.99 ± 0.97; FV 3.41 + 2.73 (1.2% cs)\n", "Perilli: MV 6.27 ± 0.85; FV 5.10 + 1.49 (27.4% cs)\n", "Padelli: MV 5.73 ± 1.03; FV 3.43 + 2.67 (1.2% cs)\n", "Scuffet: MV 5.74 ± 1.06; FV 3.38 + 2.73 (1.1% cs)\n", "Gollini: MV 6.07 ± 0.88; FV 5.18 + 1.45 (19.8% cs)\n", "Perisan: MV 5.82 ± 1.02; FV 3.40 + 2.72 (1.1% cs)\n", "Audero: MV 6.21 ± 0.80; FV 5.80 + 1.26 (83.0% cs)\n", "Di Gennaro: MV 6.21 ± 0.80; FV 5.80 + 1.26 (83.0% cs)\n", "Pinsoglio: MV 6.14 ± 0.92; FV 5.10 + 1.47 (25.2% cs)\n", "Aresti: MV 5.74 ± 1.06; FV 3.38 + 2.73 (1.1% cs)\n", "Fiorillo: MV 6.08 ± 0.92; FV 3.59 + 2.49 (2.2% cs)\n", "Cerofolini: MV 6.14 ± 0.92; FV 5.10 + 1.48 (23.1% cs)\n", "Rossi F.: MV 6.20 ± 0.87; FV 5.10 + 1.48 (19.9% cs)\n", "Costil: MV 6.08 ± 0.92; FV 3.59 + 2.49 (2.2% cs)\n", "Ravaglia F.: MV 5.88 ± 1.01; FV 3.48 + 2.61 (2.1% cs)\n", "Frattali: MV 6.13 ± 0.89; FV 5.46 + 1.28 (34.2% cs)\n", "Contini: MV 6.07 ± 0.88; FV 5.18 + 1.45 (19.8% cs)\n", "Brancolini: MV 6.18 ± 0.90; FV 5.10 + 1.47 (29.3% cs)\n", "Berardi A.: MV 6.27 ± 0.85; FV 5.10 + 1.49 (27.4% cs)\n", "Gemello: MV 5.86 ± 0.99; FV 3.59 + 2.54 (1.5% cs)\n", "Boer: MV 5.71 ± 1.04; FV 3.40 + 2.70 (1.1% cs)\n", "Bagnolini: MV 5.88 ± 1.01; FV 3.48 + 2.61 (2.1% cs)\n", "Svilar: MV 5.71 ± 1.04; FV 3.40 + 2.70 (1.1% cs)\n", "Sorrentino A.: MV 6.04 ± 0.91; FV 4.65 + 1.69 (12.3% cs)\n", "Martinelli T.: MV 6.25 ± 0.82; FV 5.12 + 1.47 (27.8% cs)\n", "Popa: MV 5.86 ± 0.99; FV 3.59 + 2.54 (1.5% cs)\n", "Stubljar: MV 5.95 ± 0.98; FV 3.41 + 2.73 (1.1% cs)\n", "Gori: MV 6.21 ± 0.90; FV 5.10 + 1.49 (21.7% cs)\n", "Borbei: MV 6.18 ± 0.90; FV 5.10 + 1.47 (29.3% cs)\n", "Okoye: MV 5.73 ± 1.03; FV 3.43 + 2.67 (1.2% cs)\n", "Mandas: MV 6.17 ± 0.90; FV 4.72 + 1.68 (12.4% cs)\n", "Dimarco: MV 6.56 ± 0.78; FV 6.79 + 1.53\n", "Di Lorenzo: MV 6.31 ± 1.10; FV 6.92 + 2.14\n", "Hernandez T.: MV 6.22 ± 1.04; FV 6.79 + 2.05\n", "Carlos Augusto: MV 6.50 ± 0.91; FV 7.04 + 2.15\n", "Danilo: MV 6.39 ± 0.89; FV 6.85 + 1.87\n", "Zappacosta: MV 6.17 ± 0.91; FV 6.52 + 1.55\n", "Schuurs: MV 6.05 ± 1.14; FV 6.13 + 1.46\n", "Posch: MV 5.98 ± 1.07; FV 6.21 + 1.56\n", "Bastoni: MV 6.52 ± 0.75; FV 6.68 + 1.22\n", "Smalling: MV 6.10 ± 0.92; FV 6.28 + 1.27\n", "Dumfries: MV 6.48 ± 0.92; FV 7.04 + 2.17\n", "Romagnoli: MV 6.13 ± 0.96; FV 6.32 + 1.40\n", "Pavard: MV 6.43 ± 0.71; FV 6.62 + 1.21\n", "Rrahmani: MV 6.06 ± 1.03; FV 6.21 + 1.30\n", "Spinazzola: MV 6.17 ± 0.86; FV 6.48 + 1.43\n", "Buongiorno: MV 6.03 ± 1.19; FV 6.17 + 1.66\n", "Bremer: MV 6.24 ± 1.04; FV 6.69 + 1.89\n", "Tomori: MV 6.14 ± 0.76; FV 6.19 + 0.86\n", "Biraghi: MV 6.08 ± 0.89; FV 6.43 + 1.44\n", "Mancini: MV 5.98 ± 0.99; FV 6.09 + 1.26\n", "Darmian: MV 6.43 ± 0.74; FV 6.66 + 1.30\n", "Bakker: MV 6.04 ± 0.55; FV 6.11 + 0.68\n", "Mazzocchi: MV 5.92 ± 0.84; FV 6.11 + 1.18\n", "Doig: MV 5.86 ± 1.08; FV 6.14 + 1.59\n", "Calabria: MV 6.13 ± 0.82; FV 6.31 + 1.12\n", "Acerbi: MV 6.37 ± 0.71; FV 6.47 + 0.99\n", "Cuadrado: MV 6.36 ± 0.81; FV 6.61 + 1.39\n", "Ebuehi: MV 5.53 ± 0.75; FV 5.50 + 0.77\n", "Casale: MV 5.98 ± 0.82; FV 6.06 + 1.05\n", "Holm: MV 6.11 ± 0.67; FV 6.23 + 0.86\n", "Baschirotto: MV 6.11 ± 1.07; FV 6.41 + 1.59\n", "Bijol: MV 5.77 ± 1.25; FV 5.65 + 1.55\n", "Thiaw: MV 5.86 ± 1.15; FV 5.70 + 1.17\n", "Mario Rui: MV 5.95 ± 0.80; FV 5.98 + 0.84\n", "Milenkovic: MV 5.96 ± 0.89; FV 6.00 + 0.99\n", "Rodriguez R.: MV 5.90 ± 0.99; FV 5.80 + 1.10\n", "Kolasinac: MV 6.04 ± 0.65; FV 6.15 + 0.78\n", "N'dicka: MV 5.98 ± 0.62; FV 5.96 + 0.61\n", "Scalvini: MV 6.09 ± 0.87; FV 6.27 + 1.21\n", "Perez N.: MV 5.79 ± 1.19; FV 5.67 + 1.45\n", "Kristensen: MV 6.01 ± 0.75; FV 6.21 + 1.06\n", "Izzo: MV 5.99 ± 0.91; FV 6.07 + 1.22\n", "De Vrij: MV 6.48 ± 0.73; FV 6.62 + 1.14\n", "Faraoni: MV 5.72 ± 0.79; FV 5.80 + 1.01\n", "Toloi: MV 6.09 ± 0.75; FV 6.18 + 0.94\n", "Kyriakopoulos: MV 5.88 ± 0.68; FV 5.89 + 0.80\n", "Bellanova: MV 5.89 ± 1.08; FV 5.89 + 1.32\n", "Mari': MV 5.82 ± 0.87; FV 5.83 + 1.04\n", "Dodo': MV 5.96 ± 0.80; FV 6.00 + 0.88\n", "Lucumi': MV 5.74 ± 1.04; FV 5.68 + 1.20\n", "Hien: MV 5.70 ± 1.05; FV 5.66 + 1.25\n", "Natan: MV 5.92 ± 0.90; FV 5.96 + 1.02\n", "Hysaj: MV 5.98 ± 0.73; FV 6.08 + 1.02\n", "D'ambrosio: MV 6.00 ± 0.67; FV 5.97 + 0.78\n", "Luperto: MV 5.38 ± 1.16; FV 5.35 + 1.29\n", "Djimsiti: MV 6.03 ± 0.63; FV 6.02 + 0.58\n", "Marusic: MV 5.93 ± 0.81; FV 5.93 + 0.92\n", "Martin: MV 5.85 ± 0.64; FV 5.93 + 0.80\n", "Mina: MV 6.01 ± 0.71; FV 6.20 + 0.96\n", "Toljan: MV 5.61 ± 0.86; FV 5.55 + 0.89\n", "Llorente D.: MV 5.80 ± 0.98; FV 5.77 + 1.05\n", "Martinez Quarta: MV 6.00 ± 0.85; FV 6.07 + 0.97\n", "Bastoni S.: MV 5.55 ± 0.73; FV 5.49 + 0.78\n", "Dragusin: MV 5.81 ± 0.84; FV 5.93 + 1.11\n", "Parisi: MV 6.06 ± 0.79; FV 6.17 + 1.01\n", "Bradaric: MV 5.83 ± 0.97; FV 5.91 + 1.24\n", "Kamara H.: MV 5.96 ± 0.92; FV 5.97 + 1.09\n", "Olivera: MV 5.98 ± 0.67; FV 6.08 + 0.75\n", "Gendrey: MV 5.99 ± 0.71; FV 5.97 + 0.78\n", "Kristiansen: MV 6.02 ± 0.86; FV 6.16 + 1.25\n", "Beukema: MV 5.83 ± 1.11; FV 5.85 + 1.36\n", "Dossena: MV 5.68 ± 0.85; FV 5.65 + 0.99\n", "Pedersen: MV 5.77 ± 0.59; FV 5.78 + 0.62\n", "Juan Jesus: MV 5.99 ± 0.60; FV 5.98 + 0.55\n", "Gyomber: MV 5.83 ± 1.00; FV 5.78 + 1.10\n", "Alex Sandro: MV 5.90 ± 0.90; FV 5.83 + 1.05\n", "Hateboer: MV 6.04 ± 0.83; FV 6.28 + 1.29\n", "Palomino: MV 5.98 ± 0.57; FV 5.99 + 0.58\n", "Marchizza: MV 6.06 ± 0.79; FV 6.18 + 0.98\n", "Zappa: MV 5.60 ± 0.86; FV 5.49 + 0.88\n", "Gallo: MV 5.97 ± 0.87; FV 5.98 + 0.96\n", "Caldirola: MV 5.80 ± 1.00; FV 5.85 + 1.33\n", "Kalulu: MV 5.97 ± 0.84; FV 6.01 + 0.91\n", "Erlic: MV 5.62 ± 0.99; FV 5.54 + 1.03\n", "Vojvoda: MV 5.75 ± 0.87; FV 5.73 + 1.04\n", "Vasquez: MV 5.91 ± 0.75; FV 5.88 + 0.81\n", "Cambiaso: MV 6.18 ± 0.84; FV 6.38 + 1.29\n", "Pongracic: MV 6.07 ± 0.83; FV 6.12 + 1.03\n", "Viti: MV 5.92 ± 0.57; FV 6.01 + 0.74\n", "Gatti: MV 6.18 ± 0.75; FV 6.26 + 0.99\n", "Birindelli: MV 5.92 ± 0.77; FV 5.94 + 0.93\n", "Azzi: MV 5.71 ± 0.73; FV 5.70 + 0.83\n", "Wieteska: MV 5.75 ± 0.92; FV 5.73 + 1.09\n", "Masina: MV 5.77 ± 1.20; FV 6.00 + 1.65\n", "Romagnoli S.: MV 6.05 ± 0.94; FV 6.21 + 1.27\n", "Pezzella Giu.: MV 5.40 ± 0.88; FV 5.34 + 0.81\n", "Sabelli: MV 5.90 ± 0.60; FV 5.92 + 0.71\n", "Lirola: MV 6.20 ± 0.89; FV 6.55 + 1.53\n", "Lazzari: MV 6.01 ± 0.78; FV 6.01 + 0.92\n", "Bani: MV 5.76 ± 1.04; FV 5.88 + 1.37\n", "Djidji: MV 5.66 ± 1.00; FV 5.59 + 1.21\n", "Kabasele: MV 5.67 ± 0.99; FV 5.56 + 1.17\n", "Lazaro: MV 5.99 ± 0.83; FV 6.02 + 1.08\n", "Augello: MV 5.66 ± 0.88; FV 5.69 + 1.01\n", "Zortea: MV 6.11 ± 0.80; FV 6.40 + 1.25\n", "Dawidowicz: MV 5.67 ± 1.02; FV 5.65 + 1.23\n", "Pirola: MV 5.82 ± 1.05; FV 5.93 + 1.38\n", "Lovato: MV 5.67 ± 0.88; FV 5.58 + 0.94\n", "Ruggeri: MV 6.14 ± 0.93; FV 6.40 + 1.39\n", "Vina: MV 5.70 ± 0.95; FV 5.68 + 1.02\n", "Obert: MV 5.57 ± 1.01; FV 5.52 + 1.09\n", "Terracciano F.: MV 6.02 ± 0.79; FV 6.12 + 1.04\n", "Ebosele: MV 5.69 ± 0.90; FV 5.69 + 1.00\n", "Zemura: MV 5.85 ± 0.89; FV 5.81 + 1.02\n", "Hatzidiakos: MV 5.73 ± 0.90; FV 5.73 + 1.07\n", "Patric: MV 6.02 ± 0.66; FV 6.01 + 0.67\n", "Lykogiannis: MV 5.71 ± 0.73; FV 5.78 + 0.85\n", "Pellegrini Lu.: MV 5.86 ± 0.66; FV 5.82 + 0.71\n", "Magnani: MV 5.64 ± 1.15; FV 5.65 + 1.40\n", "Ranieri L.: MV 5.90 ± 0.66; FV 5.89 + 0.70\n", "Carboni A.: MV 5.96 ± 0.78; FV 6.03 + 0.97\n", "Calafiori: MV 5.91 ± 0.97; FV 6.03 + 1.29\n", "Monterisi: MV 6.19 ± 1.07; FV 6.73 + 2.09\n", "Ismajli: MV 5.47 ± 0.86; FV 5.39 + 0.83\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "De Winter: MV 5.82 ± 0.83; FV 5.72 + 0.86\n", "Tressoldi: MV 5.71 ± 0.86; FV 5.74 + 1.05\n", "Ehizibue: MV 5.61 ± 1.06; FV 5.63 + 1.22\n", "Vogliacco: MV 5.84 ± 0.85; FV 5.83 + 0.96\n", "Ferrari G.: MV 5.60 ± 1.00; FV 5.63 + 1.14\n", "Venuti: MV 5.89 ± 0.77; FV 5.86 + 0.79\n", "Karsdorp: MV 5.87 ± 0.56; FV 5.85 + 0.51\n", "Kjaer: MV 5.79 ± 0.54; FV 5.79 + 0.46\n", "Gunter: MV 5.56 ± 1.17; FV 5.50 + 1.38\n", "Soumaoro: MV 5.78 ± 1.30; FV 5.74 + 1.46\n", "Di Pardo: MV 5.60 ± 0.97; FV 5.54 + 1.05\n", "Zanoli: MV 6.08 ± 0.92; FV 6.39 + 1.42\n", "Zima: MV 5.81 ± 0.75; FV 5.74 + 0.77\n", "Hefti: MV 5.70 ± 0.82; FV 5.61 + 0.85\n", "Ostigard: MV 5.76 ± 0.64; FV 5.75 + 0.59\n", "Sambia: MV 5.95 ± 0.78; FV 5.99 + 0.93\n", "Bisseck: MV 6.28 ± 0.75; FV 6.46 + 1.16\n", "Oyono: MV 6.04 ± 0.72; FV 6.08 + 0.78\n", "Ferreira J.: MV 5.62 ± 0.97; FV 5.54 + 1.07\n", "Dorgu: MV 6.10 ± 0.67; FV 6.12 + 0.78\n", "Touba: MV 6.05 ± 0.79; FV 6.12 + 1.00\n", "Sazonov: MV 5.79 ± 1.12; FV 5.72 + 1.35\n", "Rugani: MV 6.13 ± 0.60; FV 6.16 + 0.68\n", "De Sciglio: MV 5.98 ± 0.68; FV 6.00 + 0.75\n", "Goldaniga: MV 5.52 ± 0.98; FV 5.44 + 1.02\n", "Florenzi: MV 6.05 ± 0.58; FV 6.08 + 0.60\n", "De Silvestri: MV 5.83 ± 0.74; FV 5.90 + 0.90\n", "Pereira P.: MV 5.91 ± 0.78; FV 5.94 + 0.95\n", "Fazio: MV 5.84 ± 1.27; FV 5.98 + 1.65\n", "Bereszynski: MV 5.42 ± 0.88; FV 5.36 + 0.83\n", "Bonifazi: MV 5.61 ± 1.09; FV 5.47 + 1.18\n", "Walukiewicz: MV 5.36 ± 0.80; FV 5.30 + 0.63\n", "Okoli: MV 5.95 ± 0.73; FV 5.93 + 0.75\n", "Kumbulla: MV 5.35 ± 1.44; FV 5.20 + 1.41\n", "Celik: MV 5.61 ± 0.86; FV 5.49 + 0.84\n", "Amione: MV 5.61 ± 0.97; FV 5.58 + 1.15\n", "Daniliuc: MV 5.76 ± 1.07; FV 5.79 + 1.33\n", "Soppy: MV 5.73 ± 0.86; FV 5.70 + 1.02\n", "Haps: MV 5.78 ± 0.86; FV 5.83 + 1.08\n", "Cittadini: MV 5.94 ± 0.88; FV 6.05 + 1.19\n", "Coppola D.: MV 5.64 ± 0.87; FV 5.55 + 0.97\n", "Cacace: MV 5.43 ± 0.74; FV 5.34 + 0.66\n", "Ebosse: MV 5.48 ± 0.96; FV 5.41 + 0.93\n", "Guessand A.: MV 5.67 ± 1.05; FV 5.61 + 1.24\n", "Cabal: MV 5.73 ± 0.58; FV 5.63 + 0.59\n", "Missori: MV 5.69 ± 0.77; FV 5.67 + 0.88\n", "Kayode: MV 6.02 ± 0.67; FV 6.05 + 0.67\n", "Corazza: MV 5.66 ± 0.84; FV 5.63 + 0.92\n", "Kristensen T.: MV 5.75 ± 1.13; FV 5.70 + 1.44\n", "Dermaku: MV 6.02 ± 0.85; FV 6.11 + 1.09\n", "Tonelli: MV 5.41 ± 0.96; FV 5.35 + 0.94\n", "Capradossi: MV 5.66 ± 1.03; FV 5.68 + 1.23\n", "Bettella: MV 5.94 ± 0.88; FV 6.05 + 1.19\n", "Amey: MV 5.76 ± 1.09; FV 5.83 + 1.37\n", "Gila: MV 5.93 ± 0.78; FV 5.93 + 0.84\n", "Bronn: MV 5.64 ± 0.91; FV 5.53 + 0.93\n", "Guarino: MV 5.51 ± 0.90; FV 5.48 + 0.94\n", "Carboni F.: MV 5.98 ± 0.78; FV 6.05 + 0.98\n", "Smajlovic: MV 6.03 ± 0.88; FV 6.15 + 1.17\n", "Matturro: MV 5.84 ± 0.85; FV 5.83 + 0.96\n", "N'guessan: MV 5.79 ± 1.12; FV 5.72 + 1.35\n", "Mateus Lusuardi: MV 6.05 ± 0.89; FV 6.20 + 1.15\n", "Kalaj: MV 6.05 ± 0.89; FV 6.20 + 1.15\n", "Pierozzi: MV 5.98 ± 0.72; FV 6.01 + 0.75\n", "Huijsen: MV 6.10 ± 0.84; FV 6.32 + 1.33\n", "Bonfanti: MV 6.06 ± 0.73; FV 6.14 + 0.89\n", "Pellegrino: MV 6.02 ± 0.78; FV 6.08 + 0.88\n", "Comuzzo: MV 5.98 ± 0.72; FV 6.01 + 0.75\n", "Zaccagni: MV 6.34 ± 1.07; FV 7.04 + 2.49\n", "Koopmeiners: MV 6.41 ± 1.04; FV 7.19 + 2.57\n", "Luis Alberto: MV 6.41 ± 1.05; FV 7.19 + 2.62\n", "Felipe Anderson: MV 6.15 ± 1.18; FV 6.87 + 2.56\n", "Rabiot: MV 6.40 ± 1.17; FV 7.36 + 3.00\n", "Zielinski: MV 6.27 ± 0.84; FV 6.58 + 1.44\n", "Barella: MV 6.55 ± 0.86; FV 6.97 + 1.99\n", "Pulisic: MV 6.26 ± 1.01; FV 6.79 + 1.96\n", "Orsolini: MV 6.21 ± 1.25; FV 6.97 + 2.66\n", "Calhanoglu: MV 6.61 ± 0.75; FV 6.79 + 1.50\n", "Strefezza: MV 6.27 ± 1.04; FV 6.84 + 2.11\n", "Chukwueze: MV 6.07 ± 0.75; FV 6.28 + 1.03\n", "Ferguson: MV 6.21 ± 1.08; FV 6.74 + 2.06\n", "Candreva: MV 6.21 ± 1.26; FV 6.97 + 2.68\n", "Frattesi: MV 6.52 ± 1.02; FV 7.36 + 2.82\n", "Samardzic: MV 6.07 ± 1.11; FV 6.59 + 1.98\n", "Vlasic: MV 6.14 ± 1.13; FV 6.69 + 2.07\n", "Bonaventura: MV 6.21 ± 0.98; FV 6.72 + 1.90\n", "Politano: MV 6.33 ± 0.81; FV 6.63 + 1.48\n", "El Shaarawy: MV 6.26 ± 0.92; FV 6.63 + 1.69\n", "Mkhitaryan: MV 6.54 ± 0.94; FV 7.17 + 2.42\n", "Aouar: MV 6.13 ± 1.01; FV 6.63 + 1.90\n", "Malinovskyi: MV 5.95 ± 1.05; FV 6.42 + 1.86\n", "Gudmundsson A.: MV 6.03 ± 0.88; FV 6.33 + 1.41\n", "Kamada: MV 6.09 ± 0.98; FV 6.57 + 1.90\n", "Pellegrini Lo.: MV 5.98 ± 1.15; FV 6.51 + 1.97\n", "Kostic: MV 6.33 ± 1.04; FV 6.99 + 2.31\n", "Radonjic: MV 6.34 ± 1.25; FV 7.23 + 2.88\n", "Baldanzi: MV 5.59 ± 0.76; FV 5.61 + 0.86\n", "Lovric: MV 6.14 ± 1.07; FV 6.60 + 1.88\n", "Lindstrom: MV 6.10 ± 0.81; FV 6.34 + 1.23\n", "Lazovic: MV 6.13 ± 1.02; FV 6.53 + 1.74\n", "Pereyra: MV 6.20 ± 1.23; FV 6.83 + 2.49\n", "Renato Sanches: MV 6.13 ± 0.77; FV 6.36 + 1.08\n", "Pessina: MV 6.09 ± 0.94; FV 6.48 + 1.66\n", "Guendouzi: MV 6.04 ± 0.69; FV 6.16 + 0.86\n", "Loftus-Cheek: MV 6.12 ± 0.64; FV 6.15 + 0.66\n", "Zambo Anguissa: MV 6.08 ± 0.93; FV 6.37 + 1.34\n", "Elmas: MV 6.04 ± 0.98; FV 6.42 + 1.57\n", "Bajrami: MV 5.90 ± 0.65; FV 5.95 + 0.74\n", "Ricci S.: MV 6.02 ± 0.85; FV 6.14 + 1.21\n", "Colpani: MV 6.35 ± 1.05; FV 7.08 + 2.50\n", "Ciurria: MV 6.17 ± 1.02; FV 6.71 + 2.04\n", "De Roon: MV 6.16 ± 0.81; FV 6.38 + 1.18\n", "Pogba: MV 6.09 ± 0.72; FV 6.19 + 0.98\n", "Cristante: MV 6.11 ± 1.04; FV 6.32 + 1.47\n", "Locatelli: MV 6.17 ± 0.77; FV 6.33 + 1.15\n", "Pasalic: MV 6.05 ± 0.80; FV 6.36 + 1.28\n", "Lobotka: MV 6.06 ± 0.65; FV 6.11 + 0.66\n", "Fagioli: MV 6.19 ± 1.02; FV 6.72 + 2.01\n", "Ikone': MV 6.02 ± 0.93; FV 6.40 + 1.55\n", "Ilic: MV 6.03 ± 0.97; FV 6.27 + 1.49\n", "Ndoye: MV 5.83 ± 0.88; FV 5.96 + 1.14\n", "Ederson D.s.: MV 6.13 ± 0.81; FV 6.31 + 1.10\n", "Reijnders: MV 6.17 ± 0.76; FV 6.37 + 1.06\n", "Barak: MV 5.95 ± 0.71; FV 6.05 + 0.81\n", "Saponara: MV 6.02 ± 1.02; FV 6.42 + 1.69\n", "Mandragora: MV 6.03 ± 0.90; FV 6.33 + 1.41\n", "Weah: MV 6.09 ± 0.59; FV 6.21 + 0.74\n", "Bennacer: MV 6.24 ± 0.82; FV 6.54 + 1.32\n", "Duda: MV 6.17 ± 1.11; FV 6.71 + 2.09\n", "Castrovilli: MV 6.04 ± 0.99; FV 6.46 + 1.69\n", "Mckennie: MV 6.35 ± 0.94; FV 6.84 + 1.93\n", "Miranchuk: MV 6.22 ± 0.84; FV 6.60 + 1.49\n", "Matheus Henrique: MV 5.77 ± 0.78; FV 5.87 + 1.02\n", "De Ketelaere: MV 6.06 ± 0.82; FV 6.27 + 1.10\n", "Mboula: MV 5.62 ± 0.76; FV 5.60 + 0.82\n", "Paredes: MV 5.77 ± 1.07; FV 5.70 + 1.16\n", "Sottil: MV 6.01 ± 0.62; FV 6.11 + 0.69\n", "Klaassen: MV 6.40 ± 0.83; FV 6.81 + 1.78\n", "Arthur Melo: MV 6.03 ± 0.76; FV 6.06 + 0.78\n", "Thorsby: MV 5.72 ± 0.90; FV 5.79 + 1.16\n", "Nandez: MV 5.94 ± 0.71; FV 6.04 + 1.00\n", "Tameze: MV 5.80 ± 0.87; FV 5.74 + 1.01\n", "Marin: MV 5.56 ± 0.85; FV 5.54 + 0.93\n", "Messias: MV 5.86 ± 1.02; FV 6.23 + 1.61\n", "Musah: MV 6.03 ± 0.61; FV 6.03 + 0.63\n", "Coulibaly L.: MV 6.05 ± 1.05; FV 6.36 + 1.62\n", "Krunic: MV 6.05 ± 0.68; FV 6.04 + 0.69\n", "Cataldi: MV 5.96 ± 0.69; FV 5.94 + 0.68\n", "Strootman: MV 5.87 ± 0.69; FV 5.92 + 0.86\n", "Duncan: MV 6.08 ± 0.76; FV 6.33 + 1.11\n", "Freuler: MV 5.92 ± 0.65; FV 5.96 + 0.79\n", "Gagliardini: MV 5.88 ± 0.75; FV 5.85 + 0.79\n", "Mazzitelli: MV 6.27 ± 1.12; FV 6.89 + 2.24\n", "Jankto: MV 5.82 ± 0.67; FV 5.79 + 0.73\n", "Kastanos: MV 5.95 ± 0.75; FV 6.08 + 0.99\n", "Gyasi: MV 5.52 ± 0.74; FV 5.45 + 0.77\n", "Reinier: MV 6.04 ± 0.87; FV 6.19 + 1.12\n", "Zalewski: MV 5.97 ± 0.75; FV 6.06 + 0.84\n", "Harroui: MV 6.27 ± 0.92; FV 6.73 + 1.77\n", "Frendrup: MV 5.94 ± 0.68; FV 6.00 + 0.87\n", "Blin: MV 6.03 ± 0.61; FV 6.03 + 0.69\n", "Fabbian: MV 6.09 ± 0.95; FV 6.48 + 1.69\n", "Ramadani: MV 6.20 ± 0.90; FV 6.36 + 1.25\n", "Cajuste : MV 5.92 ± 0.87; FV 5.94 + 0.96\n", "Mancosu: MV 5.69 ± 0.99; FV 5.73 + 1.21\n", "Vecino: MV 5.96 ± 0.82; FV 6.04 + 1.06\n", "Sensi: MV 6.42 ± 0.87; FV 6.88 + 1.88\n", "Walace: MV 5.65 ± 1.00; FV 5.61 + 1.10\n", "Lopez M.: MV 5.90 ± 0.61; FV 5.85 + 0.54\n", "Brescianini: MV 6.09 ± 0.69; FV 6.15 + 0.78\n", "Bove: MV 6.02 ± 0.72; FV 6.17 + 0.90\n", "Aebischer: MV 5.83 ± 0.72; FV 5.98 + 0.96\n", "Thorstvedt: MV 5.86 ± 0.62; FV 5.89 + 0.70\n", "Gonzalez J.: MV 5.98 ± 0.75; FV 6.07 + 1.03\n", "Moro N.: MV 6.03 ± 0.85; FV 6.28 + 1.32\n", "Oudin: MV 6.14 ± 0.94; FV 6.49 + 1.59\n", "Boloca: MV 5.73 ± 0.88; FV 5.75 + 1.07\n", "Rafia: MV 6.15 ± 0.74; FV 6.37 + 1.23\n", "Makoumbou: MV 5.78 ± 0.70; FV 5.80 + 0.83\n", "Kaba: MV 6.04 ± 0.57; FV 6.02 + 0.62\n", "Badelj: MV 5.86 ± 0.75; FV 5.83 + 0.78\n", "Machin: MV 5.95 ± 0.88; FV 6.06 + 1.20\n", "Linetty: MV 5.81 ± 0.84; FV 5.78 + 1.02\n", "Castillejo: MV 5.79 ± 0.59; FV 5.86 + 0.70\n", "Rovella: MV 6.09 ± 0.95; FV 6.22 + 1.27\n", "Pobega: MV 6.02 ± 0.64; FV 6.10 + 0.74\n", "Hongla: MV 5.72 ± 0.82; FV 5.79 + 0.98\n", "Miretti: MV 6.05 ± 0.75; FV 6.26 + 1.08\n", "Fazzini: MV 5.55 ± 0.64; FV 5.42 + 0.65\n", "Iling Junior: MV 6.09 ± 0.84; FV 6.30 + 1.33\n", "Oristanio: MV 5.68 ± 0.84; FV 5.63 + 0.90\n", "Serdar: MV 5.73 ± 0.83; FV 5.75 + 1.00\n", "Payero: MV 5.80 ± 1.04; FV 5.79 + 1.30\n", "Grassi: MV 5.51 ± 0.78; FV 5.42 + 0.78\n", "Baez: MV 6.08 ± 0.75; FV 6.29 + 1.02\n", "Deiola: MV 5.66 ± 0.97; FV 5.68 + 1.14\n", "Garritano: MV 6.22 ± 0.67; FV 6.30 + 0.83\n", "Bourabia: MV 6.07 ± 0.80; FV 6.25 + 1.05\n", "Saelemaekers: MV 5.92 ± 0.90; FV 6.19 + 1.34\n", "Maldini: MV 5.64 ± 0.73; FV 5.69 + 0.89\n", "Racic: MV 5.85 ± 0.63; FV 5.83 + 0.68\n", "Kovalenko: MV 5.61 ± 0.67; FV 5.54 + 0.73\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Maleh: MV 5.56 ± 0.55; FV 5.41 + 0.57\n", "Bohinen: MV 5.91 ± 0.58; FV 5.86 + 0.56\n", "Ranocchia F.: MV 5.67 ± 0.66; FV 5.72 + 0.80\n", "Folorunsho: MV 5.85 ± 0.93; FV 6.10 + 1.37\n", "Infantino: MV 5.90 ± 0.53; FV 5.87 + 0.48\n", "Martegani: MV 5.93 ± 0.95; FV 6.00 + 1.20\n", "Kutlu: MV 5.86 ± 0.74; FV 5.83 + 0.82\n", "Tchatchoua: MV 5.76 ± 0.97; FV 5.85 + 1.27\n", "Quina: MV 5.99 ± 0.94; FV 6.06 + 1.20\n", "Adopo: MV 5.97 ± 0.78; FV 6.00 + 0.81\n", "Romero L.: MV 6.25 ± 0.88; FV 6.65 + 1.63\n", "Basic: MV 6.04 ± 0.74; FV 6.14 + 1.01\n", "Asllani: MV 6.10 ± 0.56; FV 6.15 + 0.54\n", "Tchaouna: MV 5.86 ± 0.82; FV 5.87 + 1.00\n", "Sulemana I.: MV 5.65 ± 0.72; FV 5.59 + 0.74\n", "Barrenechea: MV 6.04 ± 0.76; FV 6.10 + 0.88\n", "Gelli: MV 6.05 ± 0.86; FV 6.18 + 1.07\n", "Suslov: MV 5.78 ± 0.89; FV 5.85 + 1.15\n", "Gaetano: MV 6.04 ± 0.99; FV 6.54 + 1.83\n", "Jagiello: MV 5.87 ± 0.84; FV 5.86 + 0.96\n", "Obiang: MV 5.86 ± 0.55; FV 5.83 + 0.55\n", "Maggiore: MV 5.89 ± 0.53; FV 5.85 + 0.53\n", "Akpa Akpro: MV 5.95 ± 0.88; FV 6.06 + 1.20\n", "Urbanski: MV 5.91 ± 0.78; FV 6.00 + 1.01\n", "Volpato: MV 5.82 ± 0.72; FV 5.90 + 0.90\n", "Vignato S.: MV 5.87 ± 0.79; FV 5.90 + 0.94\n", "Hrustic: MV 5.54 ± 0.69; FV 5.57 + 0.74\n", "Zarraga: MV 5.47 ± 0.98; FV 5.45 + 0.91\n", "Camara E.: MV 5.79 ± 1.08; FV 5.80 + 1.39\n", "Amatucci: MV 5.93 ± 0.66; FV 5.92 + 0.64\n", "Pagano: MV 5.95 ± 0.62; FV 5.95 + 0.60\n", "Prati: MV 5.70 ± 0.90; FV 5.69 + 1.03\n", "Viola: MV 5.62 ± 0.79; FV 5.53 + 0.76\n", "Lulic K.: MV 6.04 ± 0.87; FV 6.19 + 1.12\n", "Rog: MV 5.71 ± 0.79; FV 5.69 + 0.85\n", "Nicolussi Caviglia: MV 5.90 ± 0.88; FV 6.26 + 1.47\n", "Demme: MV 5.98 ± 0.48; FV 5.93 + 0.39\n", "Pafundi: MV 6.00 ± 0.80; FV 6.02 + 0.86\n", "Adli: MV 5.98 ± 0.69; FV 6.02 + 0.72\n", "Bondo: MV 5.95 ± 0.84; FV 6.06 + 1.11\n", "Zerbin: MV 6.04 ± 0.61; FV 6.09 + 0.64\n", "Carboni V.: MV 6.00 ± 0.78; FV 6.09 + 1.00\n", "Faticanti: MV 6.03 ± 0.86; FV 6.14 + 1.14\n", "Gineitis: MV 5.91 ± 0.92; FV 5.91 + 1.14\n", "Belardinelli: MV 5.53 ± 0.86; FV 5.50 + 0.92\n", "El Azzouzi: MV 5.93 ± 0.69; FV 6.02 + 0.87\n", "Lipani: MV 5.76 ± 0.82; FV 5.81 + 1.02\n", "Joselito: MV 5.76 ± 0.97; FV 5.85 + 1.27\n", "Legowski: MV 5.96 ± 1.03; FV 6.12 + 1.39\n", "Ibrahimovic A.: MV 6.04 ± 0.87; FV 6.19 + 1.12\n", "Osimhen: MV 6.47 ± 1.55; FV 7.89 + 4.08\n", "Martinez L.: MV 6.56 ± 1.27; FV 7.97 + 3.97\n", "Rafael Leao: MV 6.50 ± 1.19; FV 7.58 + 3.28\n", "Lukaku: MV 6.26 ± 1.46; FV 7.29 + 3.16\n", "Berardi: MV 6.32 ± 1.38; FV 7.38 + 3.38\n", "Immobile: MV 6.17 ± 1.35; FV 7.10 + 3.02\n", "Vlahovic: MV 6.41 ± 1.47; FV 7.70 + 3.82\n", "Dybala: MV 6.41 ± 1.49; FV 7.69 + 3.78\n", "Kvaratskhelia: MV 6.42 ± 1.25; FV 7.47 + 3.19\n", "Giroud: MV 6.46 ± 1.20; FV 7.54 + 3.25\n", "Scamacca: MV 6.36 ± 1.30; FV 7.60 + 3.52\n", "Thuram: MV 6.59 ± 1.03; FV 7.50 + 3.06\n", "Lookman: MV 6.42 ± 1.29; FV 7.62 + 3.49\n", "Dia: MV 6.30 ± 1.40; FV 7.39 + 3.41\n", "Arnautovic: MV 6.52 ± 1.09; FV 7.49 + 3.08\n", "Retegui: MV 5.91 ± 1.23; FV 6.42 + 1.94\n", "Sanabria: MV 6.17 ± 1.33; FV 7.01 + 2.74\n", "Nzola: MV 5.95 ± 1.18; FV 6.51 + 2.00\n", "Lauriente': MV 6.08 ± 1.18; FV 6.56 + 2.17\n", "Zapata D.: MV 5.97 ± 0.99; FV 6.36 + 1.60\n", "Chiesa: MV 6.46 ± 1.19; FV 7.51 + 3.21\n", "Milik: MV 6.31 ± 1.09; FV 7.06 + 2.53\n", "Gonzalez N.: MV 6.23 ± 1.09; FV 7.02 + 2.56\n", "Okafor: MV 6.01 ± 0.51; FV 6.00 + 0.49\n", "Pinamonti: MV 5.83 ± 1.08; FV 6.21 + 1.68\n", "Beltran L.: MV 6.04 ± 0.96; FV 6.51 + 1.76\n", "Caprari: MV 6.04 ± 1.00; FV 6.50 + 1.79\n", "Sanchez: MV 6.45 ± 0.96; FV 7.08 + 2.32\n", "Caputo: MV 5.53 ± 0.73; FV 5.57 + 0.78\n", "Toure' E.: MV 6.05 ± 0.74; FV 6.17 + 0.94\n", "Krstovic: MV 6.38 ± 0.87; FV 6.82 + 1.82\n", "Belotti: MV 6.10 ± 0.99; FV 6.62 + 1.91\n", "Muriel: MV 6.18 ± 0.82; FV 6.47 + 1.38\n", "Lapadula: MV 5.86 ± 0.93; FV 6.18 + 1.49\n", "Jovic: MV 6.09 ± 1.18; FV 6.80 + 2.40\n", "Abraham: MV 6.11 ± 1.24; FV 6.87 + 2.48\n", "Zirkzee: MV 6.21 ± 1.02; FV 6.73 + 2.01\n", "Ngonge: MV 5.98 ± 1.16; FV 6.53 + 2.01\n", "Petagna: MV 5.88 ± 0.98; FV 6.21 + 1.53\n", "Simeone: MV 5.84 ± 0.92; FV 6.24 + 1.42\n", "Deulofeu: MV 6.35 ± 1.27; FV 7.35 + 3.17\n", "Pedro: MV 6.05 ± 0.93; FV 6.42 + 1.61\n", "Shomurodov: MV 5.70 ± 0.75; FV 5.88 + 1.01\n", "Azmoun: MV 5.89 ± 0.82; FV 6.19 + 1.27\n", "Castellanos: MV 5.96 ± 0.56; FV 5.95 + 0.57\n", "Cheddira: MV 6.28 ± 1.16; FV 7.20 + 2.82\n", "Karlsson: MV 6.12 ± 0.90; FV 6.47 + 1.58\n", "Brekalo: MV 6.05 ± 1.02; FV 6.57 + 1.89\n", "Cambiaghi: MV 5.69 ± 0.88; FV 5.81 + 1.11\n", "Henry: MV 5.81 ± 0.97; FV 6.12 + 1.42\n", "Mulattieri: MV 5.79 ± 0.61; FV 5.94 + 0.90\n", "Almqvist: MV 6.21 ± 1.07; FV 6.75 + 2.05\n", "Isaksen: MV 5.93 ± 0.76; FV 5.96 + 0.90\n", "Kean: MV 6.03 ± 1.25; FV 6.69 + 2.43\n", "Karamoh: MV 5.98 ± 0.84; FV 6.26 + 1.35\n", "Thauvin: MV 5.60 ± 0.81; FV 5.73 + 0.89\n", "Kouame': MV 6.04 ± 1.10; FV 6.67 + 2.17\n", "Raspadori: MV 5.94 ± 0.98; FV 6.34 + 1.57\n", "Colombo: MV 5.96 ± 1.16; FV 6.50 + 2.05\n", "Luvumbo: MV 5.89 ± 0.74; FV 6.00 + 1.00\n", "Mota: MV 5.89 ± 1.13; FV 6.33 + 1.83\n", "Brenner: MV 5.77 ± 1.10; FV 5.79 + 1.40\n", "Bonazzoli: MV 5.90 ± 0.98; FV 6.27 + 1.53\n", "Djuric: MV 5.85 ± 0.74; FV 6.03 + 1.04\n", "Davis K.: MV 5.77 ± 1.10; FV 5.79 + 1.40\n", "Banda: MV 6.19 ± 0.86; FV 6.48 + 1.47\n", "Defrel: MV 5.68 ± 0.68; FV 5.73 + 0.86\n", "Sansone: MV 6.34 ± 1.14; FV 7.16 + 2.70\n", "Pellegri: MV 5.71 ± 0.85; FV 5.89 + 1.07\n", "Piccoli: MV 5.99 ± 0.81; FV 6.29 + 1.37\n", "Success: MV 5.80 ± 0.92; FV 6.09 + 1.26\n", "Botheim: MV 5.78 ± 0.75; FV 5.89 + 1.01\n", "Lucca: MV 5.79 ± 0.95; FV 5.97 + 1.23\n", "Caso: MV 6.26 ± 1.01; FV 6.82 + 2.03\n", "Jovane: MV 5.96 ± 1.03; FV 6.15 + 1.41\n", "Soule': MV 6.35 ± 0.87; FV 6.71 + 1.61\n", "Pavoletti: MV 5.71 ± 0.72; FV 5.79 + 0.92\n", "Cancellieri: MV 5.53 ± 0.62; FV 5.44 + 0.60\n", "Seck: MV 6.14 ± 0.72; FV 6.29 + 1.00\n", "Alvarez A.: MV 5.81 ± 0.68; FV 5.90 + 0.87\n", "Cuni: MV 6.04 ± 0.63; FV 6.08 + 0.69\n", "Ekuban: MV 5.79 ± 0.65; FV 5.90 + 0.78\n", "Maric: MV 5.96 ± 0.72; FV 6.01 + 0.89\n", "Cruz: MV 5.75 ± 0.96; FV 5.86 + 1.25\n", "Destro: MV 5.50 ± 0.81; FV 5.47 + 0.82\n", "Van Hooijdonk: MV 5.91 ± 0.92; FV 6.07 + 1.25\n", "Ceide: MV 5.70 ± 0.72; FV 5.72 + 0.73\n", "Kvernadze: MV 6.01 ± 0.81; FV 6.11 + 0.98\n", "Ikwuemesi: MV 5.87 ± 0.85; FV 5.92 + 1.03\n", "Puscas: MV 5.85 ± 0.85; FV 5.89 + 1.01\n", "Ake' M.: MV 5.77 ± 1.02; FV 5.75 + 1.22\n", "Braaf: MV 5.61 ± 0.69; FV 5.75 + 0.86\n", "Kallon: MV 5.85 ± 0.86; FV 6.11 + 1.32\n", "Kaio Jorge: MV 6.01 ± 0.61; FV 6.08 + 0.63\n", "Vivaldo: MV 5.77 ± 1.10; FV 5.79 + 1.40\n", "Bidaoui: MV 6.05 ± 0.89; FV 6.26 + 1.21\n", "Shpendi S.: MV 5.53 ± 0.73; FV 5.47 + 0.75\n", "Burnete: MV 6.05 ± 0.80; FV 6.14 + 1.05\n", "Corfitzen: MV 6.04 ± 0.89; FV 6.21 + 1.25\n", "Stewart: MV 5.96 ± 1.03; FV 6.15 + 1.41\n", "Yildiz: MV 6.10 ± 0.87; FV 6.37 + 1.41\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
roleteamoppteamhomestartervote%MVMV stdFVFV stdMV locMV scaleMV skewnessMV tailweightFV locFV scaleFV skewnessFV tailweightClean Sheet %
player
MussoPAtalantaCagliari11.0706.1879040.4095655.7782990.6319746.1721510.4840120.0240841.0804896.5513830.575009-0.8545111.14347576.430595
CarnesecchiPAtalantaCagliari10.056.1533840.4425855.0991820.7361546.0956620.5084260.0838871.0717205.3160641.103085-0.1447010.99880924.471429
Rossi F.PAtalantaCagliari10.016.2021950.4365605.0985400.7387886.1708730.5100680.0453971.0575365.3119031.107865-0.1417560.99746519.948235
ZappacostaDAtalantaCagliari10.6606.1740580.4525876.5195520.7753986.1104740.5142450.0908840.8969255.8749330.9761980.4630321.2996770.000000
ZorteaDAtalantaCagliari10.4406.1068190.3977386.4038750.6274506.0252980.4447250.1347160.9410825.8773320.7854330.4693231.2996580.000000
............................................................
HenryAVeronaMilan00.005.8067320.4848936.1246260.7106775.5558640.4908550.3694050.8526315.4220480.7794010.6062381.2996820.000000
KallonAVeronaMilan00.005.8471510.4300286.1105720.6580535.6506040.4412750.3232100.9048555.4753280.7392650.5823581.2996580.000000
DjuricAVeronaMilan00.4605.8477150.3719626.0319660.5181095.7127090.3934300.2505970.9614395.5998520.6510160.4651761.2996290.000000
CruzAVeronaMilan00.0155.7513100.4814515.8633180.6270915.6551690.5389070.1309590.8928665.4551230.8801950.3345361.2995940.000000
BraafAVeronaMilan00.005.6130920.3469005.7509200.4289005.4777310.3614780.2730280.9883185.4287940.5695550.4023691.2995860.000000
\n", "

539 rows × 19 columns

\n", "
" ], "text/plain": [ " role team oppteam home starter vote% MV MV std \\\n", "player \n", "Musso P Atalanta Cagliari 1 1.0 70 6.187904 0.409565 \n", "Carnesecchi P Atalanta Cagliari 1 0.0 5 6.153384 0.442585 \n", "Rossi F. P Atalanta Cagliari 1 0.0 1 6.202195 0.436560 \n", "Zappacosta D Atalanta Cagliari 1 0.6 60 6.174058 0.452587 \n", "Zortea D Atalanta Cagliari 1 0.4 40 6.106819 0.397738 \n", "... ... ... ... ... ... ... ... ... \n", "Henry A Verona Milan 0 0.0 0 5.806732 0.484893 \n", "Kallon A Verona Milan 0 0.0 0 5.847151 0.430028 \n", "Djuric A Verona Milan 0 0.4 60 5.847715 0.371962 \n", "Cruz A Verona Milan 0 0.0 15 5.751310 0.481451 \n", "Braaf A Verona Milan 0 0.0 0 5.613092 0.346900 \n", "\n", " FV FV std MV loc MV scale MV skewness \\\n", "player \n", "Musso 5.778299 0.631974 6.172151 0.484012 0.024084 \n", "Carnesecchi 5.099182 0.736154 6.095662 0.508426 0.083887 \n", "Rossi F. 5.098540 0.738788 6.170873 0.510068 0.045397 \n", "Zappacosta 6.519552 0.775398 6.110474 0.514245 0.090884 \n", "Zortea 6.403875 0.627450 6.025298 0.444725 0.134716 \n", "... ... ... ... ... ... \n", "Henry 6.124626 0.710677 5.555864 0.490855 0.369405 \n", "Kallon 6.110572 0.658053 5.650604 0.441275 0.323210 \n", "Djuric 6.031966 0.518109 5.712709 0.393430 0.250597 \n", "Cruz 5.863318 0.627091 5.655169 0.538907 0.130959 \n", "Braaf 5.750920 0.428900 5.477731 0.361478 0.273028 \n", "\n", " MV tailweight FV loc FV scale FV skewness FV tailweight \\\n", "player \n", "Musso 1.080489 6.551383 0.575009 -0.854511 1.143475 \n", "Carnesecchi 1.071720 5.316064 1.103085 -0.144701 0.998809 \n", "Rossi F. 1.057536 5.311903 1.107865 -0.141756 0.997465 \n", "Zappacosta 0.896925 5.874933 0.976198 0.463032 1.299677 \n", "Zortea 0.941082 5.877332 0.785433 0.469323 1.299658 \n", "... ... ... ... ... ... \n", "Henry 0.852631 5.422048 0.779401 0.606238 1.299682 \n", "Kallon 0.904855 5.475328 0.739265 0.582358 1.299658 \n", "Djuric 0.961439 5.599852 0.651016 0.465176 1.299629 \n", "Cruz 0.892866 5.455123 0.880195 0.334536 1.299594 \n", "Braaf 0.988318 5.428794 0.569555 0.402369 1.299586 \n", "\n", " Clean Sheet % \n", "player \n", "Musso 76.430595 \n", "Carnesecchi 24.471429 \n", "Rossi F. 19.948235 \n", "Zappacosta 0.000000 \n", "Zortea 0.000000 \n", "... ... \n", "Henry 0.000000 \n", "Kallon 0.000000 \n", "Djuric 0.000000 \n", "Cruz 0.000000 \n", "Braaf 0.000000 \n", "\n", "[539 rows x 19 columns]" ] }, "execution_count": 42, "metadata": {}, "output_type": "execute_result" } ], "source": [ "matchday_out = 5\n", "\n", "output = pd.DataFrame(columns = ['player', 'role', 'team', 'oppteam', 'home', 'starter', 'vote%', 'MV', 'MV std', 'FV', 'FV std', 'MV loc', 'MV scale', 'MV skewness', 'MV tailweight', 'FV loc', 'FV scale', 'FV skewness', 'FV tailweight', 'Clean Sheet %'])\n", "\n", "for i in range(players.shape[0]):\n", " try:\n", " [player, team, oppteam, home] = PlayerMatch(players.index[i], matchday_out)\n", " \n", " [mean, std, dist] = vote_predict_NNb(player, team, oppteam, home = home, log = 1)\n", " \n", " role = players['r'][player] \n", " \n", " starter = 0\n", " voteperc = 0\n", " \n", " cs = 0\n", " if(role == 'P'):\n", " cs = dist[2].probs.numpy()[0] * 100\n", " \n", " if(player in probables.index):\n", " starter = probables['starter'][player]\n", " voteperc = probables['percentage'][player]\n", " \n", " row = [player, role, team, oppteam, home, \n", " starter, voteperc, \n", " mean[0], std[0], \n", " mean[1], std[1], \n", " dist[0].loc.numpy()[0], dist[0].scale.numpy()[0], \n", " dist[0].skewness.numpy()[0], dist[0].tailweight.numpy()[0], \n", " dist[1].loc.numpy()[0], dist[1].scale.numpy()[0], \n", " dist[1].skewness.numpy()[0], dist[1].tailweight.numpy()[0],\n", " cs]\n", " \n", " row_df = pd.DataFrame(data = [row], columns = output.columns)\n", " \n", " output = pd.concat([output, row_df])\n", " \n", " except:\n", " print(players.index[i] + ' no data')\n", "\n", "output = output.set_index('player')\n", "\n", "output = output.sort_values(['team', 'role', 'FV'], ascending = [True, False, False])\n", "#output.to_excel('outputs/pred_matchday_' + str(matchday_out) + '.xlsx')\n", "\n", "output" ] }, { "cell_type": "code", "execution_count": 43, "id": "6befd611", "metadata": {}, "outputs": [], "source": [ "import shutil\n", "\n", "template_file = 'outputs/pred_matchday_base.xlsx'\n", "dest_file = 'outputs/pred_matchday_' + str(matchday_out) + '.xlsx'\n", "\n", "shutil.copyfile(template_file, dest_file)\n", "\n", "with pd.ExcelWriter(dest_file, mode = 'a', engine=\"openpyxl\", if_sheet_exists = 'replace') as writer: \n", " output.to_excel(writer, sheet_name='data')" ] }, { "cell_type": "markdown", "id": "eed7a7ac", "metadata": {}, "source": [ "Predict average Serie A performance for each player" ] }, { "cell_type": "code", "execution_count": 44, "id": "2b637a15", "metadata": {}, "outputs": [], "source": [ "gk_starters = ['Maignan', 'Ochoa', 'Silvestri', 'Consigli', 'Provedel', 'Di Gregorio', 'Meret', 'Milinkovic-Savic V.',\n", " 'Terracciano', 'Sommer', 'Szczesny', 'Skorupski', 'Berisha', 'Musso', 'Radunovic', 'Rui Patricio',\n", " 'Montipo\\'', 'Falcone', 'Martinez Jo.', 'Turati']" ] }, { "cell_type": "code", "execution_count": 45, "id": "60d73507", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Sommer (6.16, 0.43); (5.75, 0.63)\n", "Szczesny (6.16, 0.45); (5.10, 0.74)\n", "Meret (6.06, 0.45); (5.09, 0.74)\n", "Provedel (6.16, 0.45); (4.50, 0.98)\n", "Maignan (6.16, 0.44); (4.61, 0.91)\n", "Rui Patricio (5.81, 0.51); (3.74, 1.19)\n", "Skorupski (5.90, 0.50); (3.96, 1.15)\n", "Milinkovic-Savic V. (6.15, 0.44); (5.41, 0.66)\n", "Di Gregorio (6.23, 0.43); (5.10, 0.78)\n", "Falcone (6.21, 0.45); (5.11, 0.76)\n", "Silvestri (5.99, 0.46); (4.59, 0.91)\n", "Terracciano (6.14, 0.45); (4.81, 0.86)\n", "Carnesecchi (5.87, 0.50); (3.43, 1.37)\n", "Radunovic (6.21, 0.42); (5.13, 0.73)\n", "Montipo' (6.19, 0.44); (5.13, 0.73)\n", "Martinez Jo. (6.08, 0.46); (4.86, 0.86)\n", "Ochoa (6.05, 0.47); (3.48, 1.32)\n", "Caprile (5.81, 0.48); (3.58, 1.25)\n", "Turati (6.10, 0.48); (5.07, 0.75)\n", "Consigli (5.99, 0.48); (3.88, 1.20)\n", "Musso (6.17, 0.43); (5.72, 0.63)\n", "Cragno (6.00, 0.49); (3.42, 1.40)\n", "Perin (6.16, 0.44); (5.19, 0.69)\n", "Berisha (5.83, 0.52); (3.40, 1.36)\n", "Christensen O. (6.05, 0.47); (3.70, 1.22)\n", "Sportiello (6.16, 0.44); (4.61, 0.91)\n", "Mirante (6.16, 0.44); (4.61, 0.91)\n", "Sepe (6.14, 0.45); (4.03, 1.09)\n", "Leali (6.08, 0.46); (4.86, 0.86)\n", "Lamanna (6.16, 0.45); (4.95, 0.79)\n", "Sommariva (6.08, 0.46); (4.86, 0.86)\n", "Pegolo (5.94, 0.49); (3.70, 1.28)\n", "Perilli (6.17, 0.43); (5.19, 0.69)\n", "Padelli (5.96, 0.46); (4.71, 0.90)\n", "Scuffet (6.21, 0.42); (5.13, 0.73)\n", "Gollini (5.83, 0.51); (3.91, 1.18)\n", "Perisan (5.61, 0.50); (3.25, 1.32)\n", "Audero (6.16, 0.43); (5.74, 0.63)\n", "Di Gennaro (6.16, 0.43); (5.75, 0.63)\n", "Pinsoglio (6.12, 0.48); (5.10, 0.74)\n", "Aresti (6.21, 0.42); (5.13, 0.73)\n", "Fiorillo (6.05, 0.47); (3.48, 1.32)\n", "Cerofolini (6.21, 0.46); (5.10, 0.75)\n", "Rossi F. (5.96, 0.50); (3.41, 1.37)\n", "Costil (6.05, 0.47); (3.48, 1.32)\n", "Ravaglia F. (5.90, 0.49); (3.86, 1.18)\n", "Frattali (6.10, 0.48); (5.07, 0.75)\n", "Contini (5.83, 0.51); (3.91, 1.18)\n", "Brancolini (6.17, 0.46); (5.10, 0.74)\n", "Berardi A. (6.17, 0.43); (5.19, 0.69)\n", "Gemello (6.16, 0.43); (5.64, 0.63)\n", "Boer (5.74, 0.53); (3.41, 1.35)\n", "Bagnolini (5.90, 0.49); (3.86, 1.18)\n", "Svilar (5.74, 0.53); (3.41, 1.35)\n", "Sorrentino A. (5.97, 0.47); (3.98, 1.09)\n", "Martinelli T. (6.04, 0.47); (4.11, 1.09)\n", "Popa (6.16, 0.43); (5.64, 0.63)\n", "Stubljar (5.81, 0.48); (3.58, 1.25)\n", "Gori (6.16, 0.45); (4.95, 0.79)\n", "Borbei (6.17, 0.46); (5.10, 0.74)\n", "Okoye (5.96, 0.46); (4.71, 0.90)\n", "Mandas (6.14, 0.45); (4.03, 1.09)\n", "Dimarco (6.34, 0.39); (6.61, 0.67)\n", "Di Lorenzo (6.31, 0.57); (6.97, 1.14)\n", "Hernandez T. (6.13, 0.62); (6.74, 1.18)\n", "Carlos Augusto (6.28, 0.48); (6.76, 0.92)\n", "Danilo (6.32, 0.43); (6.65, 0.77)\n", "Zappacosta (6.10, 0.56); (6.57, 0.98)\n", "Schuurs (6.09, 0.46); (6.24, 0.63)\n", "Posch (5.97, 0.48); (6.21, 0.75)\n", "Bastoni (6.29, 0.38); (6.42, 0.50)\n", "Smalling (6.12, 0.45); (6.40, 0.71)\n", "Dumfries (6.26, 0.47); (6.73, 0.90)\n", "Romagnoli (6.02, 0.50); (6.09, 0.64)\n", "Pavard (6.12, 0.33); (6.23, 0.43)\n", "Rrahmani (6.07, 0.54); (6.27, 0.72)\n", "Spinazzola (6.20, 0.42); (6.50, 0.73)\n", "Buongiorno (6.07, 0.48); (6.34, 0.78)\n", "Bremer (6.08, 0.51); (6.29, 0.73)\n", "Tomori (6.04, 0.46); (6.12, 0.58)\n", "Biraghi (6.08, 0.56); (6.61, 1.03)\n", "Mancini (6.01, 0.50); (6.27, 0.73)\n", "Darmian (6.16, 0.36); (6.34, 0.51)\n", "Bakker (5.99, 0.32); (6.07, 0.42)\n", "Mazzocchi (5.79, 0.39); (5.92, 0.52)\n", "Doig (6.00, 0.52); (6.31, 0.80)\n", "Calabria (6.01, 0.45); (6.21, 0.66)\n", "Acerbi (6.08, 0.35); (6.12, 0.37)\n", "Cuadrado (6.05, 0.40); (6.15, 0.50)\n", "Ebuehi (5.67, 0.43); (5.72, 0.52)\n", "Casale (5.87, 0.47); (5.89, 0.58)\n", "Holm (6.05, 0.41); (6.28, 0.60)\n", "Baschirotto (5.93, 0.54); (6.10, 0.72)\n", "Bijol (5.81, 0.53); (5.91, 0.70)\n", "Thiaw (5.66, 0.68); (5.55, 0.67)\n", "Mario Rui (6.00, 0.45); (6.10, 0.56)\n", "Milenkovic (5.78, 0.59); (5.86, 0.76)\n", "Rodriguez R. (5.98, 0.38); (5.98, 0.41)\n", "Kolasinac (5.98, 0.38); (6.13, 0.51)\n", "N'dicka (6.01, 0.28); (6.01, 0.29)\n", "Scalvini (5.95, 0.56); (6.13, 0.74)\n", "Perez N. (5.82, 0.45); (5.82, 0.55)\n", "Kristensen (6.01, 0.36); (6.19, 0.54)\n", "Izzo (5.93, 0.46); (5.98, 0.58)\n", "De Vrij (6.24, 0.37); (6.35, 0.47)\n", "Faraoni (5.85, 0.38); (5.96, 0.52)\n", "Toloi (6.01, 0.46); (6.14, 0.61)\n", "Kyriakopoulos (5.86, 0.31); (5.84, 0.35)\n", "Bellanova (5.97, 0.41); (6.06, 0.51)\n", "Mari' (5.77, 0.45); (5.74, 0.53)\n", "Dodo' (5.80, 0.56); (5.91, 0.73)\n", "Lucumi' (5.83, 0.42); (5.76, 0.47)\n", "Hien (5.85, 0.48); (5.81, 0.54)\n", "Natan (5.92, 0.49); (5.97, 0.57)\n", "Hysaj (5.93, 0.39); (6.00, 0.51)\n", "D'ambrosio (5.99, 0.32); (5.95, 0.35)\n", "Luperto (5.54, 0.58); (5.47, 0.67)\n", "Djimsiti (5.99, 0.40); (6.01, 0.43)\n", "Marusic (5.84, 0.47); (5.79, 0.53)\n", "Martin (5.91, 0.35); (6.02, 0.45)\n", "Mina (5.97, 0.42); (6.24, 0.66)\n", "Toljan (5.69, 0.45); (5.62, 0.49)\n", "Llorente D. (5.81, 0.48); (5.83, 0.55)\n", "Martinez Quarta (5.94, 0.58); (6.07, 0.75)\n", "Bastoni S. (5.69, 0.43); (5.75, 0.56)\n", "Dragusin (5.92, 0.45); (6.10, 0.62)\n", "Parisi (6.04, 0.49); (6.24, 0.73)\n", "Bradaric (5.76, 0.47); (5.81, 0.59)\n", "Kamara H. (5.97, 0.33); (5.98, 0.39)\n", "Olivera (5.98, 0.37); (6.11, 0.46)\n", "Gendrey (5.92, 0.36); (5.92, 0.40)\n", "Kristiansen (6.03, 0.37); (6.11, 0.52)\n", "Beukema (5.94, 0.43); (5.94, 0.50)\n", "Dossena (5.88, 0.38); (5.89, 0.45)\n", "Pedersen (5.84, 0.33); (5.83, 0.35)\n", "Juan Jesus (6.01, 0.34); (6.02, 0.34)\n", "Gyomber (5.79, 0.49); (5.73, 0.54)\n", "Alex Sandro (5.79, 0.51); (5.66, 0.52)\n", "Hateboer (5.85, 0.50); (6.08, 0.74)\n", "Palomino (5.92, 0.35); (5.94, 0.40)\n", "Marchizza (5.95, 0.41); (5.98, 0.49)\n", "Zappa (5.79, 0.38); (5.73, 0.37)\n", "Gallo (5.90, 0.43); (5.90, 0.49)\n", "Caldirola (5.69, 0.55); (5.74, 0.69)\n", "Kalulu (5.82, 0.52); (5.80, 0.58)\n", "Erlic (5.72, 0.52); (5.60, 0.54)\n", "Vojvoda (5.91, 0.34); (5.96, 0.42)\n", "Vasquez (5.96, 0.40); (5.97, 0.44)\n", "Cambiaso (6.07, 0.40); (6.16, 0.48)\n", "Pongracic (5.94, 0.43); (5.96, 0.50)\n", "Viti (6.06, 0.31); (6.22, 0.44)\n", "Gatti (6.13, 0.39); (6.19, 0.45)\n", "Birindelli (5.88, 0.38); (5.86, 0.42)\n", "Azzi (5.90, 0.33); (5.94, 0.40)\n", "Wieteska (5.96, 0.42); (5.97, 0.51)\n", "Masina (5.76, 0.49); (6.03, 0.71)\n", "Romagnoli S. (5.88, 0.47); (5.94, 0.61)\n", "Pezzella Giu. (5.53, 0.45); (5.43, 0.47)\n", "Sabelli (5.96, 0.32); (6.03, 0.42)\n", "Lirola (6.07, 0.46); (6.28, 0.68)\n", "Lazzari (5.98, 0.39); (5.99, 0.43)\n", "Bani (5.90, 0.54); (6.09, 0.76)\n", "Djidji (5.84, 0.39); (5.86, 0.46)\n", "Kabasele (5.79, 0.37); (5.74, 0.43)\n", "Lazaro (6.02, 0.35); (6.07, 0.44)\n", "Augello (5.85, 0.40); (5.92, 0.51)\n", "Zortea (6.05, 0.46); (6.35, 0.70)\n", "Dawidowicz (5.83, 0.47); (5.81, 0.55)\n", "Pirola (5.72, 0.51); (5.78, 0.64)\n", "Lovato (5.65, 0.44); (5.55, 0.46)\n", "Ruggeri (6.09, 0.55); (6.46, 0.88)\n", "Vina (5.78, 0.50); (5.75, 0.55)\n", "Obert (5.76, 0.43); (5.71, 0.46)\n", "Terracciano F. (6.08, 0.36); (6.17, 0.46)\n", "Ebosele (5.77, 0.37); (5.74, 0.42)\n", "Zemura (5.93, 0.31); (5.92, 0.36)\n", "Hatzidiakos (5.95, 0.41); (5.97, 0.48)\n", "Patric (5.97, 0.39); (5.93, 0.40)\n", "Lykogiannis (5.84, 0.32); (5.88, 0.38)\n", "Pellegrini Lu. (5.72, 0.37); (5.64, 0.39)\n", "Magnani (5.78, 0.52); (5.75, 0.60)\n", "Ranieri L. (5.67, 0.46); (5.64, 0.53)\n", "Carboni A. (5.94, 0.37); (5.96, 0.45)\n", "Calafiori (5.95, 0.40); (6.01, 0.53)\n", "Monterisi (5.99, 0.62); (6.38, 1.03)\n", "Ismajli (5.63, 0.46); (5.52, 0.48)\n", "De Winter (5.83, 0.44); (5.74, 0.43)\n", "Tressoldi (5.80, 0.47); (5.81, 0.56)\n", "Ehizibue (5.74, 0.43); (5.76, 0.56)\n", "Vogliacco (5.89, 0.45); (5.87, 0.50)\n", "Ferrari G. (5.69, 0.52); (5.73, 0.63)\n", "Venuti (5.79, 0.40); (5.75, 0.43)\n", "Karsdorp (5.89, 0.25); (5.87, 0.24)\n", "Kjaer (5.52, 0.38); (5.49, 0.35)\n", "Gunter (5.67, 0.53); (5.59, 0.59)\n", "Soumaoro (5.82, 0.54); (5.77, 0.61)\n", "Di Pardo (5.81, 0.41); (5.76, 0.43)\n", "Zanoli (6.10, 0.50); (6.48, 0.83)\n", "Zima (5.92, 0.30); (5.89, 0.30)\n", "Hefti (5.75, 0.42); (5.68, 0.42)\n", "Ostigard (5.64, 0.38); (5.60, 0.36)\n", "Sambia (5.92, 0.36); (5.95, 0.40)\n", "Bisseck (5.97, 0.38); (6.01, 0.43)\n", "Oyono (5.96, 0.39); (5.96, 0.43)\n", "Ferreira J. (5.77, 0.37); (5.72, 0.41)\n", "Dorgu (6.02, 0.33); (6.05, 0.37)\n", "Touba (5.96, 0.40); (6.01, 0.49)\n", "Sazonov (5.94, 0.43); (5.99, 0.54)\n", "Rugani (6.07, 0.29); (6.08, 0.30)\n", "De Sciglio (5.91, 0.33); (5.89, 0.32)\n", "Goldaniga (5.66, 0.44); (5.57, 0.45)\n", "Florenzi (5.97, 0.33); (6.04, 0.38)\n", "De Silvestri (5.92, 0.32); (5.95, 0.40)\n", "Pereira P. (5.85, 0.40); (5.83, 0.45)\n", "Fazio (5.74, 0.62); (5.84, 0.79)\n", "Bereszynski (5.54, 0.47); (5.46, 0.51)\n", "Bonifazi (5.71, 0.44); (5.61, 0.45)\n", "Walukiewicz (5.46, 0.41); (5.36, 0.37)\n", "Okoli (5.88, 0.40); (5.84, 0.41)\n", "Kumbulla (5.49, 0.75); (5.25, 0.70)\n", "Celik (5.66, 0.38); (5.57, 0.37)\n", "Amione (5.70, 0.45); (5.68, 0.55)\n", "Daniliuc (5.68, 0.52); (5.68, 0.63)\n", "Soppy (5.87, 0.36); (5.92, 0.45)\n", "Haps (5.86, 0.45); (5.93, 0.57)\n", "Cittadini (5.87, 0.45); (5.93, 0.59)\n", "Coppola D. (5.75, 0.39); (5.67, 0.42)\n", "Cacace (5.54, 0.40); (5.43, 0.39)\n", "Ebosse (5.74, 0.34); (5.65, 0.34)\n", "Guessand A. (5.77, 0.41); (5.77, 0.50)\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Cabal (5.87, 0.25); (5.83, 0.24)\n", "Missori (5.76, 0.43); (5.73, 0.48)\n", "Kayode (5.99, 0.44); (6.02, 0.52)\n", "Corazza (5.71, 0.39); (5.67, 0.44)\n", "Kristensen T. (5.81, 0.45); (5.85, 0.58)\n", "Dermaku (5.91, 0.43); (5.96, 0.54)\n", "Tonelli (5.56, 0.49); (5.44, 0.53)\n", "Capradossi (5.90, 0.44); (5.91, 0.53)\n", "Bettella (5.87, 0.45); (5.93, 0.59)\n", "Amey (5.82, 0.46); (5.87, 0.59)\n", "Gila (5.86, 0.44); (5.84, 0.49)\n", "Bronn (5.62, 0.45); (5.50, 0.46)\n", "Guarino (5.67, 0.50); (5.67, 0.59)\n", "Carboni F. (5.96, 0.37); (5.99, 0.45)\n", "Smajlovic (5.91, 0.45); (5.98, 0.57)\n", "Matturro (5.89, 0.45); (5.87, 0.50)\n", "N'guessan (5.94, 0.43); (5.99, 0.54)\n", "Mateus Lusuardi (5.92, 0.46); (5.97, 0.56)\n", "Kalaj (5.92, 0.46); (5.97, 0.56)\n", "Pierozzi (5.88, 0.48); (5.92, 0.58)\n", "Huijsen (5.99, 0.42); (6.10, 0.54)\n", "Bonfanti (5.97, 0.46); (6.07, 0.59)\n", "Pellegrino (5.93, 0.46); (6.01, 0.59)\n", "Comuzzo (5.88, 0.48); (5.92, 0.58)\n", "Zaccagni (6.32, 0.53); (6.95, 1.16)\n", "Koopmeiners (6.38, 0.57); (7.20, 1.36)\n", "Luis Alberto (6.38, 0.53); (7.09, 1.23)\n", "Felipe Anderson (6.14, 0.58); (6.77, 1.17)\n", "Rabiot (6.31, 0.55); (7.06, 1.28)\n", "Zielinski (6.30, 0.46); (6.71, 0.86)\n", "Barella (6.35, 0.45); (6.79, 0.89)\n", "Pulisic (6.21, 0.54); (6.81, 1.09)\n", "Orsolini (6.18, 0.59); (6.84, 1.25)\n", "Calhanoglu (6.42, 0.39); (6.67, 0.69)\n", "Strefezza (6.19, 0.50); (6.64, 0.92)\n", "Chukwueze (5.95, 0.43); (6.24, 0.66)\n", "Ferguson (6.22, 0.52); (6.74, 1.01)\n", "Candreva (6.17, 0.65); (6.86, 1.30)\n", "Frattesi (6.35, 0.53); (7.04, 1.20)\n", "Samardzic (6.06, 0.51); (6.47, 0.87)\n", "Vlasic (6.13, 0.51); (6.59, 0.93)\n", "Bonaventura (6.28, 0.57); (6.97, 1.23)\n", "Politano (6.35, 0.45); (6.77, 0.90)\n", "El Shaarawy (6.28, 0.46); (6.70, 0.90)\n", "Mkhitaryan (6.36, 0.51); (7.00, 1.11)\n", "Aouar (6.17, 0.49); (6.64, 0.94)\n", "Malinovskyi (6.02, 0.56); (6.61, 1.10)\n", "Gudmundsson A. (6.12, 0.46); (6.47, 0.78)\n", "Kamada (6.06, 0.50); (6.49, 0.87)\n", "Pellegrini Lo. (6.08, 0.56); (6.63, 1.05)\n", "Kostic (6.22, 0.48); (6.68, 0.90)\n", "Radonjic (6.32, 0.57); (7.08, 1.31)\n", "Baldanzi (5.75, 0.44); (5.97, 0.62)\n", "Lovric (6.05, 0.46); (6.37, 0.76)\n", "Lindstrom (6.05, 0.45); (6.40, 0.74)\n", "Lazovic (6.17, 0.49); (6.57, 0.87)\n", "Pereyra (6.14, 0.56); (6.68, 1.07)\n", "Renato Sanches (6.14, 0.40); (6.37, 0.61)\n", "Pessina (6.02, 0.48); (6.33, 0.80)\n", "Guendouzi (6.03, 0.36); (6.16, 0.47)\n", "Loftus-Cheek (6.06, 0.36); (6.14, 0.42)\n", "Zambo Anguissa (6.10, 0.50); (6.49, 0.83)\n", "Elmas (6.02, 0.54); (6.50, 0.93)\n", "Bajrami (5.93, 0.36); (6.03, 0.43)\n", "Ricci S. (6.04, 0.38); (6.18, 0.52)\n", "Colpani (6.33, 0.53); (7.03, 1.22)\n", "Ciurria (6.06, 0.54); (6.54, 1.00)\n", "De Roon (6.12, 0.50); (6.46, 0.80)\n", "Pogba (6.03, 0.35); (6.08, 0.41)\n", "Cristante (6.14, 0.51); (6.50, 0.83)\n", "Locatelli (6.12, 0.40); (6.23, 0.52)\n", "Pasalic (5.95, 0.47); (6.31, 0.76)\n", "Lobotka (6.08, 0.37); (6.16, 0.43)\n", "Fagioli (6.09, 0.50); (6.48, 0.84)\n", "Ikone' (6.04, 0.56); (6.60, 1.03)\n", "Ilic (6.04, 0.43); (6.31, 0.69)\n", "Ndoye (5.90, 0.39); (5.96, 0.50)\n", "Ederson D.s. (6.09, 0.48); (6.42, 0.77)\n", "Reijnders (6.09, 0.45); (6.39, 0.70)\n", "Barak (5.81, 0.44); (6.03, 0.61)\n", "Saponara (6.08, 0.48); (6.43, 0.79)\n", "Mandragora (5.94, 0.55); (6.38, 0.90)\n", "Weah (6.04, 0.27); (6.09, 0.30)\n", "Bennacer (6.16, 0.46); (6.53, 0.78)\n", "Duda (6.24, 0.53); (6.79, 1.06)\n", "Castrovilli (6.03, 0.58); (6.59, 1.04)\n", "Mckennie (6.25, 0.44); (6.58, 0.74)\n", "Miranchuk (6.22, 0.50); (6.69, 0.93)\n", "Matheus Henrique (5.81, 0.46); (6.06, 0.66)\n", "De Ketelaere (5.98, 0.48); (6.32, 0.75)\n", "Mboula (5.81, 0.33); (5.77, 0.35)\n", "Paredes (5.79, 0.53); (5.78, 0.61)\n", "Sottil (5.95, 0.39); (6.13, 0.52)\n", "Klaassen (6.16, 0.40); (6.45, 0.67)\n", "Arthur Melo (6.01, 0.47); (6.09, 0.57)\n", "Thorsby (5.75, 0.48); (5.86, 0.63)\n", "Nandez (6.02, 0.35); (6.15, 0.50)\n", "Tameze (5.91, 0.34); (5.90, 0.37)\n", "Marin (5.71, 0.48); (5.79, 0.62)\n", "Messias (5.96, 0.53); (6.44, 0.96)\n", "Musah (5.96, 0.36); (5.98, 0.41)\n", "Coulibaly L. (5.91, 0.49); (6.16, 0.73)\n", "Krunic (5.98, 0.38); (6.00, 0.44)\n", "Cataldi (5.97, 0.36); (5.94, 0.38)\n", "Strootman (5.95, 0.37); (6.06, 0.49)\n", "Duncan (6.10, 0.45); (6.42, 0.74)\n", "Freuler (5.95, 0.29); (5.94, 0.33)\n", "Gagliardini (5.85, 0.38); (5.80, 0.39)\n", "Mazzitelli (6.09, 0.65); (6.51, 1.06)\n", "Jankto (5.95, 0.31); (5.94, 0.33)\n", "Kastanos (5.86, 0.35); (5.98, 0.44)\n", "Gyasi (5.63, 0.43); (5.62, 0.50)\n", "Reinier (5.93, 0.46); (6.00, 0.57)\n", "Zalewski (5.94, 0.36); (6.09, 0.46)\n", "Harroui (6.19, 0.46); (6.59, 0.82)\n", "Frendrup (6.01, 0.37); (6.13, 0.49)\n", "Blin (5.95, 0.29); (5.96, 0.32)\n", "Fabbian (6.05, 0.43); (6.36, 0.77)\n", "Ramadani (6.11, 0.45); (6.26, 0.60)\n", "Cajuste (5.92, 0.48); (5.98, 0.57)\n", "Mancosu (5.91, 0.44); (5.94, 0.53)\n", "Vecino (5.91, 0.44); (6.00, 0.58)\n", "Sensi (6.15, 0.45); (6.49, 0.72)\n", "Walace (5.81, 0.38); (5.76, 0.43)\n", "Lopez M. (5.78, 0.40); (5.70, 0.41)\n", "Brescianini (6.01, 0.37); (6.02, 0.41)\n", "Bove (6.03, 0.35); (6.18, 0.48)\n", "Aebischer (5.90, 0.33); (6.00, 0.43)\n", "Thorstvedt (5.90, 0.34); (5.97, 0.41)\n", "Gonzalez J. (5.89, 0.39); (5.98, 0.53)\n", "Moro N. (6.01, 0.37); (6.19, 0.54)\n", "Oudin (6.02, 0.48); (6.31, 0.76)\n", "Boloca (5.80, 0.48); (5.80, 0.57)\n", "Rafia (6.04, 0.37); (6.24, 0.55)\n", "Makoumbou (5.91, 0.33); (5.95, 0.41)\n", "Kaba (5.97, 0.27); (5.97, 0.29)\n", "Badelj (5.87, 0.40); (5.85, 0.39)\n", "Machin (5.85, 0.46); (5.92, 0.60)\n", "Linetty (5.90, 0.35); (5.92, 0.41)\n", "Castillejo (5.83, 0.36); (6.00, 0.50)\n", "Rovella (6.05, 0.46); (6.17, 0.59)\n", "Pobega (5.91, 0.37); (6.07, 0.50)\n", "Hongla (5.86, 0.37); (5.90, 0.44)\n", "Miretti (6.00, 0.35); (6.09, 0.42)\n", "Fazzini (5.67, 0.33); (5.56, 0.35)\n", "Iling Junior (5.99, 0.42); (6.11, 0.55)\n", "Oristanio (5.89, 0.37); (5.86, 0.38)\n", "Serdar (5.89, 0.38); (5.89, 0.45)\n", "Payero (5.84, 0.41); (5.87, 0.52)\n", "Grassi (5.67, 0.42); (5.56, 0.44)\n", "Baez (5.99, 0.37); (6.11, 0.47)\n", "Deiola (5.76, 0.46); (5.82, 0.59)\n", "Garritano (6.13, 0.34); (6.18, 0.41)\n", "Bourabia (5.97, 0.40); (6.07, 0.50)\n", "Saelemaekers (5.95, 0.43); (6.21, 0.66)\n", "Maldini (5.81, 0.45); (6.10, 0.69)\n", "Racic (5.91, 0.35); (5.90, 0.39)\n", "Kovalenko (5.78, 0.34); (5.73, 0.37)\n", "Maleh (5.65, 0.30); (5.53, 0.32)\n", "Bohinen (5.91, 0.26); (5.88, 0.25)\n", "Ranocchia F. (5.88, 0.40); (6.11, 0.57)\n", "Folorunsho (5.93, 0.47); (6.24, 0.76)\n", "Infantino (5.82, 0.32); (5.77, 0.32)\n", "Martegani (5.88, 0.45); (5.92, 0.54)\n", "Kutlu (5.87, 0.40); (5.85, 0.41)\n", "Tchatchoua (5.89, 0.46); (5.97, 0.59)\n", "Quina (5.97, 0.35); (6.01, 0.43)\n", "Adopo (5.85, 0.51); (5.87, 0.58)\n", "Romero L. (6.19, 0.49); (6.68, 0.97)\n", "Basic (5.96, 0.37); (6.05, 0.46)\n", "Asllani (5.89, 0.31); (5.88, 0.27)\n", "Tchaouna (5.81, 0.38); (5.81, 0.44)\n", "Sulemana I. (5.83, 0.31); (5.78, 0.31)\n", "Barrenechea (5.96, 0.42); (5.99, 0.48)\n", "Gelli (5.94, 0.47); (6.01, 0.56)\n", "Suslov (5.92, 0.42); (5.96, 0.53)\n", "Gaetano (6.12, 0.53); (6.72, 1.06)\n", "Jagiello (5.90, 0.45); (5.90, 0.50)\n", "Obiang (5.90, 0.30); (5.86, 0.30)\n", "Maggiore (5.89, 0.25); (5.86, 0.24)\n", "Akpa Akpro (5.85, 0.46); (5.92, 0.60)\n", "Urbanski (5.94, 0.34); (5.98, 0.44)\n", "Volpato (5.92, 0.39); (6.05, 0.54)\n", "Vignato S. (5.81, 0.40); (5.78, 0.45)\n", "Hrustic (5.63, 0.32); (5.62, 0.34)\n", "Zarraga (5.63, 0.39); (5.57, 0.41)\n", "Camara E. (5.82, 0.45); (5.88, 0.59)\n", "Amatucci (5.86, 0.41); (5.87, 0.48)\n", "Pagano (5.98, 0.28); (5.98, 0.30)\n", "Prati (5.91, 0.40); (5.91, 0.44)\n", "Viola (5.85, 0.33); (5.82, 0.30)\n", "Lulic K. (5.93, 0.46); (6.00, 0.57)\n", "Rog (5.87, 0.36); (5.85, 0.36)\n", "Nicolussi Caviglia (5.83, 0.48); (6.00, 0.67)\n", "Demme (6.00, 0.26); (5.95, 0.22)\n", "Pafundi (6.04, 0.31); (6.06, 0.32)\n", "Adli (5.83, 0.40); (5.94, 0.51)\n", "Bondo (5.91, 0.42); (5.96, 0.54)\n", "Zerbin (6.05, 0.35); (6.12, 0.41)\n", "Carboni V. (5.99, 0.37); (6.06, 0.47)\n", "Faticanti (5.92, 0.44); (6.01, 0.57)\n", "Gineitis (5.97, 0.37); (6.02, 0.47)\n", "Belardinelli (5.69, 0.49); (5.71, 0.60)\n", "El Azzouzi (5.96, 0.30); (5.98, 0.36)\n", "Lipani (5.83, 0.46); (5.86, 0.56)\n", "Joselito (5.89, 0.46); (5.97, 0.59)\n", "Legowski (5.88, 0.48); (5.96, 0.61)\n", "Ibrahimovic A. (5.93, 0.46); (6.00, 0.57)\n", "Osimhen (6.47, 0.76); (7.90, 2.05)\n", "Martinez L. (6.50, 0.67); (7.94, 1.98)\n", "Rafael Leao (6.43, 0.67); (7.72, 1.86)\n", "Lukaku (6.33, 0.72); (7.50, 1.75)\n", "Berardi (6.40, 0.71); (7.68, 1.89)\n", "Immobile (6.14, 0.67); (6.99, 1.42)\n", "Vlahovic (6.35, 0.74); (7.45, 1.76)\n", "Dybala (6.43, 0.73); (7.78, 1.95)\n", "Kvaratskhelia (6.40, 0.66); (7.57, 1.74)\n", "Giroud (6.38, 0.66); (7.58, 1.77)\n", "Scamacca (6.28, 0.73); (7.33, 1.67)\n", "Thuram (6.47, 0.53); (7.27, 1.35)\n", "Lookman (6.37, 0.70); (7.53, 1.78)\n", "Dia (6.24, 0.72); (7.26, 1.61)\n", "Arnautovic (6.36, 0.56); (7.18, 1.33)\n", "Retegui (6.03, 0.65); (6.71, 1.21)\n", "Sanabria (6.18, 0.60); (6.99, 1.34)\n", "Nzola (5.99, 0.62); (6.63, 1.10)\n", "Lauriente' (6.23, 0.61); (6.98, 1.36)\n", "Zapata D. (5.96, 0.46); (6.29, 0.74)\n", "Chiesa (6.41, 0.56); (7.25, 1.38)\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Milik (6.20, 0.50); (6.71, 0.99)\n", "Gonzalez N. (6.25, 0.64); (7.23, 1.53)\n", "Okafor (5.95, 0.29); (5.95, 0.31)\n", "Pinamonti (5.93, 0.59); (6.45, 1.01)\n", "Beltran L. (5.98, 0.55); (6.50, 0.95)\n", "Caprari (5.98, 0.52); (6.40, 0.89)\n", "Sanchez (6.18, 0.46); (6.61, 0.86)\n", "Caputo (5.69, 0.46); (5.95, 0.61)\n", "Toure' E. (5.97, 0.45); (6.11, 0.59)\n", "Krstovic (6.26, 0.43); (6.63, 0.79)\n", "Belotti (6.11, 0.49); (6.59, 0.93)\n", "Muriel (6.13, 0.46); (6.50, 0.81)\n", "Lapadula (5.99, 0.51); (6.44, 0.94)\n", "Jovic (6.00, 0.59); (6.59, 1.07)\n", "Abraham (6.19, 0.60); (6.98, 1.31)\n", "Zirkzee (6.21, 0.50); (6.73, 1.00)\n", "Ngonge (6.08, 0.58); (6.70, 1.13)\n", "Petagna (5.94, 0.50); (6.35, 0.87)\n", "Simeone (5.82, 0.49); (6.25, 0.75)\n", "Deulofeu (6.30, 0.59); (7.13, 1.41)\n", "Pedro (6.04, 0.48); (6.38, 0.79)\n", "Shomurodov (5.75, 0.39); (5.96, 0.56)\n", "Azmoun (5.89, 0.38); (6.14, 0.58)\n", "Castellanos (5.96, 0.29); (5.95, 0.31)\n", "Cheddira (6.12, 0.63); (6.86, 1.30)\n", "Karlsson (6.10, 0.44); (6.46, 0.79)\n", "Brekalo (6.05, 0.60); (6.69, 1.12)\n", "Cambiaghi (5.99, 0.57); (6.53, 1.05)\n", "Henry (5.86, 0.51); (6.22, 0.79)\n", "Mulattieri (5.91, 0.39); (6.22, 0.68)\n", "Almqvist (6.05, 0.54); (6.48, 0.91)\n", "Isaksen (5.86, 0.42); (5.90, 0.51)\n", "Kean (5.87, 0.57); (6.31, 0.93)\n", "Karamoh (5.96, 0.41); (6.22, 0.64)\n", "Thauvin (5.71, 0.34); (5.82, 0.42)\n", "Kouame' (6.10, 0.63); (6.86, 1.28)\n", "Raspadori (5.93, 0.53); (6.36, 0.85)\n", "Colombo (5.91, 0.55); (6.39, 0.95)\n", "Luvumbo (5.96, 0.37); (6.11, 0.52)\n", "Mota (5.87, 0.54); (6.29, 0.88)\n", "Brenner (5.81, 0.45); (5.90, 0.59)\n", "Bonazzoli (5.99, 0.48); (6.37, 0.80)\n", "Djuric (5.95, 0.35); (6.10, 0.47)\n", "Davis K. (5.81, 0.45); (5.90, 0.59)\n", "Banda (6.08, 0.44); (6.35, 0.69)\n", "Defrel (5.75, 0.42); (5.96, 0.59)\n", "Sansone (6.19, 0.56); (6.85, 1.19)\n", "Pellegri (5.79, 0.41); (6.00, 0.58)\n", "Piccoli (5.87, 0.41); (6.14, 0.63)\n", "Success (5.87, 0.41); (6.09, 0.61)\n", "Botheim (5.71, 0.35); (5.84, 0.47)\n", "Lucca (5.81, 0.38); (5.95, 0.53)\n", "Caso (6.13, 0.47); (6.53, 0.84)\n", "Jovane (5.86, 0.48); (5.99, 0.64)\n", "Soule' (6.25, 0.42); (6.54, 0.71)\n", "Pavoletti (5.80, 0.38); (5.97, 0.55)\n", "Cancellieri (5.60, 0.34); (5.54, 0.35)\n", "Seck (6.11, 0.34); (6.22, 0.42)\n", "Alvarez A. (5.86, 0.43); (6.14, 0.66)\n", "Cuni (5.97, 0.32); (5.98, 0.35)\n", "Ekuban (5.83, 0.35); (5.95, 0.41)\n", "Maric (5.95, 0.34); (5.98, 0.40)\n", "Cruz (5.88, 0.47); (6.00, 0.62)\n", "Destro (5.62, 0.46); (5.66, 0.53)\n", "Van Hooijdonk (5.94, 0.40); (6.06, 0.55)\n", "Ceide (5.72, 0.40); (5.80, 0.44)\n", "Kvernadze (5.91, 0.42); (5.97, 0.51)\n", "Ikwuemesi (5.82, 0.40); (5.87, 0.48)\n", "Puscas (5.90, 0.45); (5.94, 0.51)\n", "Ake' M. (5.86, 0.39); (5.88, 0.48)\n", "Braaf (5.64, 0.35); (5.74, 0.41)\n", "Kallon (5.84, 0.41); (6.05, 0.59)\n", "Kaio Jorge (5.92, 0.29); (5.94, 0.30)\n", "Vivaldo (5.81, 0.45); (5.90, 0.59)\n", "Bidaoui (5.93, 0.47); (6.04, 0.61)\n", "Shpendi S. (5.67, 0.43); (5.65, 0.49)\n", "Burnete (5.96, 0.40); (6.05, 0.52)\n", "Corfitzen (5.91, 0.46); (6.03, 0.62)\n", "Stewart (5.86, 0.48); (5.99, 0.64)\n", "Yildiz (6.00, 0.44); (6.14, 0.58)\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
roleteamoppteamhomestartervote%MVMV stdFVFV stdMV locMV scaleMV skewnessMV tailweightFV locFV scaleFV skewnessFV tailweightClean Sheet %
player
MussoPAtalantaAvg111006.1711780.4276455.7165920.6325926.1206770.4933840.0756561.0780806.4707280.603981-0.8077331.13546958.570200
CarnesecchiPAtalantaAvg1005.8696670.5028273.4259291.3710206.0302910.638892-0.1846421.0979414.4484521.535484-0.5820050.8608121.164914
Rossi F.PAtalantaAvg1005.9604780.5016863.4072761.3659655.9412290.5935700.0241611.0938424.4233281.528818-0.5816750.8625711.128720
ZappacostaDAtalantaAvg111006.0985100.5553446.5686910.9793245.9520410.6115570.1748130.8109755.6944941.1749590.5146891.2997050.000000
RuggeriDAtalantaAvg111006.0876990.5541546.4569210.8767876.0542480.6376050.0385870.8280005.8125001.1753510.3910891.2996700.000000
............................................................
HenryAVeronaAvg1005.8554020.5051586.2192850.7938925.5942870.5135620.3676000.8352525.4354070.8717820.6048781.2996920.000000
DjuricAVeronaAvg101005.9488800.3486366.0996610.4727855.8865020.3929250.1170590.9885315.7727490.6491550.3611591.2995970.000000
KallonAVeronaAvg1005.8370970.4134286.0474790.5943385.6625580.4290640.2958950.9229085.5027290.6990020.5356971.2996410.000000
CruzAVeronaAvg1005.8798650.4651646.0014990.6179235.8763760.5442860.0045570.9151385.6751890.9151350.2605381.2995820.000000
BraafAVeronaAvg1005.6444370.3457485.7429570.4134695.5202240.3650750.2486140.9911815.4559550.5673690.3629171.2995700.000000
\n", "

539 rows × 19 columns

\n", "
" ], "text/plain": [ " role team oppteam home starter vote% MV MV std \\\n", "player \n", "Musso P Atalanta Avg 1 1 100 6.171178 0.427645 \n", "Carnesecchi P Atalanta Avg 1 0 0 5.869667 0.502827 \n", "Rossi F. P Atalanta Avg 1 0 0 5.960478 0.501686 \n", "Zappacosta D Atalanta Avg 1 1 100 6.098510 0.555344 \n", "Ruggeri D Atalanta Avg 1 1 100 6.087699 0.554154 \n", "... ... ... ... ... ... ... ... ... \n", "Henry A Verona Avg 1 0 0 5.855402 0.505158 \n", "Djuric A Verona Avg 1 0 100 5.948880 0.348636 \n", "Kallon A Verona Avg 1 0 0 5.837097 0.413428 \n", "Cruz A Verona Avg 1 0 0 5.879865 0.465164 \n", "Braaf A Verona Avg 1 0 0 5.644437 0.345748 \n", "\n", " FV FV std MV loc MV scale MV skewness \\\n", "player \n", "Musso 5.716592 0.632592 6.120677 0.493384 0.075656 \n", "Carnesecchi 3.425929 1.371020 6.030291 0.638892 -0.184642 \n", "Rossi F. 3.407276 1.365965 5.941229 0.593570 0.024161 \n", "Zappacosta 6.568691 0.979324 5.952041 0.611557 0.174813 \n", "Ruggeri 6.456921 0.876787 6.054248 0.637605 0.038587 \n", "... ... ... ... ... ... \n", "Henry 6.219285 0.793892 5.594287 0.513562 0.367600 \n", "Djuric 6.099661 0.472785 5.886502 0.392925 0.117059 \n", "Kallon 6.047479 0.594338 5.662558 0.429064 0.295895 \n", "Cruz 6.001499 0.617923 5.876376 0.544286 0.004557 \n", "Braaf 5.742957 0.413469 5.520224 0.365075 0.248614 \n", "\n", " MV tailweight FV loc FV scale FV skewness FV tailweight \\\n", "player \n", "Musso 1.078080 6.470728 0.603981 -0.807733 1.135469 \n", "Carnesecchi 1.097941 4.448452 1.535484 -0.582005 0.860812 \n", "Rossi F. 1.093842 4.423328 1.528818 -0.581675 0.862571 \n", "Zappacosta 0.810975 5.694494 1.174959 0.514689 1.299705 \n", "Ruggeri 0.828000 5.812500 1.175351 0.391089 1.299670 \n", "... ... ... ... ... ... \n", "Henry 0.835252 5.435407 0.871782 0.604878 1.299692 \n", "Djuric 0.988531 5.772749 0.649155 0.361159 1.299597 \n", "Kallon 0.922908 5.502729 0.699002 0.535697 1.299641 \n", "Cruz 0.915138 5.675189 0.915135 0.260538 1.299582 \n", "Braaf 0.991181 5.455955 0.567369 0.362917 1.299570 \n", "\n", " Clean Sheet % \n", "player \n", "Musso 58.570200 \n", "Carnesecchi 1.164914 \n", "Rossi F. 1.128720 \n", "Zappacosta 0.000000 \n", "Ruggeri 0.000000 \n", "... ... \n", "Henry 0.000000 \n", "Djuric 0.000000 \n", "Kallon 0.000000 \n", "Cruz 0.000000 \n", "Braaf 0.000000 \n", "\n", "[539 rows x 19 columns]" ] }, "execution_count": 45, "metadata": {}, "output_type": "execute_result" } ], "source": [ "output = pd.DataFrame(columns = ['player', 'role', 'team', 'oppteam', 'home', 'starter', 'vote%', 'MV', 'MV std', 'FV', 'FV std', 'MV loc', 'MV scale', 'MV skewness', 'MV tailweight', 'FV loc', 'FV scale', 'FV skewness', 'FV tailweight', 'Clean Sheet %'])\n", "\n", "tot_matches = 2 # home and not home\n", "\n", "current_season_games = max(players_orig['games'])\n", "\n", "for i in range(players.shape[0]):\n", " try:\n", " home = 0\n", "\n", " for k in range(tot_matches):\n", " #matchday_out = k + 1\n", " #[player, team, oppteam, home] = PlayerMatch(players.index[i], matchday_out)\n", "\n", " player = players.index[i]\n", " team = players['team'][i]\n", " oppteam = 'Avg'\n", " home = not home\n", "\n", " [mean, std, dist] = vote_predict_NNb(player, team, oppteam, home = home)\n", "\n", " role = players['r'][player] \n", "\n", " starter = 0\n", " voteperc = 0\n", "\n", " games = max( players_orig['games'][i], players_orig['gk_games'][i] )\n", " mins = max( players_orig['minutes'][i], players_orig['gk_minutes'][i] )\n", "\n", " cs = 0\n", " if(role == 'P'):\n", " cs = dist[2].probs.numpy()[0] * 100\n", "\n", " starter = int( player in gk_starters )\n", " if(starter):\n", " voteperc = 100\n", " else:\n", " voteperc = 0\n", " else:\n", " starter = int ( 1 * (games >= current_season_games * 2/3 and mins / games >= 45 ) )\n", " voteperc = int( min( 1, games / current_season_games ) * 100) \n", "\n", " if(k == 0):\n", " row = [player, role, team, 'Avg', 1, starter, voteperc]\n", "\n", " numrow_ = [mean[0], std[0], \n", " mean[1], std[1], \n", " dist[0].loc.numpy()[0], dist[0].scale.numpy()[0], \n", " dist[0].skewness.numpy()[0], dist[0].tailweight.numpy()[0], \n", " dist[1].loc.numpy()[0], dist[1].scale.numpy()[0], \n", " dist[1].skewness.numpy()[0], dist[1].tailweight.numpy()[0],\n", " cs] \n", "\n", " if(k == 0):\n", " numrow = numrow_\n", " else:\n", " for j in range(len(numrow)):\n", " numrow[j] += numrow_[j]\n", "\n", " for j in range(len(numrow)):\n", " numrow[j] /= tot_matches\n", "\n", " print(players.index[i] + ' (' + \"{:.2f}\".format(numrow[0]) + ', ' + \"{:.2f}\".format(numrow[1]) + \n", " '); (' + \"{:.2f}\".format(numrow[2]) + ', ' + \"{:.2f}\".format(numrow[3]) + ')' )\n", "\n", " row += numrow # list concat\n", "\n", " row_df = pd.DataFrame(data = [row], columns = output.columns)\n", "\n", " output = pd.concat([output, row_df])\n", " except:\n", " print(players.index[i] + ' no data')\n", " \n", " \n", "\n", "output = output.set_index('player')\n", "\n", "output = output.sort_values(['team', 'role', 'FV'], ascending = [True, False, False])\n", "#output.to_excel('outputs/pred_matchday_' + str(matchday_out) + '.xlsx')\n", "\n", "output" ] }, { "cell_type": "code", "execution_count": 46, "id": "b47cbd63", "metadata": {}, "outputs": [], "source": [ "import shutil\n", "\n", "output = output.sort_values(['role', 'FV'], ascending = [False, False])\n", "\n", "template_file = 'outputs/pred_matchday_base.xlsx'\n", "dest_file = 'outputs/pred_avg_seriea.xlsx'\n", "\n", "shutil.copyfile(template_file, dest_file)\n", "\n", "with pd.ExcelWriter(dest_file, mode = 'a', engine=\"openpyxl\", if_sheet_exists = 'replace') as writer: \n", " output.to_excel(writer, sheet_name='data')" ] }, { "cell_type": "markdown", "id": "cf9df3bb", "metadata": {}, "source": [ "Various predictions." ] }, { "cell_type": "code", "execution_count": 54, "id": "7300f3c2", "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Meret: MV 5.90 ± 1.55; FV 5.53 + 1.18 (43.4% cs)\n", "Szczesny: MV 5.90 ± 1.55; FV 5.54 + 1.23 (53.7% cs)\n", "Provedel: MV 5.89 ± 1.56; FV 5.03 + 1.63 (28.1% cs)\n", "Maignan: MV 5.90 ± 1.55; FV 5.21 + 1.44 (29.1% cs)\n", "Rui Patricio: MV 5.84 ± 1.66; FV 3.89 + 2.53 (10.0% cs)\n", "Sommer: MV 5.90 ± 1.55; FV 5.57 + 1.20 (57.7% cs)\n", "Milinkovic-Savic V.: MV 5.85 ± 1.64; FV 5.11 + 1.72 (40.7% cs)\n", "Musso: MV 5.90 ± 1.55; FV 5.60 + 1.35 (58.3% cs)\n", "Caprile: MV 5.86 ± 1.61; FV 3.99 + 2.22 (6.3% cs)\n", "Silvestri: MV 5.90 ± 1.55; FV 5.19 + 1.44 (32.8% cs)\n", "Terracciano: MV 5.88 ± 1.58; FV 4.24 + 2.15 (16.7% cs)\n", "Skorupski: MV 5.89 ± 1.57; FV 4.48 + 2.02 (22.3% cs)\n", "Falcone: MV 5.90 ± 1.55; FV 5.32 + 1.44 (38.7% cs)\n", "Di Gregorio: MV 5.90 ± 1.55; FV 5.21 + 1.54 (32.9% cs)\n", "Consigli: MV 5.79 ± 1.73; FV 3.82 + 2.56 (8.2% cs)\n", "Radunovic: MV 5.71 ± 1.90; FV 4.24 + 2.26 (21.5% cs)\n", "Montipo': MV 5.87 ± 1.59; FV 4.34 + 2.10 (16.6% cs)\n", "Martinez Jo.: MV 5.90 ± 1.55; FV 5.24 + 1.34 (27.6% cs)\n", "Turati: MV 5.90 ± 1.55; FV 5.04 + 1.48 (22.6% cs)\n", "Ochoa: MV 5.90 ± 1.55; FV 4.95 + 1.55 (19.2% cs)\n" ] }, { "data": { "text/plain": [ "[array([5.89767402, 4.95480099]),\n", " array([0.7759559 , 0.77737534], dtype=float32),\n", " [,\n", " ,\n", " ]]" ] }, "execution_count": 54, "metadata": {}, "output_type": "execute_result" } ], "source": [ "predict_player('Meret', log = 1, plot = 0)\n", "predict_player('Szczesny', log = 1, plot = 0)\n", "predict_player('Provedel', log = 1, plot = 0)\n", "predict_player('Maignan', log = 1, plot = 0)\n", "predict_player('Rui Patricio', log = 1, plot = 0)\n", "predict_player('Sommer', log = 1, plot = 0)\n", "predict_player('Milinkovic-Savic V.', log = 1, plot = 0)\n", "predict_player('Musso', log = 1, plot = 0)\n", "predict_player('Caprile', log = 1, plot = 0)\n", "predict_player('Silvestri', log = 1, plot = 0)\n", "predict_player('Terracciano', log = 1, plot = 0)\n", "predict_player('Skorupski', log = 1, plot = 0)\n", "predict_player('Falcone', log = 1, plot = 0)\n", "predict_player('Di Gregorio', log = 1, plot = 0)\n", "predict_player('Consigli', log = 1, plot = 0)\n", "predict_player('Radunovic', log = 1, plot = 0)\n", "predict_player('Montipo\\'', log = 1, plot = 0)\n", "predict_player('Martinez Jo.', log = 1, plot = 0)\n", "predict_player('Turati', log = 1, plot = 0)\n", "predict_player('Ochoa', log = 1, plot = 0)" ] }, { "cell_type": "code", "execution_count": 55, "id": "4b9f5a7d", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Osimhen: MV 6.52 ± 1.55; FV 8.32 + 5.10\n", "Osimhen: MV 6.52 ± 1.55; FV 8.31 + 5.09\n" ] }, { "data": { "text/plain": [ "[array([6.5154007 , 8.31434958]),\n", " array([0.7731867, 2.543137 ], dtype=float32),\n", " [,\n", " ]]" ] }, "execution_count": 55, "metadata": {}, "output_type": "execute_result" } ], "source": [ "predict_player('Osimhen', log = 1)\n", "predict_player('Osimhen', log = 1, oldseason= True)" ] }, { "cell_type": "code", "execution_count": 56, "id": "10c7ad3e", "metadata": {}, "outputs": [ { "data": { "image/png": "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0uLtt9/Gr7/+ij/++APlypWTOpwidfLkScTHx6NBgwZQKBRQKBTYv38/vv/+eygUChiNRqlDLDJ+fn6oXr26VVlISEipG9j93nvvYeLEiejfvz9q1aqFwYMH45133sHMmTOlDk0yvr6+AMDPzX/p9Xr07dsXUVFR2L17d6lrFTl48CDi4+NRvnx5y+dmdHQ03n33XVSoUEHq8KwU22REpVKhQYMG2L17t1X57t270bx5c4mikoYoinjrrbewceNG7N27FxUrVpQ6pCLXrl07nDt3DpGRkZatYcOGGDRoECIjIyGXy6UOsci0aNEi29Tuy5cvW+6cXVqkp6dDJrP+CJPL5SV+au+TVKxYEb6+vlafmzqdDvv37y91n5tZiciVK1fwv//9Dx4eHlKHVOQGDx6Ms2fPWn1u+vv747333sPvv/8udXhWinU3TVhYGAYPHoyGDRuiWbNm+OmnnxATE4PRo0dLHVqRevPNN7F69Wps2bIFLi4ulr963Nzc4ODgIHF0RcPFxSXbGBknJyd4eHiUurEz77zzDpo3b44ZM2agb9++OHbsGH766Sf89NNPUodWpLp3747PP/8c5cuXR40aNXD69GnMnj0bI0aMkDq0QpWamoqrV69aHkdFRSEyMhLu7u4oX748xo8fjxkzZqBKlSqoUqUKZsyYAUdHRwwcOFDCqAvek94Hf39/9OnTB6dOncK2bdtgNBotn5vu7u5QqVRShV3gnvbz8N8kTKlUwtfXF9WqVSvqUJ9M2sk8Tzdv3jwxKChIVKlUYv369UvldFYAOW5Lly6VOjRJldapvaIoilu3bhVr1qwpqtVqMTg4WPzpp5+kDqnIJScni+PGjRPLly8vajQasVKlSuLkyZNFrVYrdWiF6o8//sjx82Do0KGiKJqn906dOlX09fUV1Wq1+Pzzz4vnzp2TNuhC8KT3ISoqKtfPzT/++EPq0AvU034e/qu4Tu0VRFEUiyjvISIiIsqm2I4ZISIiotKByQgRERFJiskIERERSYrJCBEREUmKyQgRERFJiskIERERSYrJCBEREUmKyQgRERFJiskIERERSYrJCBEREUmKyQgRERFJ6v8TGhZFndWZzAAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Rafael Leao: MV 6.48 ± 1.37; FV 7.84 + 4.05\n" ] }, { "data": { "text/plain": [ "[array([6.48351824, 7.84102121]),\n", " array([0.6832447, 2.0243561], dtype=float32),\n", " [,\n", " ]]" ] }, "execution_count": 56, "metadata": {}, "output_type": "execute_result" } ], "source": [ "predict_player('Rafael Leao', plot = 1, log = 1)" ] }, { "cell_type": "markdown", "id": "30744d7a", "metadata": {}, "source": [ "Tensorflow seems to have a custom definition for SinhArcsinh distribution. \n", "\n", "Here the code to generate the probability density function is reproduced." ] }, { "cell_type": "code", "execution_count": 110, "id": "3ec6c3dc", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 110, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# custom franction to calculate the probability density function\n", "\n", "def sinh_archsinh_pdf(x, mu, sigma, eps, delta):\n", "\n", " mul = np.sinh( np.arcsinh(2) * delta)\n", " \n", " mul = 2 / mul\n", " \n", " sigma_corr = sigma * mul\n", " \n", " z = (x - mu) / sigma_corr\n", " \n", " \n", " \n", " S = np.sinh( -eps + (1/delta) * np.arcsinh(z))\n", " \n", " f = np.exp(-0.5 * S * S)\n", "\n", " f /= np.sqrt(2 * np.pi)\n", " \n", " f *= 1 / ( sigma_corr * delta )\n", " \n", " f *= np.sqrt(1 + S * S)\n", " \n", " f /= np.sqrt(1 + z * z)\n", " \n", " return f\n", " \n", "\n", "x = np.arange(start = 0, stop = 15, step = 0.001)\n", "\n", "\n", "plt.plot(x, sinh_archsinh_pdf(x, 5.54, 1.4, 0.8, 1.68))\n", "\n", "\n" ] }, { "cell_type": "code", "execution_count": null, "id": "605dc968", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.13" } }, "nbformat": 4, "nbformat_minor": 5 }