{ "cells": [ { "cell_type": "markdown", "id": "4a867836", "metadata": {}, "source": [ "Bayesian Neural Network model traning and prediction data generation." ] }, { "cell_type": "code", "execution_count": 54, "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": 55, "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_datasets as tfds\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": 56, "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) " ] }, { "cell_type": "code", "execution_count": 57, "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
01ToloiAtalantaSampdoria07.0100.010.0...0.0078860.0015770.0063090.0063090.0149840.0118300.3643530.0086750.0165620.000000
11DjimsitiAtalantaSampdoria06.0000.06.0...0.0022570.0067720.0067720.0045150.0203160.0158010.4830700.0045150.0045150.000000
21HateboerAtalantaSampdoria06.0000.55.5...0.0063040.0047280.0126080.0015760.0165480.0110320.2844760.0126080.0086680.000788
31OkoliAtalantaSampdoria05.5000.55.0...0.0130180.0035500.0153850.0082840.0473370.0272190.2698220.0023670.0047340.000000
41ZorteaAtalantaSampdoria06.0000.55.5...0.0270270.0090090.0180180.0000000.0225230.0045050.3513510.0495500.0315320.009009
..................................................................
2429438TamezeVeronaLazio05.5000.05.5...0.0198140.0101010.0128210.0132090.0236990.0213680.3372180.0213680.0128210.003885
2429538HonglaVeronaLazio07.0100.59.5...0.0184330.0122890.0230410.0076800.0230410.0261140.3410140.0092170.0153610.003072
2429638LasagnaVeronaLazio07.0100.59.5...0.0464530.0228040.0160470.0084460.0261820.0413850.1908780.0219590.0109800.005912
2429738CaprariVeronaLazio06.0000.06.0...0.0339540.0197150.0153340.0270170.0029210.0098580.3913840.0427160.0277470.018620
2429838SimeoneVeronaLazio07.0100.010.0...0.0512630.0301550.0211080.0218620.0226160.0407090.2461360.0150770.0128160.006031
\n", "

24299 rows × 135 columns

\n", "
" ], "text/plain": [ " matchday player team oppteam home vote goals assists \\\n", "0 1 Toloi Atalanta Sampdoria 0 7.0 1 0 \n", "1 1 Djimsiti Atalanta Sampdoria 0 6.0 0 0 \n", "2 1 Hateboer Atalanta Sampdoria 0 6.0 0 0 \n", "3 1 Okoli Atalanta Sampdoria 0 5.5 0 0 \n", "4 1 Zortea Atalanta Sampdoria 0 6.0 0 0 \n", "... ... ... ... ... ... ... ... ... \n", "24294 38 Tameze Verona Lazio 0 5.5 0 0 \n", "24295 38 Hongla Verona Lazio 0 7.0 1 0 \n", "24296 38 Lasagna Verona Lazio 0 7.0 1 0 \n", "24297 38 Caprari Verona Lazio 0 6.0 0 0 \n", "24298 38 Simeone Verona Lazio 0 7.0 1 0 \n", "\n", " cards_malus fantavote ... miscontrols dispossessed fouls \\\n", "0 0.0 10.0 ... 0.007886 0.001577 0.006309 \n", "1 0.0 6.0 ... 0.002257 0.006772 0.006772 \n", "2 0.5 5.5 ... 0.006304 0.004728 0.012608 \n", "3 0.5 5.0 ... 0.013018 0.003550 0.015385 \n", "4 0.5 5.5 ... 0.027027 0.009009 0.018018 \n", "... ... ... ... ... ... ... \n", "24294 0.0 5.5 ... 0.019814 0.010101 0.012821 \n", "24295 0.5 9.5 ... 0.018433 0.012289 0.023041 \n", "24296 0.5 9.5 ... 0.046453 0.022804 0.016047 \n", "24297 0.0 6.0 ... 0.033954 0.019715 0.015334 \n", "24298 0.0 10.0 ... 0.051263 0.030155 0.021108 \n", "\n", " fouled aerials_won aerials_lost carries progressive_carries \\\n", "0 0.006309 0.014984 0.011830 0.364353 0.008675 \n", "1 0.004515 0.020316 0.015801 0.483070 0.004515 \n", "2 0.001576 0.016548 0.011032 0.284476 0.012608 \n", "3 0.008284 0.047337 0.027219 0.269822 0.002367 \n", "4 0.000000 0.022523 0.004505 0.351351 0.049550 \n", "... ... ... ... ... ... \n", "24294 0.013209 0.023699 0.021368 0.337218 0.021368 \n", "24295 0.007680 0.023041 0.026114 0.341014 0.009217 \n", "24296 0.008446 0.026182 0.041385 0.190878 0.021959 \n", "24297 0.027017 0.002921 0.009858 0.391384 0.042716 \n", "24298 0.021862 0.022616 0.040709 0.246136 0.015077 \n", "\n", " carries_into_final_third carries_into_penalty_area \n", "0 0.016562 0.000000 \n", "1 0.004515 0.000000 \n", "2 0.008668 0.000788 \n", "3 0.004734 0.000000 \n", "4 0.031532 0.009009 \n", "... ... ... \n", "24294 0.012821 0.003885 \n", "24295 0.015361 0.003072 \n", "24296 0.010980 0.005912 \n", "24297 0.027747 0.018620 \n", "24298 0.012816 0.006031 \n", "\n", "[24299 rows x 135 columns]" ] }, "execution_count": 57, "metadata": {}, "output_type": "execute_result" } ], "source": [ "db = pd.concat([db1, db2, db3], ignore_index = True) \n", "\n", "db" ] }, { "cell_type": "code", "execution_count": 58, "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
01MussoAtalantaSampdoria06.0000.55.5...11.100.220-1.9079.0172.0340.098.092.0161.08.0
11SkorupskiBolognaLazio06.5-200.04.5...28.700.2800.7086.0220.0545.0116.0141.0280.018.0
21VicarioEmpoliSpezia05.5-100.04.5...25.000.2701.00101.0307.0740.0112.0107.0412.025.0
31GolliniFiorentinaCremonese15.0-200.03.0...9.150.2450.6523.566.5279.544.564.5118.53.5
41HandanovicInterLecce06.5-100.05.5...10.600.300-1.4027.052.0266.046.045.079.02.0
..................................................................
118020ConsigliSassuoloMilan06.0-200.04.0...22.800.360-5.20110.0261.0651.095.0167.0236.014.0
118120DragowskiSpeziaBologna06.5-200.04.5...26.000.280-3.0085.0255.0479.087.0106.0235.09.0
118220Milinkovic-Savic V.TorinoEmpoli05.5-200.03.5...21.300.240-0.70145.0510.0763.087.0149.0244.018.0
118320SilvestriUdineseVerona16.0-100.05.0...22.600.3201.6083.0211.0432.074.0154.0263.05.0
118420Montipo'VeronaUdinese06.5-100.05.5...26.800.250-4.20187.0374.0462.064.0159.0279.012.0
\n", "

1185 rows × 108 columns

\n", "
" ], "text/plain": [ " matchday player team oppteam home vote goals \\\n", "0 1 Musso Atalanta Sampdoria 0 6.0 0 \n", "1 1 Skorupski Bologna Lazio 0 6.5 -2 \n", "2 1 Vicario Empoli Spezia 0 5.5 -1 \n", "3 1 Gollini Fiorentina Cremonese 1 5.0 -2 \n", "4 1 Handanovic Inter Lecce 0 6.5 -1 \n", "... ... ... ... ... ... ... ... \n", "1180 20 Consigli Sassuolo Milan 0 6.0 -2 \n", "1181 20 Dragowski Spezia Bologna 0 6.5 -2 \n", "1182 20 Milinkovic-Savic V. Torino Empoli 0 5.5 -2 \n", "1183 20 Silvestri Udinese Verona 1 6.0 -1 \n", "1184 20 Montipo' Verona Udinese 0 6.5 -1 \n", "\n", " assists cards_malus fantavote ... gk_psxg \\\n", "0 0 0.5 5.5 ... 11.10 \n", "1 0 0.0 4.5 ... 28.70 \n", "2 0 0.0 4.5 ... 25.00 \n", "3 0 0.0 3.0 ... 9.15 \n", "4 0 0.0 5.5 ... 10.60 \n", "... ... ... ... ... ... \n", "1180 0 0.0 4.0 ... 22.80 \n", "1181 0 0.0 4.5 ... 26.00 \n", "1182 0 0.0 3.5 ... 21.30 \n", "1183 0 0.0 5.0 ... 22.60 \n", "1184 0 0.0 5.5 ... 26.80 \n", "\n", " gk_psnpxg_per_shot_on_target_against gk_psxg_net \\\n", "0 0.220 -1.90 \n", "1 0.280 0.70 \n", "2 0.270 1.00 \n", "3 0.245 0.65 \n", "4 0.300 -1.40 \n", "... ... ... \n", "1180 0.360 -5.20 \n", "1181 0.280 -3.00 \n", "1182 0.240 -0.70 \n", "1183 0.320 1.60 \n", "1184 0.250 -4.20 \n", "\n", " gk_passes_completed_launched gk_passes_launched gk_passes \\\n", "0 79.0 172.0 340.0 \n", "1 86.0 220.0 545.0 \n", "2 101.0 307.0 740.0 \n", "3 23.5 66.5 279.5 \n", "4 27.0 52.0 266.0 \n", "... ... ... ... \n", "1180 110.0 261.0 651.0 \n", "1181 85.0 255.0 479.0 \n", "1182 145.0 510.0 763.0 \n", "1183 83.0 211.0 432.0 \n", "1184 187.0 374.0 462.0 \n", "\n", " gk_passes_throws gk_goal_kicks gk_crosses gk_crosses_stopped \n", "0 98.0 92.0 161.0 8.0 \n", "1 116.0 141.0 280.0 18.0 \n", "2 112.0 107.0 412.0 25.0 \n", "3 44.5 64.5 118.5 3.5 \n", "4 46.0 45.0 79.0 2.0 \n", "... ... ... ... ... \n", "1180 95.0 167.0 236.0 14.0 \n", "1181 87.0 106.0 235.0 9.0 \n", "1182 87.0 149.0 244.0 18.0 \n", "1183 74.0 154.0 263.0 5.0 \n", "1184 64.0 159.0 279.0 12.0 \n", "\n", "[1185 rows x 108 columns]" ] }, "execution_count": 58, "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", "\n", "db_gk = pd.concat([db_gk1, db_gk1, db_gk1], 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": 59, "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/season2122/players_stats.xlsx', index_col = 3)\n", "players_old_2 = 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": 60, "id": "493b0495", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\nicol\\AppData\\Local\\Temp\\ipykernel_1508\\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
AtalantaAtalanta24.0049.10020.0220.01800.038.027.06.008.0...220.00232.026.01.08.001.01214.0248.00303.0045.00
BolognaBologna24.0052.60020.0220.01800.025.019.03.003.0...252.00229.033.03.03.001.01081.0224.00180.0055.40
CremoneseCremonese29.0043.60020.0220.01800.015.07.02.004.0...217.00254.032.03.04.000.01106.0367.00273.0057.30
EmpoliEmpoli26.0046.40020.0220.01800.019.011.00.000.0...260.00226.032.02.00.000.01062.0231.00203.0053.20
FiorentinaFiorentina27.0057.10020.0220.01800.022.017.02.004.0...271.00243.053.01.04.000.01005.0261.00302.0046.40
VeronaHellas Verona32.0043.50020.0220.01800.016.013.00.000.0...201.00286.022.01.00.002.01096.0362.00411.0046.80
InterInter23.0053.60020.0220.01800.039.026.02.002.0...249.00224.018.02.02.001.0914.0204.00251.0044.80
JuventusJuventus26.0049.40020.0220.01800.030.023.02.003.0...220.00221.027.00.03.000.01007.0240.00247.0049.30
LazioLazio21.0050.90020.0220.01800.035.025.03.004.0...278.00196.044.01.04.001.01085.0196.00193.0050.40
LecceLecce26.0042.50020.0220.01800.018.012.01.002.0...263.00265.043.03.02.001.01072.0373.00295.0055.80
MilanMilan27.0054.80020.0220.01800.035.030.02.002.0...242.00237.023.04.02.002.01005.0234.00288.0044.80
MonzaMonza29.0055.10020.0220.01800.024.015.03.003.0...291.00251.037.00.03.001.01023.0214.00225.0048.70
NapoliNapoli24.0061.00020.0220.01800.048.039.04.005.0...272.00174.027.01.04.000.0995.0210.00244.0046.30
RomaRoma25.0049.10020.0220.01800.026.017.03.005.0...274.00228.010.00.05.000.01048.0197.00234.0045.70
SalernitanaSalernitana28.0044.80020.0220.01800.024.016.01.001.0...226.00233.049.07.01.001.01084.0258.00240.0051.80
SampdoriaSampdoria30.0048.90020.0220.01800.08.07.00.000.0...316.00277.056.03.00.000.01075.0324.00327.0049.80
SassuoloSassuolo27.0048.30020.0220.01800.023.017.04.005.0...262.00190.067.02.05.000.01043.0229.00183.0055.60
SpeziaSpezia30.0046.70020.0220.01800.015.010.02.002.0...207.00261.046.01.02.002.01182.0322.00281.0053.40
TorinoTorino24.0052.90020.0220.01800.021.016.01.001.0...221.00274.022.03.01.000.01045.0337.00309.0052.20
UdineseUdinese23.0050.40020.0220.01800.027.023.00.000.0...261.00235.031.02.00.001.01010.0212.00254.0045.50
AvgAvg26.2550.03520.0220.01800.025.418.52.052.7...250.15236.834.92.02.650.71057.6262.15262.1549.91
\n", "

21 rows × 321 columns

\n", "
" ], "text/plain": [ " team team_players_used team_possession team_games \\\n", "Atalanta Atalanta 24.00 49.100 20.0 \n", "Bologna Bologna 24.00 52.600 20.0 \n", "Cremonese Cremonese 29.00 43.600 20.0 \n", "Empoli Empoli 26.00 46.400 20.0 \n", "Fiorentina Fiorentina 27.00 57.100 20.0 \n", "Verona Hellas Verona 32.00 43.500 20.0 \n", "Inter Inter 23.00 53.600 20.0 \n", "Juventus Juventus 26.00 49.400 20.0 \n", "Lazio Lazio 21.00 50.900 20.0 \n", "Lecce Lecce 26.00 42.500 20.0 \n", "Milan Milan 27.00 54.800 20.0 \n", "Monza Monza 29.00 55.100 20.0 \n", "Napoli Napoli 24.00 61.000 20.0 \n", "Roma Roma 25.00 49.100 20.0 \n", "Salernitana Salernitana 28.00 44.800 20.0 \n", "Sampdoria Sampdoria 30.00 48.900 20.0 \n", "Sassuolo Sassuolo 27.00 48.300 20.0 \n", "Spezia Spezia 30.00 46.700 20.0 \n", "Torino Torino 24.00 52.900 20.0 \n", "Udinese Udinese 23.00 50.400 20.0 \n", "Avg Avg 26.25 50.035 20.0 \n", "\n", " team_games_starts team_minutes team_goals team_assists \\\n", "Atalanta 220.0 1800.0 38.0 27.0 \n", "Bologna 220.0 1800.0 25.0 19.0 \n", "Cremonese 220.0 1800.0 15.0 7.0 \n", "Empoli 220.0 1800.0 19.0 11.0 \n", "Fiorentina 220.0 1800.0 22.0 17.0 \n", "Verona 220.0 1800.0 16.0 13.0 \n", "Inter 220.0 1800.0 39.0 26.0 \n", "Juventus 220.0 1800.0 30.0 23.0 \n", "Lazio 220.0 1800.0 35.0 25.0 \n", "Lecce 220.0 1800.0 18.0 12.0 \n", "Milan 220.0 1800.0 35.0 30.0 \n", "Monza 220.0 1800.0 24.0 15.0 \n", "Napoli 220.0 1800.0 48.0 39.0 \n", "Roma 220.0 1800.0 26.0 17.0 \n", "Salernitana 220.0 1800.0 24.0 16.0 \n", "Sampdoria 220.0 1800.0 8.0 7.0 \n", "Sassuolo 220.0 1800.0 23.0 17.0 \n", "Spezia 220.0 1800.0 15.0 10.0 \n", "Torino 220.0 1800.0 21.0 16.0 \n", "Udinese 220.0 1800.0 27.0 23.0 \n", "Avg 220.0 1800.0 25.4 18.5 \n", "\n", " team_pens_made team_pens_att ... vs_team_fouls \\\n", "Atalanta 6.00 8.0 ... 220.00 \n", "Bologna 3.00 3.0 ... 252.00 \n", "Cremonese 2.00 4.0 ... 217.00 \n", "Empoli 0.00 0.0 ... 260.00 \n", "Fiorentina 2.00 4.0 ... 271.00 \n", "Verona 0.00 0.0 ... 201.00 \n", "Inter 2.00 2.0 ... 249.00 \n", "Juventus 2.00 3.0 ... 220.00 \n", "Lazio 3.00 4.0 ... 278.00 \n", "Lecce 1.00 2.0 ... 263.00 \n", "Milan 2.00 2.0 ... 242.00 \n", "Monza 3.00 3.0 ... 291.00 \n", "Napoli 4.00 5.0 ... 272.00 \n", "Roma 3.00 5.0 ... 274.00 \n", "Salernitana 1.00 1.0 ... 226.00 \n", "Sampdoria 0.00 0.0 ... 316.00 \n", "Sassuolo 4.00 5.0 ... 262.00 \n", "Spezia 2.00 2.0 ... 207.00 \n", "Torino 1.00 1.0 ... 221.00 \n", "Udinese 0.00 0.0 ... 261.00 \n", "Avg 2.05 2.7 ... 250.15 \n", "\n", " vs_team_fouled vs_team_offsides vs_team_pens_won \\\n", "Atalanta 232.0 26.0 1.0 \n", "Bologna 229.0 33.0 3.0 \n", "Cremonese 254.0 32.0 3.0 \n", "Empoli 226.0 32.0 2.0 \n", "Fiorentina 243.0 53.0 1.0 \n", "Verona 286.0 22.0 1.0 \n", "Inter 224.0 18.0 2.0 \n", "Juventus 221.0 27.0 0.0 \n", "Lazio 196.0 44.0 1.0 \n", "Lecce 265.0 43.0 3.0 \n", "Milan 237.0 23.0 4.0 \n", "Monza 251.0 37.0 0.0 \n", "Napoli 174.0 27.0 1.0 \n", "Roma 228.0 10.0 0.0 \n", "Salernitana 233.0 49.0 7.0 \n", "Sampdoria 277.0 56.0 3.0 \n", "Sassuolo 190.0 67.0 2.0 \n", "Spezia 261.0 46.0 1.0 \n", "Torino 274.0 22.0 3.0 \n", "Udinese 235.0 31.0 2.0 \n", "Avg 236.8 34.9 2.0 \n", "\n", " vs_team_pens_conceded vs_team_own_goals \\\n", "Atalanta 8.00 1.0 \n", "Bologna 3.00 1.0 \n", "Cremonese 4.00 0.0 \n", "Empoli 0.00 0.0 \n", "Fiorentina 4.00 0.0 \n", "Verona 0.00 2.0 \n", "Inter 2.00 1.0 \n", "Juventus 3.00 0.0 \n", "Lazio 4.00 1.0 \n", "Lecce 2.00 1.0 \n", "Milan 2.00 2.0 \n", "Monza 3.00 1.0 \n", "Napoli 4.00 0.0 \n", "Roma 5.00 0.0 \n", "Salernitana 1.00 1.0 \n", "Sampdoria 0.00 0.0 \n", "Sassuolo 5.00 0.0 \n", "Spezia 2.00 2.0 \n", "Torino 1.00 0.0 \n", "Udinese 0.00 1.0 \n", "Avg 2.65 0.7 \n", "\n", " vs_team_ball_recoveries vs_team_aerials_won \\\n", "Atalanta 1214.0 248.00 \n", "Bologna 1081.0 224.00 \n", "Cremonese 1106.0 367.00 \n", "Empoli 1062.0 231.00 \n", "Fiorentina 1005.0 261.00 \n", "Verona 1096.0 362.00 \n", "Inter 914.0 204.00 \n", "Juventus 1007.0 240.00 \n", "Lazio 1085.0 196.00 \n", "Lecce 1072.0 373.00 \n", "Milan 1005.0 234.00 \n", "Monza 1023.0 214.00 \n", "Napoli 995.0 210.00 \n", "Roma 1048.0 197.00 \n", "Salernitana 1084.0 258.00 \n", "Sampdoria 1075.0 324.00 \n", "Sassuolo 1043.0 229.00 \n", "Spezia 1182.0 322.00 \n", "Torino 1045.0 337.00 \n", "Udinese 1010.0 212.00 \n", "Avg 1057.6 262.15 \n", "\n", " vs_team_aerials_lost vs_team_aerials_won_pct \n", "Atalanta 303.00 45.00 \n", "Bologna 180.00 55.40 \n", "Cremonese 273.00 57.30 \n", "Empoli 203.00 53.20 \n", "Fiorentina 302.00 46.40 \n", "Verona 411.00 46.80 \n", "Inter 251.00 44.80 \n", "Juventus 247.00 49.30 \n", "Lazio 193.00 50.40 \n", "Lecce 295.00 55.80 \n", "Milan 288.00 44.80 \n", "Monza 225.00 48.70 \n", "Napoli 244.00 46.30 \n", "Roma 234.00 45.70 \n", "Salernitana 240.00 51.80 \n", "Sampdoria 327.00 49.80 \n", "Sassuolo 183.00 55.60 \n", "Spezia 281.00 53.40 \n", "Torino 309.00 52.20 \n", "Udinese 254.00 45.50 \n", "Avg 262.15 49.91 \n", "\n", "[21 rows x 321 columns]" ] }, "execution_count": 60, "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": 61, "id": "f4017b2f", "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", " 'xg',\n", " 'npxg',\n", " 'assists',\n", " 'cards_yellow',\n", " 'cards_red'\n", "]\n", "\n", "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", "\n", "\n", "\n", "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", "]\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": "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": 62, "id": "6f8707b8", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " \n", "Averaging players stats with past seasons:\n", "Meret 1\n", "Provedel 1\n", "Vicario 1\n", "Szczesny 1\n", "Falcone 1\n", "Silvestri 1\n", "Rui Patricio 1\n", "Sepe 1\n", "Milinkovic-Savic V. 1\n", "Musso 1\n", "Maignan 0.7353365384615383\n", "Audero 1\n", "Montipo' 1\n", "Skorupski 1\n", "Consigli 1\n", "Dragowski 1\n", "Terracciano 1\n", "Tatarusanu 1\n", "Handanovic 0.7268191268191269\n", "Sportiello 1\n", "Perin 1\n", "Zoet 1\n", "Pegolo 1\n", "Mirante 0.7353365384615383\n", "Ujkani 1\n", "Berisha 1\n", "Marchetti 1\n", "Padelli 1\n", "Bardi 1\n", "Cordaz 1\n", "Pinsoglio 1\n", "Fiorillo 1\n", "Cragno 1\n", "Sirigu 1\n", "Rossi F. 1\n", "Berardi A. 1\n", "Gemello 1\n", "Ravaglia 1\n", "Boer 1\n", "Adamonis 1\n", "Marfella 1\n", "Zovko 1\n", "Piana 1\n", "Dimarco 1\n", "Smalling 1\n", "Di Lorenzo 1\n", "Danilo 1\n", "Hernandez T. 0.8929086538461539\n", "Udogie 0.7683516483516484\n", "Parisi 1\n", "Mario Rui 0.790950226244344\n", "Romagnoli 1\n", "Bastoni S. 0.7048387096774194\n", "Mazzocchi 1\n", "Tomori 1\n", "Scalvini 1\n", "Toloi 1\n", "Demiral 1\n", "Maehle 1\n", "Dumfries 0.9167832167832167\n", "Juan Jesus 0.5602564102564102\n", "Depaoli 1\n", "Mancini 1\n", "Ibanez 0.9392533936651583\n", "Rodrigo Becao 0.6723076923076923\n", "Ebuehi 0.9942307692307694\n", "Gosens 1\n", "Darmian 1\n", "Reca 1\n", "Bremer 0.8846736596736595\n", "Rrahmani 0.662121212121212\n", "Vojvoda 0.8114058355437664\n", "Bastoni 0.8674937965260546\n", "Milenkovic 0.7415158371040723\n", "Kalulu 1\n", "Martinez Quarta 1\n", "Casale 0.6201388888888889\n", "Perez N. 1\n", "Izzo 1\n", "Luperto 1\n", "Skriniar 0.9124175824175823\n", "Rodriguez R. 0.8898190045248868\n", "Marusic 1\n", "Lazzari 0.921712158808933\n", "Kyriakopoulos 0.7106100795755967\n", "Ampadu 0.888262599469496\n", "Ismajli 1\n", "Llorente D. affine to Ibanez\n", "Llorente D. 0.0\n", "Cambiaso 1\n", "Hysaj 0.9273209549071618\n", "Biraghi 0.863097713097713\n", "Medel 0.8658508158508158\n", "Bonucci 0.6302884615384615\n", "Calabria 0.7757396449704141\n", "Acerbi 0.7441666666666666\n", "Spinazzola 1\n", "Lykogiannis 0.9813186813186815\n", "Pellegrini Lu. 0.0\n", "Djidji 1\n", "Augello 0.8870726495726495\n", "Singo 0.7203296703296703\n", "Mari' 1\n", "De Vrij 0.7283333333333333\n", "Patric 0.7003205128205129\n", "Faraoni 0.42019230769230775\n", "Ceccherini 0.6920814479638008\n", "Hateboer 1\n", "Rogerio 1\n", "Aina 0.8804029304029304\n", "Ferrari G. 0.8870726495726495\n", "Fazio 1\n", "Buongiorno 1\n", "Gunter 0.7441666666666666\n", "Troost-Ekong affine to Fazio\n", "Troost-Ekong 0.10504807692307694\n", "Soumaoro 0.9004120879120879\n", "Ceccaroni 0.0\n", "Soppy 0.6133241758241759\n", "Ferrari A. 0.2986622073578596\n", "Zappacosta 0.24717194570135745\n", "Gyomber 0.7590570719602977\n", "Alex Sandro 0.9604395604395606\n", "Pezzella Giu. 0.7359890109890109\n", "Bereszynski 0.735989010989011\n", "Venuti 0.6576923076923077\n", "Palomino 0.24717194570135745\n", "Nuytinck 0.318019943019943\n", "Magnani 1\n", "Colley 0.787860576923077\n", "Nikolaou 0.8403846153846154\n", "Terzic 1\n", "Igor 0.8403846153846153\n", "Toljan 1\n", "Zortea 0.5329575596816976\n", "Dawidowicz 1\n", "Bellanova 0.5539702233250621\n", "Erlic 0.7441666666666666\n", "Ballo-Toure' affine to Calabria\n", "Ballo-Toure' 0.19393491124260354\n", "Stojanovic 0.8149184149184149\n", "Amian 0.6828124999999999\n", "Zima 0.7563461538461539\n", "De Winter 1\n", "Romagnoli S. 0.0\n", "Ghiglione 0.7926035502958579\n", "Rugani 0.4201923076923077\n", "De Sciglio 0.7563461538461539\n", "Djimsiti 0.4337468982630273\n", "Caldara 0.7201612903225807\n", "Karsdorp 0.4201923076923077\n", "Marchizza 0.27115384615384613\n", "Kjaer 1\n", "Ruggeri 1\n", "Zanoli 0.5724358974358975\n", "Radovanovic 1\n", "D'ambrosio 0.3361538461538462\n", "De Silvestri 0.48796526054590567\n", "Chiriches 0.4145225464190981\n", "Murru 0.6111888111888112\n", "Bonifazi 0.5347902097902096\n", "Walukiewicz 0.9813186813186815\n", "Walukiewicz 0.3666039729501268\n", "Ranieri L. 0.12720797720797722\n", "Gabbia 1\n", "Kumbulla 0.395475113122172\n", "Lovato 0.6439903846153846\n", "Tuia 0.1908119658119658\n", "Ferrer 0.12450142450142451\n", "Antov 1\n", "Vasquez 0.5519917582417583\n", "Ruan 1\n", "Ostigard 1\n", "Coppola D. 1\n", "Cacace 0.6723076923076924\n", "Conti 0.24010989010989015\n", "Conti 0.8679180434949665\n", "Marrone 0.16355311355311355\n", "Tonelli 0.0\n", "Radu 1\n", "Florenzi 0.14006410256410257\n", "Sala 0.5602564102564103\n", "Fares 0.0\n", "Fares 0.0\n", "Romagna 0.0\n", "Romagna 0.0\n", "Muldur 0.054218362282878414\n", "Amey 0.0\n", "Zaccagni 1\n", "Milinkovic-Savic 0.863097713097713\n", "Barella 0.8870726495726495\n", "Zielinski 0.9604395604395605\n", "Luis Alberto 0.8403846153846154\n", "Felipe Anderson 0.8846153846153846\n", "Koopmeiners 1\n", "Calhanoglu 0.9392533936651583\n", "Frattesi 0.9337606837606838\n", "Diaz B. 0.921712158808933\n", "Zambo Anguissa 1\n", "Elmas 0.863097713097713\n", "Miranchuk 1\n", "Samardzic 1\n", "Pereyra 1\n", "Politano 0.9167832167832167\n", "Rabiot 0.8403846153846155\n", "Lazovic 0.790950226244344\n", "Lobotka 1\n", "Bonaventura 0.921712158808933\n", "Pessina 1\n", "Tonali 0.7936965811965813\n", "Pellegrini Lo. 1\n", "El Shaarawy 0.8715099715099714\n", "Orsolini 0.9852785145888594\n", "Ikone' 1\n", "Candreva 0.9063568376068376\n", "Bennacer 1\n", "Pasalic 0.8176715176715176\n", "Mkhitaryan 0.9417493796526054\n", "Chiesa 0.7203296703296703\n", "Bandinelli 0.9604395604395605\n", "Fagioli affine to Henderson L.\n", "Fagioli 0.4865384615384616\n", "Messias 0.9050295857988164\n", "Arslan 1\n", "Ricci S. 1\n", "Verdi 1\n", "Sensi 1\n", "Barak 0.9474801061007958\n", "Soriano 0.9124175824175823\n", "Dominguez 1\n", "Brozovic 0.48021978021978023\n", "Cristante 0.9886877828054298\n", "Saponara 0.9273209549071618\n", "Vecino 1\n", "Locatelli 0.921712158808933\n", "Zaniolo 0.7803571428571429\n", "Maldini 1\n", "Marin 0.9063568376068376\n", "Zalewski 1\n", "Bajrami 0.9322527472527472\n", "Coulibaly L. 1\n", "De Roon 1\n", "Mandragora 1\n", "Bourabia 1\n", "Sottil 0.49022435897435895\n", "Aebischer 1\n", "Ederson D.s. 1\n", "Miretti 1\n", "Cataldi 0.9454326923076923\n", "Djuricic 1\n", "Linetty 1\n", "Haas 1\n", "Walace 0.9337606837606838\n", "Agudelo 1\n", "Pobega 0.6244755244755245\n", "Nicolussi Caviglia 1\n", "Rovella 0.8995421245421246\n", "Amrabat 1\n", "Tameze 0.8403846153846153\n", "Gyasi 0.8403846153846154\n", "Ilic 0.5903245192307693\n", "Matheus Henrique 0.8067692307692307\n", "Harroui 0.9167832167832167\n", "Volpato 1\n", "Duncan 0.662121212121212\n", "Cuadrado 0.763986013986014\n", "Ekdal 0.9247041420118343\n", "Schouten 1\n", "Obiang 1\n", "Kovalenko 0.6464497041420117\n", "Crnigoj 0.050509049773755664\n", "Basic 0.8114058355437664\n", "Asllani 0.8213210702341138\n", "Sabiri 1\n", "Grassi 0.6296794871794873\n", "Krunic 0.5402472527472527\n", "Rincon 1\n", "Miguel Veloso 1\n", "Henderson L. 0.6192307692307691\n", "Lopez M. 0.6723076923076923\n", "Cuisance 0.0\n", "Saelemaekers 0.5602564102564103\n", "Maggiore 0.4906593406593407\n", "Akpa Akpro 0.0\n", "Akpa Akpro 0.0\n", "Maleh 0.30666208791208793\n", "Romero L. 1\n", "Ceide 1\n", "Benassi 0.28621794871794876\n", "Gagliardini 0.8403846153846154\n", "Vieira 1\n", "Bianco 1\n", "Galdames 0.0\n", "Kastanos 0.6847578347578348\n", "Vignato 0.21466346153846153\n", "Askildsen 1\n", "Bove 1\n", "Bohinen 1\n", "Bakayoko 0.0\n", "Zurkowski 0.049065934065934076\n", "Castrovilli 0.21923076923076923\n", "Demme 0.2653846153846154\n", "Darboe 0.0\n", "Darboe 0.3361538461538462\n", "Urbanski 0.0\n", "Yepes 1\n", "Osimhen 0.9960113960113961\n", "Martinez L. 0.9604395604395605\n", "Dybala 0.8290450928381962\n", "Rafael Leao 0.9392533936651583\n", "Immobile 0.8132754342431762\n", "Vlahovic 1\n", "Arnautovic 0.7130536130536129\n", "Dzeko 0.9337606837606838\n", "Nzola 1\n", "Beto 1\n", "Giroud 1\n", "Abraham 0.9085239085239084\n", "Deulofeu 0.790950226244344\n", "Simeone 0.5397252747252748\n", "Lozano 1\n", "Correa 1\n", "Berardi 0.6111888111888112\n", "Pedro 0.9454326923076923\n", "Sanabria 0.8693633952254641\n", "Thauvin affine to Deulofeu\n", "Thauvin 0.0\n", "Cabral 1\n", "Caprari 0.9813186813186814\n", "Piatek 1\n", "Rebic 0.8403846153846154\n", "Bonazzoli 0.9454326923076923\n", "Zapata D. 0.9104166666666667\n", "Gonzalez N. 0.5093240093240092\n", "Brekalo 0.0\n", "Kean 0.9454326923076923\n", "Okereke 1\n", "Muriel 0.747008547008547\n", "Pinamonti 0.8109508547008547\n", "Di Francesco F. 1\n", "Caputo 0.23851495726495728\n", "Boga 1\n", "Alvarez A. affine to Raspadori\n", "Alvarez A. 0.7003205128205129\n", "Petagna 1\n", "Barrow 0.6920814479638008\n", "Djuric 1\n", "Henry 0.8326340326340327\n", "Success 1\n", "Gabbiadini 1\n", "Lammers 0.5724358974358974\n", "Kallon 1\n", "Nestorovski 1\n", "Raspadori 0.6678418803418803\n", "Lasagna 0.9604395604395606\n", "Belotti 1\n", "Pellegri 1\n", "Verde 0.5093240093240092\n", "Destro 0.636039886039886\n", "Seck 1\n", "Sansone 0.6225071225071225\n", "Quagliarella 0.7130536130536129\n", "Defrel 0.39807692307692305\n", "Pjaca 0.6439903846153846\n", "Gaich 0.0\n", "Piccoli 1\n", "Shomurodov 0.36799450549450546\n", "Afena-Gyan 1\n", "Ibrahimovic 0.0\n", "Pussetto 0.30666208791208793\n", "Cancellieri 1\n", "Oddei 0.0\n", "Oddei 0.6723076923076924\n", "Braaf 0.42932692307692316\n", "Raimondo 0.0\n", "Kaio Jorge 0.0\n", "Players with low quantity of games:\n", "Gravillon 0.0\n", "Masina 0.6666666666666667\n", "Aiwu 0.0\n", "Thiaw 0.6666666666666667\n", "Zeefuik 0.0\n", "Wisniewski 0.0\n", "Dermaku 0.16666666666666663\n", "Donati 0.6666666666666667\n", "Adopo 0.8333333333333334\n", "Antov 0.6666666666666667\n", "Ostigard 0.6666666666666667\n", "Cacace 0.9943589743589744\n", "Gila 0.6666666666666667\n", "Bayeye 0.16666666666666663\n", "Moutinho J. 0.6666666666666667\n", "Paletta 0.0\n", "Romagna 0.0\n", "Cassandro 0.0\n", "Amey 0.16666666666666663\n", "Zanotti 0.0\n", "Ebosele 0.6666666666666667\n", "Buta 0.0\n", "Abankwah 0.0\n", "Guessand A. 0.0\n", "Cabal 0.5\n", "Sosa 0.6666666666666667\n", "Guarino 0.0\n", "Carboni F. 0.6666666666666667\n", "Pogba 0.0\n", "Duda 0.16666666666666663\n", "Wijnaldum 0.16666666666666663\n", "Nicolussi Caviglia 0.6666666666666667\n", "Volpato 0.8333333333333334\n", "Machin 0.0\n", "Esposito Sa. 0.33333333333333337\n", "Akpa Akpro 0.0\n", "Romero L. 0.8333333333333334\n", "Bianco 0.5\n", "Galdames 0.0\n", "Tahirovic 0.8333333333333334\n", "Abildgaard 0.0\n", "Winks 0.5\n", "D'andrea 0.8333333333333334\n", "Iling-Junior 0.8333333333333334\n", "Cipot 0.16666666666666663\n", "Gaetano 0.5\n", "Darboe 0.6092307692307692\n", "Urbanski 0.16666666666666663\n", "Bertini 0.0\n", "Yepes 0.8333333333333334\n", "Pyyhtia 0.5\n", "Trimboli 0.0\n", "Pafundi 0.0\n", "Adli 0.6666666666666667\n", "Vignato S. 0.5\n", "Samek 0.0\n", "Zerbin 0.6666666666666667\n", "Ilkhan 0.6666666666666667\n", "Degli Innocenti 0.16666666666666663\n", "Acella 0.0\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Carboni V. 0.33333333333333337\n", "Paoletti 0.5\n", "Malagrida 0.16666666666666663\n", "Faticanti 0.0\n", "Solbakken 0.33333333333333337\n", "Ngonge 0.16666666666666663\n", "Oddei 0.4971794871794871\n", "Braaf 0.452003205128205\n", "Raimondo 0.16666666666666663\n", "De Luca 0.16666666666666663\n", "Voelkerling Persson 0.33333333333333337\n", "Krollis 0.0\n", "Vivaldo 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", "\n", "players = players_orig.copy()\n", "\n", "min_games = 6\n", "\n", "current_season_games = 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", "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", " \n", " # to handle players like Lukaku, 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))\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", "mean_players_stats = players_orig.loc[players_orig.index[0]][cols_toadapt] * 0\n", "count = 0\n", "\n", "for i in range(players_orig.shape[0]):\n", " if(players_orig['games'][i] >= min_games and (players_orig['r'][i] == 'D')): # counting only defenders, to add a penalty\n", " mean_players_stats += players_orig.loc[players_orig.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": 63, "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=160)" ] }, "execution_count": 63, "metadata": {}, "output_type": "execute_result" } ], "source": [ "players.columns[9:]" ] }, { "cell_type": "code", "execution_count": 64, "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 - dribble_tackles_pct\n", "19 - dribbles_completed_pct\n", "20 - aerials_won_pct\n", "21 - team_possession\n", "22 - team_goals_assists_per90\n", "23 - team_goals_pens_per90\n", "24 - team_goals_assists_pens_per90\n", "25 - team_xg_per90\n", "26 - team_gk_goals_against_per90\n", "27 - team_gk_save_pct\n", "28 - team_gk_clean_sheets_pct\n", "29 - team_passes_pct\n", "30 - team_passes_pct_medium\n", "31 - team_passes_pct_long\n", "32 - team_sca_per90\n", "33 - team_gca_per90\n", "34 - team_dribble_tackles_pct\n", "35 - team_aerials_won_pct\n", "36 - vs_team_possession\n", "37 - vs_team_goals_per90\n", "38 - vs_team_assists_per90\n", "39 - vs_team_xg_per90\n", "40 - vs_team_gk_save_pct\n", "41 - vs_team_gk_clean_sheets_pct\n", "42 - vs_team_gk_pct_passes_launched\n", "43 - vs_team_gk_crosses_stopped_pct\n", "44 - vs_team_shots_on_target_per90\n", "45 - vs_team_passes_pct\n", "46 - vs_team_passes_pct_short\n", "47 - vs_team_passes_pct_medium\n", "48 - vs_team_passes_pct_long\n", "49 - vs_team_sca_per90\n", "50 - vs_team_gca_per90\n", "51 - vs_team_dribble_tackles_pct\n", "52 - vs_team_dribbles_completed_pct\n", "53 - vs_team_aerials_won_pct\n", "54 - opp_team_possession\n", "55 - opp_team_goals_assists_per90\n", "56 - opp_team_goals_pens_per90\n", "57 - opp_team_goals_assists_pens_per90\n", "58 - opp_team_xg_per90\n", "59 - opp_team_gk_goals_against_per90\n", "60 - opp_team_gk_save_pct\n", "61 - opp_team_gk_clean_sheets_pct\n", "62 - opp_team_passes_pct\n", "63 - opp_team_passes_pct_medium\n", "64 - opp_team_passes_pct_long\n", "65 - opp_team_sca_per90\n", "66 - opp_team_gca_per90\n", "67 - opp_team_dribble_tackles_pct\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_dribble_tackles_pct\n", "85 - opp_vs_team_dribbles_completed_pct\n", "86 - opp_vs_team_aerials_won_pct\n", "87 - vote_avg\n", "88 - vote_std\n", "89 - goals.1\n", "90 - assists.1\n", "91 - cards_yellow\n", "92 - cards_red\n", "93 - xg\n", "94 - npxg\n", "95 - shots_on_target\n", "96 - passes_completed\n", "97 - passes_into_final_third\n", "98 - passes_into_penalty_area\n", "99 - progressive_passes\n", "100 - passes_live\n", "101 - passes_dead\n", "102 - through_balls\n", "103 - passes_switches\n", "104 - crosses\n", "105 - corner_kicks\n", "106 - dribble_tackles\n", "107 - dribbles_vs\n", "108 - dribbled_past\n", "109 - blocks\n", "110 - blocked_shots\n", "111 - blocked_passes\n", "112 - interceptions\n", "113 - clearances\n", "114 - errors\n", "115 - touches\n", "116 - touches_def_pen_area\n", "117 - touches_def_3rd\n", "118 - touches_mid_3rd\n", "119 - touches_att_3rd\n", "120 - touches_att_pen_area\n", "121 - touches_live_ball\n", "122 - dribbles_completed\n", "123 - dribbles\n", "124 - passes_received\n", "125 - miscontrols\n", "126 - dispossessed\n", "127 - fouls\n", "128 - fouled\n", "129 - aerials_won\n", "130 - aerials_lost\n", "131 - carries\n", "132 - progressive_carries\n", "133 - carries_into_final_third\n", "134 - 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": 65, "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": 66, "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": 67, "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_dribble_tackles_pct\n", "39 - team_aerials_won_pct\n", "40 - vs_team_possession\n", "41 - vs_team_goals_per90\n", "42 - vs_team_assists_per90\n", "43 - vs_team_xg_per90\n", "44 - vs_team_gk_save_pct\n", "45 - vs_team_gk_clean_sheets_pct\n", "46 - vs_team_gk_pct_passes_launched\n", "47 - vs_team_gk_crosses_stopped_pct\n", "48 - vs_team_shots_on_target_per90\n", "49 - vs_team_passes_pct\n", "50 - vs_team_passes_pct_short\n", "51 - vs_team_passes_pct_medium\n", "52 - vs_team_passes_pct_long\n", "53 - vs_team_sca_per90\n", "54 - vs_team_gca_per90\n", "55 - vs_team_dribble_tackles_pct\n", "56 - vs_team_dribbles_completed_pct\n", "57 - vs_team_aerials_won_pct\n", "58 - opp_team_possession\n", "59 - opp_team_goals_assists_per90\n", "60 - opp_team_goals_pens_per90\n", "61 - opp_team_goals_assists_pens_per90\n", "62 - opp_team_xg_per90\n", "63 - opp_team_gk_goals_against_per90\n", "64 - opp_team_gk_save_pct\n", "65 - opp_team_gk_clean_sheets_pct\n", "66 - opp_team_passes_pct\n", "67 - opp_team_passes_pct_medium\n", "68 - opp_team_passes_pct_long\n", "69 - opp_team_sca_per90\n", "70 - opp_team_gca_per90\n", "71 - opp_team_dribble_tackles_pct\n", "72 - opp_team_aerials_won_pct\n", "73 - opp_vs_team_possession\n", "74 - opp_vs_team_goals_per90\n", "75 - opp_vs_team_assists_per90\n", "76 - opp_vs_team_xg_per90\n", "77 - opp_vs_team_gk_save_pct\n", "78 - opp_vs_team_gk_clean_sheets_pct\n", "79 - opp_vs_team_gk_pct_passes_launched\n", "80 - opp_vs_team_gk_crosses_stopped_pct\n", "81 - opp_vs_team_shots_on_target_per90\n", "82 - opp_vs_team_passes_pct\n", "83 - opp_vs_team_passes_pct_short\n", "84 - opp_vs_team_passes_pct_medium\n", "85 - opp_vs_team_passes_pct_long\n", "86 - opp_vs_team_sca_per90\n", "87 - opp_vs_team_gca_per90\n", "88 - opp_vs_team_dribble_tackles_pct\n", "89 - opp_vs_team_dribbles_completed_pct\n", "90 - opp_vs_team_aerials_won_pct\n", "91 - vote_avg\n", "92 - vote_std\n", "93 - gk_shots_on_target_against\n", "94 - gk_saves\n", "95 - gk_free_kick_goals_against\n", "96 - gk_corner_kick_goals_against\n", "97 - gk_own_goals_against\n", "98 - gk_psxg\n", "99 - gk_psnpxg_per_shot_on_target_against\n", "100 - gk_psxg_net\n", "101 - gk_passes_completed_launched\n", "102 - gk_passes_launched\n", "103 - gk_passes\n", "104 - gk_passes_throws\n", "105 - gk_goal_kicks\n", "106 - gk_crosses\n", "107 - 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": 68, "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": 69, "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": 17, "id": "04564bee", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.1569906306642661\n", "0.19152381866355805\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiwAAAGdCAYAAAAxCSikAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAAB+eElEQVR4nO3deVxU5f4H8M8My4AIKCKbAuKC5pILmkuluSKWaXXTcil/t1vZYou3W1ndlltXq1u3zdTb/fVrw2wz1FxxN0vLDTUXcEFxAREQRlC2mfP748wczpmZM5xBhhng8369eAEzZ848s57veZ7v8310giAIICIiIvJiek83gIiIiKg2DFiIiIjI6zFgISIiIq/HgIWIiIi8HgMWIiIi8noMWIiIiMjrMWAhIiIir8eAhYiIiLyer6cbUF/MZjPOnz+P4OBg6HQ6TzeHiIiINBAEAZcvX0ZMTAz0evV+lCYTsJw/fx6xsbGebgYRERHVwZkzZ9C+fXvV65tMwBIcHAxAfMAhISEebg0RERFpYTQaERsbKx3H1TSZgMU6DBQSEsKAhYiIqJGpLZ2DSbdERETk9RiwEBERkddjwEJERERejwELEREReT0GLEREROT1GLAQERGR12PAQkRERF6PAQsRERF5PQYsRERE5PVcCljmzZuHAQMGIDg4GBEREZg4cSIyMzMV2wiCgFdffRUxMTEIDAzELbfcgkOHDtW676VLl6J79+4wGAzo3r070tLSXHskRERE1GS5FLBs3boVjz32GHbu3In169ejuroaY8aMQVlZmbTN22+/jX//+9+YP38+du3ahaioKIwePRqXL19W3e+OHTswefJkTJ8+Hfv378f06dMxadIk/Pbbb3V/ZERERNRk6ARBEOp644sXLyIiIgJbt27F0KFDIQgCYmJi8NRTT+G5554DAFRUVCAyMhJvvfUWHn74YYf7mTx5MoxGI9asWSNdNnbsWLRu3RpLlizR1Baj0YjQ0FCUlJRwLSEiIqJGQuvx+5pyWEpKSgAAYWFhAIDs7Gzk5eVhzJgx0jYGgwHDhg3Dr7/+qrqfHTt2KG4DAMnJyU5vU1FRAaPRqPghIiJqzozlVZj51R5sy7ro6abUuzoHLIIgYPbs2bjpppvQs2dPAEBeXh4AIDIyUrFtZGSkdJ0jeXl5Lt9m3rx5CA0NlX5iY2Pr+lCIiIgavcy8y5gw/xesPZSHv/2wH+VVJk83qV7VOWB5/PHHceDAAYdDNrZLRAuCUOuy0a7eZs6cOSgpKZF+zpw540LriYiImo4V+89j4se/ILugDDGhAfhken8E+Pl4uln1yrcuN5o1axZWrFiBbdu2oX379tLlUVFRAMQek+joaOny/Px8ux4UuaioKLvelNpuYzAYYDAY6tJ8IiKiJqHKZMa81Ufxf79kAwBu7NwGH97TF21aNr3jo0s9LIIg4PHHH8ePP/6ITZs2ISEhQXF9QkICoqKisH79eumyyspKbN26FUOGDFHd7+DBgxW3AYD09HSntyEiImrO8i+XY+p/f5OClUdv6YQv/zywSQYrgIs9LI899hi+/vprLF++HMHBwVKvSGhoKAIDA6HT6fDUU09h7ty56NKlC7p06YK5c+eiRYsWmDJlirSf++67D+3atcO8efMAAE8++SSGDh2Kt956CxMmTMDy5cuxYcMGbN++vR4fKhERUdOw61QRHlu8F/mXKxBs8MU7k3ojuUeUp5vlVi4FLAsXLgQA3HLLLYrLP/vsM8yYMQMA8Oyzz+Lq1at49NFHcenSJQwcOBDp6ekIDg6Wts/JyYFeX9O5M2TIEHzzzTd46aWX8Pe//x2dOnXCt99+i4EDB9bxYRERETU9giDg819P4Z+rjqDaLCAxsiUWTUtCx7YtPd00t7umOizehHVYiIioKbtSWY05Px7E8ozzAIDbro/GW3ddjyBDndJRvYbW43fjfpRERETNQHZBGWZ+tQeZFy7DR6/DC+Ouw59v7FDrDNymhAELERGRF1t/+AJmf5uByxXVCG9pwIKp/XBDQpinm9XgGLAQERF5IZNZwHvrszB/83EAQP/41vh4aj9EhgR4uGWewYCFiIjIyxSVVeLJb/bh52MFAIAZQzrgxVuvg5/PNa2o06gxYCEiIvIiB84W45HUvThXfBWBfj54865emNCnnaeb5XEMWIiIiLzEt7ty8Pflh1BZbUaHNi2waHoSukVx5ivAgIWIiMjjyqtMeHXFIXyzS1wXb9R1EXh3Uh+EBvp5uGXegwELERGRB529dAWPLt6LA2dLoNMBz4zpikeGdYJe33ymLGvBgIWIiMhDfj52EU8s2YdLV6rQuoUfPrinL4YmtvV0s7wSAxYiIqIGZjYLWLj1BN5Jz4QgAL3ahWLhtH5o37qFp5vmtRiwEBERNSBjeRX++t1+rD98AQAwuX8sXpvQAwF+Ph5umXdjwEJERNRAMvMu4+GvduNU4RX4++jxjwk9cM8NcZ5uVqPAgIWIiKgBLM84h+eXHsTVKhPatQrEgqn90Du2laeb1WgwYCEiInKjKpMZc1cfwWe/nAIA3NwlHB/c0xdhQf6ebVgjw4CFiIjITfKN5Xh08V7sPn0JAPDY8E6YPborfDhl2WUMWIiIiNzg9+wiPPb1Xly8XIFggy/endQbY3pEebpZjRYDFiIionokCAI+++UU5q4+gmqzgMTIllg0LQkd27b0dNMaNQYsRERE9eRKZTWeX3oQK/afBwDc3jsGb97VCy38ebi9VnwGiYiI6kF2QRlmfrUHmRcuw1evw4u3XocZQzpAp2O+Sn1gwEJERHSN0g/l4a/f7cflimq0DTZgwdR+GNAhzNPNalIYsBAREdWRySzg3fRMLNhyAgAwoENrfDylHyJCAjzcsqaHAQsREVEdFJVV4okl+7D9eAEA4H9u7IAXxl0HPx+9h1vWNDFgISIictH+M8V4dPFenCu+ikA/H7x5Vy9M6NPO081q0hiwEBERueCb33Pw8vJDqDSZkRAehEXTktA1KtjTzWryGLAQERFpUF5lwivLD+Hb3WcAAKO7R+LdSb0REuDn4ZY1DwxYiIiIanGm6AoeXbwXB8+VQK8D/jqmKx4Z1gl6lthvMAxYiIiInNiWdRFPfLMPxVeq0LqFHz68ty9u7tLW081qdhiwEBEROWA2C1iw5TjeXZ8FQQCubx+KBVP7oX3rFp5uWrPEgIWIiMhGydUq/PW7/dhw5AIA4N4bYvHK+B4I8PPxcMuaLwYsREREMkfzjJj51R6cKrwCf189Xp/QA5MHxHm6Wc0eAxYiIiKL5Rnn8NzSAyivMqNdq0AsnNYP17dv5elmEQCXy/Ft27YN48ePR0xMDHQ6HZYtW6a4XqfTOfz517/+pbrPzz//3OFtysvLXX5ARERErqqsNuPVFYfw5DcZKK8y4+Yu4fhp1k0MVryIyz0sZWVl6N27N/7nf/4Hd911l931ubm5iv/XrFmDBx54wOG2ciEhIcjMzFRcFhDAtRiIiMi9LhjL8djivdh9+hIA4PHhnfH06ET4cMqyV3E5YElJSUFKSorq9VFRUYr/ly9fjuHDh6Njx45O96vT6exuS0RE5E6/Zxfhsa/34uLlCgQbfPHvyX0wunukp5tFDrg1h+XChQtYtWoVvvjii1q3LS0tRXx8PEwmE/r06YPXX38dffv2Vd2+oqICFRUV0v9Go7Fe2kxERE2fIAj4v19OYe7qIzCZBXSNDMai6UlICA/ydNNIhVuXlPziiy8QHByMO++80+l23bp1w+eff44VK1ZgyZIlCAgIwI033ohjx46p3mbevHkIDQ2VfmJjY+u7+URE1ASVVVRj1pJ9eH3lYZjMAib0iUHaY0MYrHg5nSAIQp1vrNMhLS0NEydOdHh9t27dMHr0aHz00Ucu7ddsNqNfv34YOnQoPvzwQ4fbOOphiY2NRUlJCUJCQly6PyIiah5OXizFzNQ9yLpQCl+9Di/deh3uH9IBOh3zVTzFaDQiNDS01uO324aEfv75Z2RmZuLbb791+bZ6vR4DBgxw2sNiMBhgMBiupYlERNSMrDuUh79+tx+lFdVoG2zAgqn9MKBDmKebRRq5LWD59NNPkZSUhN69e7t8W0EQkJGRgV69ermhZURE1JyYzALeSc/Ewi0nAAA3dAjD/Cl9ERHCmaiNicsBS2lpKY4fPy79n52djYyMDISFhSEuTqwEaDQa8f333+Pdd991uI/77rsP7dq1w7x58wAAr732GgYNGoQuXbrAaDTiww8/REZGBj7++OO6PCYiIiIAQGFpBZ78JgPbjxcAAB64KQHPp3SDn49bUzjJDVwOWHbv3o3hw4dL/8+ePRsAcP/99+Pzzz8HAHzzzTcQBAH33nuvw33k5ORAr695sxQXF+Ohhx5CXl4eQkND0bdvX2zbtg033HCDq80jIiICAGScKcajqXtwvqQcgX4+eOtP1+P23jGebhbV0TUl3XoTrUk7RETUtAmCgCW/n8GrKw6h0mRGQngQ/jM9CYmRwZ5uGjng8aRbIiKihlZeZcLLy//Ad7vPAgDGdI/EO5N6IyTAz8Mto2vFgIWIiJqEM0VX8MjiPfjjnBF6HfBMclfMHNoJepbYbxIYsBARUaO3NesinvxmH4qvVCEsyB8f3tMXN3UJ93SzqB4xYCEiokbLbBbw8ebj+PeGLAgC0Lt9KBZMS0K7VoGebhrVMwYsRETUKJVcrcLsbzOw8Wg+AODeG+LwyvjuCPDz8XDLyB0YsBARUaNzJNeImal7cLrwCvx99XhjQk9MGsA15ZoyBixERNSoLNt3Ds//eADlVWa0axWIRdOS0Kt9qKebRW7GgIWIiBqFymoz5q4+gs9/PQUAGJrYFh9M7oPWQf6ebRg1CAYsRETk9S4Yy/Ho4r3Yc/oSAOCJEZ3x5KhE+HDKcrPBgIWIiLzazpOFePzrfSgorUBwgC/em9QHo7pHerpZ1MAYsBARkVcSBAGfbs/GvDVHYTIL6BYVjEXTktAhPMjTTSMPYMBCRERep6yiGs8uPYBVB3IBABP6xGDenb3Qwp+HreaKrzwREXmVExdLMfOrPTiWXwpfvQ5/v6077hscD52O+SrNGQMWIiLyGmv/yMMz3+9HaUU1IoINWDitH5LiwzzdLPICDFiIiMjjqk1mvJOehUVbTwAAbkgIw/wpfRERHODhlpG3YMBCREQeVVhagVlL9uHXE4UAgL/clIDnUrrBz0fv4ZaRN2HAQkREHpNxphiPpO5Bbkk5Wvj74K27rsf43jGebhZ5IQYsRETU4ARBwJLfz+DVFYdQaTKjY3gQFk1PQmJksKebRl6KAQsRETWo8ioT/r7sD3y/5ywAILlHJN65uzeCA/w83DLyZgxYiIiowZwpuoKZqXtw6LwReh3wt+RumDmsI6csU60YsBARUYPYkpmPJ7/JQMnVKoQF+eOje/vixs7hnm4WNRIMWIiIyK3MZgHzNx/HexuyIAhA7/ahWDAtCe1aBXq6adSIMGAhIiK3KblahdnfZmDj0XwAwJSBcXhlfHcYfH083DJqbBiwEBGRWxzJNWJm6h6cLrwCf1893pjYE5P6x3q6WdRIMWAhIqJ6l7bvLOb8eBDlVWa0bx2IRdOS0LNdqKebRY0YAxYiIqo3ldVmvLHqML7ccRoAMDSxLT6Y3Aetg/w93DJq7BiwEBFRvcgrKceji/dgb04xAOCJEZ3x5KhE+Og5ZZmuHQMWIiK6ZjtPFuLxr/eioLQSwQG+eH9yH4y8LtLTzaImhAELERHVmSAI+HR7NuatOQqTWUC3qGAsmpaEDuFBnm4aNTEMWIiIqE5KK6rx3A8HsOpgLgDgjr7tMPeOXgj055Rlqn8MWIiIyGXH80sxM3UPjueXwlevw8vju2P6oHiW2Ce30bt6g23btmH8+PGIiYmBTqfDsmXLFNfPmDEDOp1O8TNo0KBa97t06VJ0794dBoMB3bt3R1pamqtNIyKiBrD2j1xM/PgXHM8vRWSIAd8+PAj3De7AYIXcyuWApaysDL1798b8+fNVtxk7dixyc3Oln9WrVzvd544dOzB58mRMnz4d+/fvx/Tp0zFp0iT89ttvrjaPiIjcpNpkxrw1RzAzdS9KK6pxQ0IYfpp1E5LiwzzdNGoGdIIgCHW+sU6HtLQ0TJw4UbpsxowZKC4utut5cWby5MkwGo1Ys2aNdNnYsWPRunVrLFmyRNM+jEYjQkNDUVJSgpCQEM33TUREtSsorcATS/bh1xOFAIC/3JSA51K6wc/H5fNeIgWtx2+3vNO2bNmCiIgIJCYm4sEHH0R+fr7T7Xfs2IExY8YoLktOTsavv/6qepuKigoYjUbFDxER1b99OZcw/qPt+PVEIVr4+2D+lL546bbuDFaoQdX7uy0lJQWLFy/Gpk2b8O6772LXrl0YMWIEKioqVG+Tl5eHyEjlfP3IyEjk5eWp3mbevHkIDQ2VfmJjuT4FEVF9EgQBqTtPY/J/diK3pBwd2wZh+WM34rbrYzzdNGqG6n2W0OTJk6W/e/bsif79+yM+Ph6rVq3CnXfeqXo722QtQRCcJnDNmTMHs2fPlv43Go0MWoiI6kl5lQkvpv2BpXvPAgDG9ojCv+6+HsEBfh5uGTVXbp/WHB0djfj4eBw7dkx1m6ioKLvelPz8fLteFzmDwQCDwVBv7SQiItGZoit4+Ks9OJxrhF4HPDu2Gx4e2pGzgMij3D4AWVhYiDNnziA6Olp1m8GDB2P9+vWKy9LT0zFkyBB3N4+IiGQ2Z+bjto+243CuEWFB/kh9YCBmDuvEYIU8zuUeltLSUhw/flz6Pzs7GxkZGQgLC0NYWBheffVV3HXXXYiOjsapU6fwwgsvIDw8HHfccYd0m/vuuw/t2rXDvHnzAABPPvkkhg4dirfeegsTJkzA8uXLsWHDBmzfvr0eHiIREdXGbBbw0abjeH9jFgQB6B3bCgun9kNMq0BPN40IQB0Clt27d2P48OHS/9Y8kvvvvx8LFy7EwYMH8eWXX6K4uBjR0dEYPnw4vv32WwQHB0u3ycnJgV5f07kzZMgQfPPNN3jppZfw97//HZ06dcK3336LgQMHXstjIyIiDUquVOHp7zKw6ag4o3PqwDi8PL47DL4ssU/e45rqsHgT1mEhInLdofMleCR1L3KKrsDgq8cbE3vi7v6cwEANR+vxm2sJERE1Uz/uPYs5Px5ERbUZ7VsHYtG0JPRsF+rpZhE5xICFiKiZqaw24/WVh/HVztMAgGGJbfHBPX3QqoW/h1tGpI4BCxFRM5JXUo5HFu/BvpxiAMCTI7vgiZFd4KPnLCDybgxYiIiaiR0nCjFryV4UlFYiJMAX79/TByO6qde7IvImDFiIiJo4QRDw359P4q21mTCZBVwXHYJF0/ohvk2Qp5tGpBkDFiKiJqy0ohrP/rAfqw+K1cTv7NsO/7yjFwL9OWWZGhcGLERETdTx/FI8/NVunLhYBj8fHV6+rTumDYpn1VpqlBiwEBE1QWsO5uKZ7/ejrNKEyBADFkxNQlJ8a083i6jOGLAQETUh1SYz/rUuE//ZdhIAMDAhDPOn9EPbYC4WS40bAxYioiaioLQCs77ehx0nCwEADw3tiGeTu8LXx+3r3BK5HQMWIqImYG/OJTyauhd5xnIE+fvgX3f3xrhe0Z5uFlG9YcBCRNSICYKA1N9y8I+fDqHKJKBj2yB8Mj0JnSOCa78xUSPCgIWIqJEqrzLhxbQ/sHTvWQBASs8ovP2n6xEc4OfhlhHVPwYsRESNUE7hFcxM3YPDuUbodcBzY7vhoaEdOWWZmiwGLEREjczmo/l46tsMlFytQpsgf3w0pS+GdAr3dLOI3IoBCxFRI2E2C/hg4zF8uOkYBAHoE9sKC6f1Q3RooKebRuR2DFiIiBqB4iuVePrbDGzOvAgAmDYoDn+/rTsMviyxT80DAxYiIi936HwJZqbuwZmiqzD46vHPO3rhT0ntPd0sogbFgIWIyIst3XMWL6QdREW1GbFhgVg0LQk9YkI93SyiBseAhYjIC1VUm/D6ysNI3ZkDABjetS3en9wXoS04ZZmaJwYsREReJrfkKh5J3YuMM8XQ6YAnR3bBEyO6QK/nlGVqvhiwEBF5kV9PFGDW1/tQWFaJkABffHBPXwzvFuHpZhF5HAMWIiIvIAgCPtl2Em+tPQqzAFwXHYL/TEtCXJsWnm4akVdgwEJE5GGlFdX42/f7seaPPADAnf3a4Z8TeyHQn1OWiawYsBARedDx/Mt4+Ks9OHGxDH4+Orw8vgemDYxjiX0iGwxYiIg8ZNWBXDz7w36UVZoQFRKABdP6oV9ca083i8grMWAhImpg1SYz3l6XiU+2nQQADOoYhvlT+iG8pcHDLSPyXgxYiIga0MXLFZi1ZC92niwCADw8tCP+ltwVvj56D7eMyLsxYCEiaiB7cy7h0dS9yDOWI8jfB/+6uzfG9Yr2dLOIGgUGLEREbiYIAlJ3nsY/Vh5GlUlAp7ZB+M/0JHSOCPZ004gaDQYsRERudLXShBeXHcSPe88BAMb1isLbf+qNlgZ+/RK5wuVB023btmH8+PGIiYmBTqfDsmXLpOuqqqrw3HPPoVevXggKCkJMTAzuu+8+nD9/3uk+P//8c+h0Oruf8vJylx8QEZG3OF1YhjsX/oof956DXge8MK4bPp7Sj8EKUR24HLCUlZWhd+/emD9/vt11V65cwd69e/H3v/8de/fuxY8//oisrCzcfvvtte43JCQEubm5ip+AgABXm0dE5BU2Hb2A8R9tx5FcI9oE+SP1LwPx0NBOrK9CVEcuh/kpKSlISUlxeF1oaCjWr1+vuOyjjz7CDTfcgJycHMTFxanuV6fTISoqytXmEBF5FbNZwAcbj+GDjccAAH3jWmHB1H6IDg30cMuIGje390uWlJRAp9OhVatWTrcrLS1FfHw8TCYT+vTpg9dffx19+/ZV3b6iogIVFRXS/0ajsb6aTERUJ8VXKvHUtxnYknkRADB9UDxeuu06GHxZYp/oWrl14n95eTmef/55TJkyBSEhIarbdevWDZ9//jlWrFiBJUuWICAgADfeeCOOHTumept58+YhNDRU+omNjXXHQyAi0uSPcyUYP387tmRehMFXj3fv7o3XJ/ZksEJUT3SCIAh1vrFOh7S0NEycONHuuqqqKtx9993IycnBli1bnAYstsxmM/r164ehQ4fiww8/dLiNox6W2NhYlJSUuHRfRETX6oc9Z/Fi2kFUVJsRF9YCC6f1Q4+YUE83i6hRMBqNCA0NrfX47ZYhoaqqKkyaNAnZ2dnYtGmTywGEXq/HgAEDnPawGAwGGAwsY01EnlNRbcI/fjqMxb/lAACGd22L9yf3RWgLPw+3jKjpqfeAxRqsHDt2DJs3b0abNm1c3ocgCMjIyECvXr3qu3lERPUit+QqHkndi4wzxdDpgCdHdsETI7pAr+csICJ3cDlgKS0txfHjx6X/s7OzkZGRgbCwMMTExOBPf/oT9u7di5UrV8JkMiEvLw8AEBYWBn9/fwDAfffdh3bt2mHevHkAgNdeew2DBg1Cly5dYDQa8eGHHyIjIwMff/xxfTxGIqJ69evxAsxasg+FZZUIDfTD+/f0wfCuEZ5uFlGT5nLAsnv3bgwfPlz6f/bs2QCA+++/H6+++ipWrFgBAOjTp4/idps3b8Ytt9wCAMjJyYFeX5PvW1xcjIceegh5eXkIDQ1F3759sW3bNtxwww2uNo+IyG0EQcB/tp3E22uPwiwA3aNDsGhaEuLatPB004iavGtKuvUmWpN2iIjq4nJ5Ff72/QGsPST2Gt/Vrz3+eUdPBPhxFhDRtfBo0i0RUVNy7MJlPJy6BycvlsHPR4dXxvfA1IFxrFpL1IAYsBARObHqQC7+9sN+XKk0ISokAAun9UPfuNaebhZRs8OAhYjIgWqTGW+tPYr//pwNABjcsQ0+mtIX4S1ZToHIExiwEBHZuHi5Ao9/vRe/ZRcBAB4e1hF/G9MVvj5uLQ5ORE4wYCEiktlz+hIeXbwHF4wVCPL3wTt390ZKr2hPN4uo2WPAQkQEccryVztP4/WVh1FlEtA5oiUWTUtC54iWnm4aEYEBCxERrlaa8ELaQaTtOwcAuLVXNN760/VoaeBXJJG34KeRiJq104VlePirPTiadxk+eh2eH9sNf7k5gVOWibwMAxYiarY2HrmAp77NwOXyaoS39MdH9/bD4E6ur39GRO7HgIWImh2TWcAHG4/hw43iivD94lphwdQkRIUGeLhlRKSGAQsRNSvFVyrx5DcZ2Jp1EQBw3+B4vHRrd/j7csoykTdjwEJEzcYf50owM3UPzl66igA/Pebe0Qt39mvv6WYRkQYMWIioWfh+9xm8tOwPVFSbERfWAoumJaF7DBdKJWosGLAQUZNWUW3Caz8dxte/5QAARnSLwHuT+iC0hZ+HW0ZErmDAQkRN1vniq3hk8V7sP1MMnQ54elQiHh/eGXo9pywTNTYMWIioSfrleAFmLdmHorJKhAb64YN7+uCWrhGebhYR1REDFiJqUgRBwKKtJ/GvdUdhFoAeMSFYNC0JsWEtPN00IroGDFiIqMm4XF6FZ77fj3WHLgAA/pTUHm9M7IkAPx8Pt4yIrhUDFiJqEo5duIyHv9qDkwVl8PfR45Xbu2PKDXEssU/URDBgIaJGb+WB83j2hwO4UmlCdGgAFk5LQp/YVp5uFhHVIwYsRNRoVZnMeGvNUfzv9mwAwJBObfDRvX3RpqXBwy0jovrGgIWIGqX8y+V4/Ot9+D27CAAwc1gnPDMmEb4+LLFP1BQxYCGiRmfP6SI8ungvLhgr0NLgi3fuvh5je0Z7ullE5EYMWIio0RAEAV/uOI3XVx5GtVlA54iWWDQtCZ0jWnq6aUTkZgxYiKhRuFppwgtpB5G27xwA4Nbro/H2XdcjyMCvMaLmgJ90IvJ6pwrKMDN1D47mXYaPXoc5Kd3wwE0JnLJM1IwwYCEir7bh8AU8/V0GLpdXI7ylP+ZP6YdBHdt4ullE1MAYsBCRVzKZBby/IQsfbToOAOgX1woLpiYhKjTAwy0jIk9gwEJEXudSWSWe/DYD27IuAgDuHxyPF2/tDn9fTlkmaq4YsBCRV/njXAlmpu7B2UtXEeCnx7w7e+GOvu093Swi8jAGLETkNb7bfQYvLfsDldVmxLdpgUXTknBddIinm0VEXsDl/tVt27Zh/PjxiImJgU6nw7JlyxTXC4KAV199FTExMQgMDMQtt9yCQ4cO1brfpUuXonv37jAYDOjevTvS0tJcbRoRNVIV1SbM+fEgnv3hACqrzRjZLQIrHr+JwQoRSVwOWMrKytC7d2/Mnz/f4fVvv/02/v3vf2P+/PnYtWsXoqKiMHr0aFy+fFl1nzt27MDkyZMxffp07N+/H9OnT8ekSZPw22+/udo8ImpkzhVfxaRFO7Dk9xzodMBfRyfiv/f1R2ign6ebRkReRCcIglDnG+t0SEtLw8SJEwGIvSsxMTF46qmn8NxzzwEAKioqEBkZibfeegsPP/yww/1MnjwZRqMRa9askS4bO3YsWrdujSVLlmhqi9FoRGhoKEpKShASwrMyosbgl+MFmLVkH4rKKhEa6IcP7umDW7pGeLpZRNSAtB6/6zXlPjs7G3l5eRgzZox0mcFgwLBhw/Drr7+q3m7Hjh2K2wBAcnKy09tUVFTAaDQqfoiocRAEAQu2HMf0T39DUVklerYLwcpZNzFYISJV9Rqw5OXlAQAiIyMVl0dGRkrXqd3O1dvMmzcPoaGh0k9sbOw1tJyIGoqxvAozU/fg7bWZMAtAcpcQ/DBzCGLDWni6aUTkxdxS1MC2XLYgCLWW0Hb1NnPmzEFJSYn0c+bMmbo3mIgaRNaFyxj/wTasO3QBQnUVCtd+hE/+MhQTJ9yKS5cuebp5ROTF6jVgiYqKAgC7npH8/Hy7HhTb27l6G4PBgJCQEMUPEXmvn/afx4T5v+D0pXJUX76IvPPPoXTEOuBOYMO2Dbh36r2ebmKTkJWVhTVr1uDYsWOebgpRvarXgCUhIQFRUVFYv369dFllZSW2bt2KIUOGqN5u8ODBitsAQHp6utPbEFHjUGUy4/WVhzFryT5crTLh6qkM5F58EpVds4BQANcDpjEmrFuzTvUgy4Nw7YqKijB23Fh07doV48aNQ2JiIsaOG9vseq74Xmm6XA5YSktLkZGRgYyMDABiom1GRgZycnKg0+nw1FNPYe7cuUhLS8Mff/yBGTNmoEWLFpgyZYq0j/vuuw9z5syR/n/yySeRnp6Ot956C0ePHsVbb72FDRs24KmnnrrmB0iNH7+AGq/8y+WY+t/f8On2bABAciyQ/93LMLc3AgUAjgEoBNBB3P748eOK27vzINyY3lda2jpl2hRs2LYBuBPA02h2PVcM2JoBwUWbN28WANj93H///YIgCILZbBZeeeUVISoqSjAYDMLQoUOFgwcPKvYxbNgwaXur77//Xujatavg5+cndOvWTVi6dKlL7SopKREACCUlJa4+JPJShYWFQnJKsuJ9lpySLBQVFXm6ac1OZmamsHr1aiErK0vzbXZlFwoD3lgvxD+3Uujx8lphzcFcITMzU3wto2y+QyLF37b7T05JFnyCfATcCQFPQ8CdEHyCfITklOQ6P5bG9L7S2lbpeb0TAl6V/dzh+HltitzxXqGGofX4fU11WLwJ67A0PWPHjcWGbRtgSjYB8QBOAz7rfDBq6CisXb3W081rFoqKijBl2hSsW7NOuiw5JRlLFi9B69atHd5GEAR88espvLHqCKrNArpEtMR/piehY9uWyMrKQteuXQEfACbZjSz/Z2VloUuXLgBQs+2dAK6XbbsfQJpyW1eMGDUCm7duBqplF/oCI24ZgY3rN7q8P3fS+hlYs2YNxo0bJ/ashMp2UALgPWD16tVISUlp4NY3HHe9V6hheKQOC1F9ycrKwro168Qv6uuhOdfBlf03luGAdevW4R//+IddnldDcHWY4UplNZ76NgOv/nQY1WYBt10fjWWP3YiObVsCALZu3QroAPgBGAJgMIAbLf/rLNdbnDhxQvwj3uZOOoi/bIePtMjKysLmTZvFVdRkjwm+wKaNm7zq/eDKZ6BTp07iH6dtdnJK/NW5c+cGaLHn1PW90pi+B4iLH5KX0vIFVJczprr0GHjKiRMnMHDwQBReLJQua9O2DXb9tgsJCQluv3/rAVNx1no9YBJMWJcmHjDlr8GpgjLMTN2Do3mX4aPX4YVx1+HPN3ZQlCe4cOGCOLABAPK6kAYAguV6C8VBWH7WfEr8VZeD8NatW8X7H6d8TBAApInXe8uZuCufgcTERCSnJGPDug0wCSZxm1OAT7oPRqWMuubHlJWVhRMnTqBz585e8/zIufpeaUzfA1SDPSzkldx1xliXxERPnYUNHDwQhcZCRVsLjYUYMHBAg9y/K2etGw5fwPj523E07zLCWxrw9V8G4oGbEuxqKRUUFIg9LAKUPRwAoAMKC2uCM+tB2Gedj9i1XwJgv3gQTk5JvrYDp8pj8iZ6veXrWeUz4OurPN9csngJRg0dBaQBeA9AGjBq6CgsWaxteRNHGksiq6vvleaeoNxYMWAhr1TXg5Wz4MLVYSZPflmvW7dO7Fm5FYq2YhxQeLGwQYaHFEGjfEbPKfHizp07w2QW8G56Jv7y5W5cLq9GUnxrrHriJgzs2MbhPrOzs8VgxcHjgmC5Xqa+D8LDhg2reUxyp2yu9wJms1kM7lZB8RnAagA6oLq6WrG9O9IRG9OBXet7xd3DzeQ+HBIir7Vk8RLcO/VerEur6bYdleL4YKWli9fVYSbFl7Ul4XHDOvHL2t1Jv9JK5Spt3bFjB0aPHu3WNiQmJmL4yOHYvMJBguqoEQiPiceMz37Hz8cKAAAzhnTAAL8z+M/7b2Pw4MEO2xcaaskIVXlctgl3rVu3xtrVa3Hs2DEcP378mockEhMTxaTb1ZvFA3wHAKcA3Rodho8a7lXDHXq9XgzuqiEehK18AAj2PSz1/X51dUjQ07S+VxTfAwUALgEIwzUPN5P7MWAhr+XKweruSXdj8y+bgdEAggBcAdI3p+NPk/4kzfxQdLE7GOeWHwA8/WU9cOBAp20dPHiw2+5bTqfTQeerg3C7IB0Edat1qGgRgds+2o5zxVcR4KfH0zdF4sXpw2rNtxk2bBi++uor1cc1fPhwh+3o0qVLvT3fP3z3g10gPCZlzDUNnbhDTk6O+McEAO0AFEE8sJ4FkAacPl3TTaR4v8YAyBdvYxpT9/eru/LI3K2294rUc7gEgLzAuqWwelNPUG7MGLCQ16vtCygrKwubNm4CogDIRkqESAGbNmySvqxzcnLELvbVEM9cO0A8UK4BoFMeABriLMxZImNycjLatG2DwlWFyrauFgMBd/euWNu3acMmu6AtKHgUzoRPgq74KuLbtMCiaUm4uXfHmnwbS2BTuErMtynIL5D2GRMTUzPMYfO4oLNfONUdGl0lh3iIwxbWUTYH39rS+3UfgB9lV1hixbq8X92R9OwNEhMTxc/WJeX7FavEz5Y3BmEkYsBCjZ40VbYEih4W/AxpqmyXLl1qZqhEQ9nFngAgW2WGihvOwrTOUNj12y4MGDgAhWn2vRZq6nM2h90ZtuCHsKqHERw1FgDQqw2Q+vhN2Lltk9izYnN2j3FAYZqYb2MNsKRhDh2Ur4FllpDtMIc7SEMnsveKNS/Dm+r7KPJtHAQM8nybTp06ic9pLpQHYUsgWJf3q7tnHnlKVlZWzfvVZqZYYVqh1w11UQ0GLNToSYFIKBQ9LIgEcLUmEJHO3vsCuA3KLvZs5dm9O8/CtOYaJCQkoCC/AJ999hk2bdqEkSNHYsaMGQ736Y5pmvIzbJ+ebdG2cg4MQiIEwYzin1PxzuevIzTQrybfRuXsXp5vI/VyCRDrsFiDlz2w6+VyB2noxKY3zhRZk3DpVQcrJ71RdpxM164rV/LIvEVtQXtjHeoizhKiJiAyMrKmh0U+VdYIxTDDsGHDag4AZwFEWH5bDgDyM1bpLOxW2PcaXCys80wCV2YoWGcp/fnPf0Zqair+53/+R3WWkjtmc1iDtoADvRFd9j4MQiJM1Ubkp70Cv+Mb0TUxEYAl30YH4DyUz/95ADplvs2hQ4dqEkl/BbDD8rsagGC53o1OnDghtrXYpq0lYlvrUoyurmorCPjdd98pe6MsM18AAILlegt3FNkDavLIPv30U0ybNg2fffYZ1q5e65W1SrTO6mvuRfYaM/awUKMXFxcnfrGnQBlcjAWQBsTHy77FBQCtoTzrjARwAQp1zQmoz7M7rT0x7koQPpqZiapOIxBx8zTo9D6oyD2Gi8vmwVSRj/IKSPtNSEhQTlW23L/17L5Dhw7SPqU6KyqJpEVFRS630xV79+512hOxf/9+t5ew11oQMD8/XwxWdADGAGgBxVBnfn6+tK278k1s25qamopnnn2mwYoXukLr56WpDnU1B+xhoUbPbDaLf+wDMB/AYgAfAcgQL7bWq5DKvt8LYBaAqZbfloXE5WXhFTkBowFMhHjQyIXDnIA6nd2p1DYBXOuJcUdZcmN5FZ5bcRyth90Pnd4HpSXpyGvzLEyj8sVvDVlvxIIFC2ru38EKzAsXLpT226ZNm5pt2wDoYvndweb6OqqtyN/KlSudtnXFihXXdP9aaC0I2Lt375pAvC3EXqFIiIG4APTt21faNjExESNGjoButU5Rs0W3RocRo0bUqW6RK231NFdrq7ijyB65H3tYqNHT6/VOEw7tEjlPAwgEcA7iwbfUfp8///yzeLBoBfu8mAvAL7/8ojgIaJlWDYgHFl9/X1Qvr7Zb/M/X31fapys9MfVdljwz7zJmpu5BdiEgVFehqHARSjtYtpX1Rlif1507d4rXqSQoS9cDNQHcaYi9YdbZV2dr2uZIbT1XWnN4iouLnbZVuv4aOGurVBBQQ4JyTEyMeKO1EHtWrFpYmmw7o0oHCNWCovdQ8HU8I0rL86Voq4PkVHlbPc3VvJT6ru9DDYM9LNTo5eTkKLv5rdVTUwAINYmccXFx4g2WQeyF2QLgKwDLxYvlQ0dbtmxxmuuwcWNNEGKdVi20EsTgZhmAdEAIrZlWbbVu3TpUV1U7XHyvuqpaymdwZZy9PsuSr9h/HhM//gXZBWUI0lUib/GzKG29TnF760Hg999/BwC0bNlSfK4u2TymYvG5CgoKkm5qvQ2WQ9kbZunYkBJ4LbT2XGnN4WnXrl1NW+U9Z5a2tmvXDnWlpa2KBGUHvYE7duyQtpV6+UxQPq8m2PXySVPQbwcwDcAtAKYDGA+79yCg7fnSUrzQW9Q1L6XRTXFv5hiwUL3x+MqnKl+sVlKpcz8oDwCWlYLlpc59fHxqgqBAiAeYIEhBkL+/v7StYlq1g6Rf+VDTqlWrnJaml4YsgJqaMdshHtB+gVQzxta1lyUHfq+IxRNL9uFqlQk3dQ7HTWXbUZl3TPUgYM2h6NmzZ81jsuk1gGC5Xv4auEDLgVXxmGyLptkMB7Rr164mj0kWXKKV2Nb27du71D5X2yolKFt7A63vFctQozxB+fvvv3f6Xlm6dKm0rSLnKhU1wXiGeLF8WFDr8ImieKHcKfFXQxUvtHL2/eJq0N5Y1kgiJQ4J0TVz98qntQ0HaK1Xcf78eafJofI6LFKVUZXuePn0W2nmS4rj/cpnvkRERIh/qARX1utPnDgh3l4PYIPN/Qt17+J21HXuI7RGeOfnEaDvAQB49JZO+OuYrvj8sz/wiTVokk+rtQRN1hyK8PBwcUcqCcrS9RAPclnHssQgcQKUw3dmYMiQIdK2WpOJXUmQDg0NVQaX1vu3PCbbpQG00tpWKUFZJelXnqAs9eKpvFfS09Px/PPPA3CQc2WtRbQNdr0xWodPvKF4IaD9+8WVKdieXHaD6o49LHTN3LUCsktnQdbpyrKzK9t6FT/99JP4h8oX9bJly6SLLl265LQ7Xp5rIfUaqOxX3qswadIk8Q+Vs1br9VIXd4XNdpb/69rFbdt1bjB1R1T5BwjQ94C5ogyvjozBs2O7wUevE3MoBABVUE6rrQIg2ORQOElQltu/f7/T4bt9+/ZJ22pNJrYrmmbTayF/riIjI5XBpfX+LYms0dHRTp8/NVrb6kqC9MiRI8U/VN4rY8aMUV4uz7laBrHnKNRyuYwrwye7ftuFNiFtFK9/mxDnxQvrm9bvF2vQnpWVhdWrVyMrK8vhFGwufth4MWCha+LOFZAVFUknAhjj+Itq69atykXirAdWS20P65BMZmameAOVL+qsrCzpIqPR6LQ73mg0StveeuutTvd72223KS+3BlfyoR6b4Co7O9vp8NWpU6cUu9T6vMq7zoNPj0dkxVz4IgxVhafROftHzBhdM/NEOrC1tXlclg4TRdCk8WCZm5sr/qFywD5//rx0kWLtJznLQ1ckUzsJguRMJpPT+6+srERdaA0CXAkW7r77bqeB+F133SVtK9WXURmWlAdCiuET2XvQ0fCJtXhheno6XnvtNaSnp6Mgv6DBpjTXJbjo0qULUlJSVJNo3VWzhtyPAQtdE1c//FrPlqQvqmCT4iBoamn/RbV9+3bxD5UDq/X6Vq1a1eSFyA8AluGAVq1aSTe9cuWK08dVVlYmXZScnOz0wCLvOpeGeqogDvUsg/j4LL0W1udr4cKFTg/C0lRiC1d6uf7vs1R0n/o2wiIehk7ni7Ij29Ajdw2WfrZQsZ11tWYU2OygEPZTZZ0cLOX8/PzEP1QO2PLcIKkq7hoon9e1UFTFtVv3yWaqsvw9KCXVqty/lJhdF07eW1bWYnyO3iu2FZSlQNwHykDcslqzPDdKWvJApefIdqbcgvkL0KpFK8V7sFWLVlj4sfI9YDV69Gi8/PLLDT4ryB3BBQvHNV7MYaFr4sqUWlcKnNmdMdrkGsjzEjIzM51ua+05GTRokDjF1jrEYWU5AMjzJ6ShldNwOP1W7tNPP1X28Njs9/PPP5dK6p8/f15sqz/EYESew1FRk0cj5dOofFHL821ceV6zC8ow8+vDMLbuCh8dcGdHHR788wNItFSttVVdXS0+jttlbV0lzmiyKigocJrDU1BQE/GUlJQ4XYBSPq1YseSC/Hm1WXLBlXWfDh486PT+9+/f7/B5WLduHX777TcMHjzY4UFbCkRV1qmyvl+lCspR9o+p8ILKOjYhUOZRBdv8D5thSQeLdcoTygHg0ccfRfGVYsXnpXhdMR557BGvyuFwR0E8a82azas3i5/zDuL+dGt0GD5qOKc3ezEGLHRNXKka6UqtBKkiqcpBUF6R1O7s0mZbnU48xa0tAViecGm9DZbDrl6KLanYmJ/Ntr7i/2lpaVLAYpfDYdPWffv2YcaMGYiKihKvUwmYpOuhfWXp9EN5+Ot3+3G5ohptgw34eEo/3JAQpvp8ZGVl4eetPzusw7EtbZt0cHUlh6eystLpgV0+JCMtuVCMmkTSMkiVXq05NK6s+7Ru3Tqn979unXIKt9aqtNKBtS8crlNlPbBKr9W9AC5aro+F2Bv4nvIzEBcXp5wuLntc0Cmn4bsStNWlMnJ9LqrpirpUpdXUVp32mjXkPRiw0DXTmp3vytnS0aNHxT9UDoLymTctWrRwum1gYCAAYO1ay5mj7cxay//p6el4+eWXAbhWn6GsrKxmQT8HB5arV69K22qdJRQcHCxeoBIwSdej9oNVQsdO+Ne6o/h4s3iw7B/fGgum9kNESIDTxyUNOai01boKdu/evcULVF5XeUVWKYdE5cAuXQ/L7C7r8Jm8eJ+l58o6+8uV1XcrKiqc3r90vYWi0qvldS1cJVZ6Lciv6TlSHFjHqB9YpbwclddKPnQj1RdSmdUmn6mWmJiIsPAwFF0qsnsPhoWH1fnEwd0zALXQ+v2ita1SzZo7Ybc8xKa0Td63ACZJmMNC10xrdr4rtRJuueUW8Q+VcWZpBgVk+SYq21oDhiNHjtQMx9wIYLDltz8AnTIIKi4udpr0Kk9mLSsrc5qge/nyZWlbrbOEwsLCxPt3UGAOOsv1FtaDlaPCbW3axeGf2y9JwcqMIR2w5KFBtQYrCipttcrNzXWav3Hu3DlpW6kWziqIPSV7ICZ+WvJ95L0xiYmJ6D+gv8MAs/8N/V2qCmzVsWPHmrwY+QKYlrwYKfiDrNKrg9e18GKh3aKFWmrhSI/fwWtlWwvI1WHBooIih20tKihS5Hy5ksMh5UYNgfR5udZFNV2l9ftFax6X4v3iYHkIJt16L/awUL3p0qVLrWcmWs+WHnjgAfzlob+IBzZ5rsFqAHpIQyyArIdDJS/BGtBUVVXVFA37RXZnlnL7VVVV0kXSmbbK0I38TFzKu1A5sJSUlEgXJSYmYvCNg7Fj1Q67xzX4xsHS83fp0iWnZ9fyXA/pYGXTw+Dv3xkBrV7Az8cKEOjngzfv6oUJfbRXcpWWPFB5Xq29Abt373Y6zLJrV80UWCkgqYRU1AyA1ENlFpTRScaBDDGgvBWKXoOM/TU3VswmctDDI++1iI6OdpoXI5/WrKXSqzyfRUstHGn4UuV1lbdVmjau8rjk08oVvWEOhgWtvWGA9mEWaegoAOKK2hYmQ03ie0P2RDj7fnFlmMtdC0WS+zFgoQaldahl3bp14pm1DsoDiwGAGYp1TIKCgpT1QqwsQwfWIaGKigpluX15wqvOfjgAQK3Vc6X9AqpfgLb7FQRBNUHX6syZM07vX7oejoduWlaPRljcI9Dp/NHarxpLHrsZ3aJcK4om5duoPK/WfBtpaEJlmEU+dCHRQznUZfs/xGTm6opqh0M91WnVUjKzotfGNri16bUoLS2t6eEYYtleB7GnR6fsDVNUenWQR6RW6dXZgbW2fB95W6UcFpXHpViF3EplqMluMw0nDlLiu8pQp9qK5Z7gyjAXV2tuvBiwUIPSWmFSOrt9BOIZ4xkokhNtz24BAHEAsu3/tybQmkwmpwmv8uEIvV4v/q8ShEhn9bDs30lPhJTAC/FMcOevO8VZIvIDSziw49cd0plgaGioeLnK/csThKVp3acB9PJDWNVMBJvEqdZXju3ETSG56BY1AbZqS06U8m3a2rcVF2quLygoqDmwjoPdgbWwsBAK1qGuCVAeBM1QBG1btmwR/1A5CG3cuBEzZsyo6bVwFNwKyl6L7OzsmiBM1msAvbhtdnbNGyg5ORmt27TGpeWX7PKIWrdpXacpvlKdGZXXVT7M8/XXXzudfbZ48WKpDVK154s2d2hJs5Gut9DSG+RKZWhPc7XXxJWquOQ9mMNCDcaVIlCKs9tOEBdz6wSH65hIgUZfKBd+66O8XurdUTkAygMWxVm7PC/DQa6FIAhOK8LKe5W+++47pzVLvvvuu5p9WnMt5PdvybWQ7/PMmTOADvDZ3hZRxW8j2JQMQTDj0q9f4GLaP5F35pTi4WotMjdp0qSaHilrDsMQSAtASvk4gNPCfXac5PvIac1jkuq16CBW2J1o+a2Hol4LAJw9e7Ymj0n+/FvymM6eVc5bl+e0yNV12ODcuXNO832kJSFgWTEcEAO7WQCmWn7fbnM9lIGWI7aFBq2c9XhKuUcqnxd5Wz3N1bWEtObFUA2PrxUH9rBQA3Kl2zY5ORmtwlqheFWxXXd4q7BWirPbli1bin8sR60zagBoqq0CoCbfxTbXwebEUkr6VemJkK6HJZ9DgDgFW75Q4Fjxfnbv3g3AMjThJNeitLRUuuj666/HjuxLCJ/wN/gEhMJ0pQQFP72D8qv7AAHo1auXor13T7obm3/ZrOjlSl+djj9N+hM2rq9ZhToxMRGDBltq19j0RgwaPEh6raTVmCdADFKyAXQUt0OacrVmiYahNq15TFK9Fvm0dkCcBm3TEyBNq1bpZZNPq87KysLuXbvFnhp5b9BqYNfvu+qUwyEtvqgyzCYvXGcwGMQ/4iG+D9pYrvC1uR5AampqTZK4TVthFq+Xf2a0zKhRnDQ46LVo6MUPa1OXXhOu1lw7b5gpZsWAhRqMq922ZrPZ/otdb7/ir3TW6gtgIGoWDdwNwGx/1qyltorkXgDHLW3saPl5T7mJlPcQaHPbFjbXAzVDPfvgcKE+61CPNMxUAmUNku1Q9LCYzQLOhvRAxKSR0On0qCg7hot5c2HqctGuXglgmdK5cZNdXoggCOpTOnWw+18nu1Aa8pIvFHmw5vHLh8QkKu8BuaysLHGYyMF7AGbYt1VDENS2bVvx9VDZVr5Q43fffec0uPnuu+/w4osv2t+JE9J7dwLsptQiTZnDcsMNN4jT+1UC7BtuuEHaVgpwVdoqX0oC0DY06y2LH2qldQFQwLsOwt7OmxaKZMBCDcaVZLd169bBWGIUz26TIB649AD2AMYSoyLpNi8vryaHQd4TYMlhyMuTdXtozJ+QLARQbvn7oGWfNqRkXuvie/KzW5tk3qlTp+Kr1K9Ut502bRoAS6+MtYdFPnvW0sNy5coVGMur8Nfv9mN3ZQx0OuDyyXUo+nERYLLMdrLM0tmxY4d0c621VQBLvs2OnQ57GHbsqMm3kc5SVRZqtDuLdZLvI38NpLZOhBiwWfOYSgGkKdsKQFMQlJCQgJMnT6oGAR07dpS2zc/PF/9Qea6k6+siHmIgZrNPh1QCbHkgKK3yrNJWeZE7V2bU7PptFwYMHIDCNPvCed5Ky2xFrb2M7lZbBWVPq0uRQXdiwEINSmu37apVq2oW1HMwBXnlypXSB7yqqsrpbAb5dGVnSYQOVdn8X22/iVTsbByUwzwpsDtrPnv2rNMzYWvegLRatEoPS5EpALd/tB2nCq9AZ65GwboFKO2cLvYIWaunlgLIBsrLy6X7l4ZHNCR9au1hCAwMrBmOGGFp6xUA2wCYa2ZpSZwMichJycTWIRFrOkmJ+OuXX37BX/7yl5qKuGugDIIs+T7yHiYpeNLQy3brrbfio48+Un2u7Ba1tHB2EJKSX1Vm88iTY625SWoBtsMcEpW2yoNGV4ZmrYsfrl+/Hjt27PDaA6sr6tTLWM+0VlD2NFfeKw2h3gOWDh06OJzG+Oijj+Ljjz+2u3zLli0YPny43eVHjhxBt27d6rt55GHWbtv09HTs3LlT9QswIiLC/oB9BdIwhzSDBZZudieBiLx6KgDVWhXXTGWYR2758uU1bZCztMFaxr+0tFS1h6VFh6G4evPjOFV4Be1aBaLFvsU4dSAdOASHB+GAgJoica4c3LX2MJw8ebImuLTtDbog+9JzkTR1W+UgbD1gSxVxVfJ95EGAw+EpFcnJyWL12FVFdkMiYeFhdu9bLQchVyrS+vj4OH1f+/jURFmKJHEjgJYQA9xtsEsSr0sdktGjRzf6QMXKlZo17qK1grKneVvNmnoPWHbt2qU4QPzxxx8YPXq0uFS6E5mZmYqpmm3btq3vppEX0Dp2PGDAAKdDIvLxe2mKscqBVf7FDkBzrQqX2Z7wOjgBlh6jyheA9XopqVY+TVXvg9a9HkBIkjhN5OYu4fjgnr54YNpHTs/EpRWS4drBXWvJfaPR6HTxSXkOj2QCHCboypWXlzsdPrIOtSmCAHlv1Db7IKBly5ZOk1OlBG6L3b/v1jwkouUgpFbkDwJQlFakOLu/eNHy4qu8r6XrYXmtrMOiG2TbWoZF5csjuG19nsbGXd8DtZAqKKssJSEf7vY0b6tZU+8Bi22g8eabb6JTp052dQBsRUREoFWrVvXdHGpAWr7UtCZwSVNVVQ6CDouRnYaY+HoONUMisMmh0EF1MTm7HBYnB7a6bquY1io/E7b0HOXm5gKw7xXyCWqN8InPI6B9DwDA1T1p+Hzuf+Gj14lLDljPxAMh9vTEQhzKSVMuOZCYmAhfgy+qL1XbFU7zNfgqXjdXCrI5W3xScJQcpJKgKyflJqkMH1mfKykIiIJdcFt0QRkE6HQ6p8Nc8vo6QM2QyGeffYZNmzZh5MiRiirLVloPQq50sUtDeSoBo3yoT3qtdHDYI2m7WnN9r8/TmAwbNszp90Btx6pr5WoFZU/zppo1bs1hqaysRGpqKmbPnl1rV2zfvn1RXl6O7t2746WXXnI4TCRXUVGhSGa0zYKnhuPKomNaE7gcTlVVKVpVVlYm/rEMynVn9DbXA67lsDg5sNV120OHDtXMYpKfCbcQtz9w4AAAZa+QoX0PhE94Dr4tw2CuKEPByn8joDALPvr/BaAyS8e6TyiHQdatWydWj7Uptw4DUF1RrTi7k16D1nA4tduucFg8gGOoCRg72D1LlgZBHLqqJWjUOnwjBQEqs7TkQYCUgK1ysLAGQVa27+3U1FR88903du9trQchVwrHSetJqQSM8vWkpNdKpUfS9rXSOp3XW5JT650r3wP1rLFNF3dl9pW7uTVgWbZsGYqLix2ekVhFR0fjk08+QVJSEioqKvDVV19h5MiR2LJlC4YOHap6u3nz5uG1115zQ6vJVVp7TVw5uywoKKjZ1sE4s8PqqX6wW3MGlbDvDVG5f4fqeVtp3SMzHM4SstZssS7YGNzvdrQe9mfofHxRefEULi6fi+rC8zDLanAEBAQ4DQLkOSy//fZbzZm4g54rh2d390IcvrFOwfWF3dRuAMoZVYDDGVUANB8spPo5EyAGH/Jk4rSaKeLSmkfnHT9+eaVbKQjSMKMI0H7A1noQUvSwORjmkifSSgUJa1nGAZDlJqnkfMlzkwBtn1lvSE51B08nkja26eJWWmZfuZtbA5ZPP/0UKSkpiImJUd2ma9eu6Nq1q/T/4MGDcebMGbzzzjtOA5Y5c+Zg9uzZ0v9GoxGxsbH103DSzF2LjkkBico4s13AYj0IymfpWIZE7Gg8WEnbaikyp3G/5eXlTntjrIGK4OOP8NufQNB1Yvd0mWkLCks+glBWYZdEmZWV5XRIKCsrS9pWSuRU6bny9/dXf1zWwmX7lVfrdDpx2EeA8mC5FYAO0OscFNTWENy1aWO5w31QLrlgSWa29jDk5OQ4DYLkw4edOnXCjp07VHst5F/IrhywtR6EBg4c6HSYS352LSU9T4DDmi3yXpP8/HynPSzSCQC0f2ZdmQLvTWobmvaGRNLGOF3cG7gtYDl9+jQ2bNiAH3/8sfaNbQwaNEis3OiEwWBQVHokz3D5bMXJ2aWcdNasMs7scLhgH2qdpaO1BohkObQVmdO4Xyk3ReX5MplMOHmxFG2nvA3fNrEQhGpc8v8UlwN+AnpB7JmxCSyk6qwqQ0LyodPa7l9e6VV6XCoHdytpeKE1HM4Ssl2BGYCm4C42NtZpfRvr4n/SgVvlMckP7OHh4U6HueQ5eK7OJlm/bj0GDh6IqrSaufB+Bj9sSK8Z+5OmrKoEIVI9FciSpePhsGaLvOdI6jlTyfmS1+Jx+TPrSoDvQVqHpr0hkbQpThdvCG4LWD777DNERETg1ltvdfm2+/btUyzzTt7LlbOVEydO1ORvyA8WlvwN+RdlSUmJ07PmkpISZUOcHNgUgYgAINrm/hOgPIOX79MXytoiW+E46VbjfmtbVDEocTAmzP8Fvm1iUV1ahALDm6hocbhmuw7iL3nCZcuWLVFcUqw6JCRfmsDl8XNHvQF6B4/fycHS4bYagjup50SlN8q6Po403KHymOTDIVJPg8owl8MF/TTOJpnz4hyYfc3AMIjv6SuA+Rcznn/heWmYRREshMKu3L78MxAbG4vMzEzV+5ev1lxbz5k8J0rrZ1ZKTlV5rdydnOoqVyqyeksiaVOaLt4Q3BKwmM1mfPbZZ7j//vsVZwGAOJRz7tw5fPnllwCA999/Hx06dECPHj2kJN2lS5di6dKl7mga1TNXzlakL0qViqgOu2JVzgLtkgadHNjs9AVwG5Rnt44CFuuZuINeA4f6ArgRdoXb5Fq0aAHjZaN9r8UaPVoNnYbQwZNwuaIa5WcOoWD5mzAlX3J4UJHPIpJWodZQhyY5ORm+/r6oXlVt12vi6+9r/+Wpg7gwoE21YbvX0MnB0o6TIRE5KShTeQ9Yr1ccWB3MvJIfWKXS+yrDXPLgxpXZJA6HWQCYgpTDLK4E+Pn5+U7vXx5cubKwp9bPbGJiIkaMHIFNWzYpXytfYMTIEV41HORqRVZvSiQl7dwSsGzYsAE5OTn485//bHddbm6uIrGssrISzzzzDM6dO4fAwED06NEDq1atwrhx49zRNHIDl85WrMmxE2A//VdGWnNH5Yvd4ZRKDXkR0oEtBbUPCbnSawBoGj4KDAwUZ7TJDtj6wBCET/gbAjv0BQD8+cYEvDJxAiCYVAuBye9fqtmi8vjldVCysrJQXVktts0mYKg2VdsnUgpQrTZsR8vzXxcqeUTWg3RiYiJCW4WKvW7ymVd6ILRVqOLxZGdnOx3msity5yQQlNM6zJKYmOg010Xe1qKiIqf3X1RUVNNMa8Ci8nmxHULV+pn94bsfxO3kwyyjkz0ypdWZuibScvHDxsUtAcuYMWNU3wiff/654v9nn30Wzz77rDuaQQ1E64felcXkpLoSKt3RtgsgAtA21u7KkJArvQbW4SN5IOZgjaLi4uKafQPwj+qCthPnwDc0AubKchg3LMDLb27EK2ZL5FMFu4OwbbBU28FK/vp899134h8qORQOF/S7qPwXaoU4Xcl1ULl/uexsy4uiEghar8/KykJJcYnYE2QzS6ykuEQRhGVmZjqdeZOZmSld5MpBUGvPSVZWllivJcDm/g1A4cVCRVulYU+V+5cPiyYkJDitYGxb7l1rD0Nj6YlwNZG2KdaXaQ64lhBdM61jx64sJte1a1enQweJiYnKfTj5srbrDdE6JOSkrXasZ8K1zFKSEmB9gJY9khE2aiZ0vn6oKjqHi2lzUVVQM6NFGo4ZB2VvVIWDx+QsOVa2rTRjSCWHQj6jSD6zxBHF9RrvX6Jy/3JSBV2VQNBae2nr1q1OeyLkybGXLl0Sr1cJmKTr4dpBUOswy4kTJ2qmlY+BlOtiHb5y2BOgIRDs0aOH+HhtA2pLpdvu3bvb3wjap6p6w5RWZ1xNpPWmFYhJOwYsdE0UY8eyg7VpjP3YsdZS70DtRcPsyu0LUC03r+DKkJCTtjq0D7XPUgIAXz+EJc9EcM9kAMCV0h0o+OY9CKVXlNs56Y2yI8B+mMeSzCwnFRs7DTEYPIWa0vhQFiP7448/nAYMf/zxh/L+VWbeOKThea2urtaUm+PKLCGp4ms8HM68kVeEVRwEjSZpWM7nV8cHQS3DLOfPn7fvuQPEpO40ZVvbtWuHo5lHVXsZ27VrJ217+PDhmvewPBDaKm579OhRNHVah7m8bQVi0o4BC9XK2eqzUre5ysFafsYYExPj9ExcnvC4caOlKFdbKGdIhAO4AKxfvx7PP/98zeU6AMVQriVjOWu9pllCa6DMIdnuYJ/WbTXMUvIJiUDbiXNgiO4CASYU+6bCGP4DMEpwHIi4khcyFuJjPwNFgTWH0mTtOgi7aeWAZcjFScAgDdlYaS0wp7E3Rhr2U3kOrAGLK7OE2rZtK9bwUZl5Y7u0yNw35mLTkE0wbagZk9Ib9Hhz7pt2D0vL8Il1NW61xyTP7+vatasYaKi8X+W9jGvXrrV/rQApEFq1ahXeeecduzY3JVqHrzxdOI7qjgELqdKy+qxUL0XlYC2fJabX653mD8i3vXTpktOkV3nXPYCaA518Ro8BjntNbHtdrjjYxrpPAQ4Xk3O47Tgoh4RSoHic27IuInrG+/AJDIFJKEGB4V8o98kQr+yg0gatPTzWIGAcxCGvU3AYBBQVFdUMNQ2Fcrp2pTKRU/pb5Ytdvq3UVnmNSLW2auyN8fPzE3s8VJ4Da50SV6bfXrx40enMG/mCggAwOnk0qlCl2LZqVRVGjh6p+FzIORs+UUwrd5BILJ9WLvUyqgxhynsZa5sl5Moq1Y1dbcNX3lA4juqGAQup0rL6bG21MuRVRqWzR5X8Afm2BoPBadKrXdFAJ93hdgGG1iRSQDlsAIjBlhrVISEd5m86hnfXZ8EnMAQVuVm4WD4Ppu6yhpxysD8nB2GHdWBUhoTkB6vc3Fyn07Xla+lIz7HKF7tdVVwNs6QkGnpjunbtioz9GarPwXXXXQdA7Gm4+eab8fMvP9sFwjcPvVlx8DIajU7zjeSJrOvWrXO6snJdVtWVkl9Vnit54TjF4pPjYNcbJR++GjhwoJgwrBIIyVc3b+68oXAc1Q0DFnJI6+qzruQPSDQkXErJqSr7lVdvBeC0O1xBB3FatbwY3DZc0wrMkhz7/3WGIITfOhvvpIvJrJcz1qJo438AnyoxGOoA9QRVAeKUYg09EVXVVWK75AGbZQq0vOfqzJkzTnuu5EMSvXr1woX8C6oBg5STZH2uNMySkmjojQkMDISzQoPyNZLkhfTkbC8PCgoSZ2qpBJctW7aULlq1apX4h8p7cOXKlS4HLFLSrcr7Sj4cccMNN2DFihWqvVHy3hjpIKsSCKkdhLWssN4UeUvhOHINAxZyyOUl0DUMXUhd8yrbyrvupXFmlTPG48eP299BPByWUFewBgFaisFpGOaRWA/YskDI7494tL3tRfi1joG/rx6vT+iBe966rWbfDobF7PZZjFrzcqqqLN1A8l4uQArYpOth6W2x9lzJH9dYcVu9vmbdH7PZ7HSmlrwgndZ6JRINvTHSsKBKIGYdksrKysKu33eJAZhNz92utF2KJMr4+HixKnAt5f4BICIiQvxD5f0qXe8CaVhUpUdSHlxK+1fpjZKK4MEyY8tJ0Gg746u5T+ttLNO1SYkBCzmktYS7tEqsylm4POExMTERNw+7GT+v+tku4XLosKGKLwxpTRuVA5v8ICzRUkLd2rvgYEVbhz0BqsM8NmyGWVpcNwxt7p0FvW8AqkvyseLFO3B9+1a4x7q9yrCY3T6joQyu1BKEAU0Juq1atRL/UHlcUsE+yHJUHA0/wUEOi4b7B6C5N6Zbt25i0qlKIGadqrtgwYKa+3fQc7dw4UL8+9//BiBWGnYWMAQGBkp3Ex0d7fS9LZ+lo1VticTyYR6J9TOosvgkYDnBcBI0/v7774rtOa1X5O3TtUmJAQs5pHX12WHDhjk9C7ddb6Sqssrh2jSVVcpF9+Rn+o7YJRFaEykdrBZsN8wSCocr2trfCbStT2TdtgTAnb5o3fHPCPG5HQBwNXsvCn56B9cv/B/l9vFwOK3WTl/UWu5foqGXS6fTOX1c8kTOq1ev1gxf9EdNaf7dACodDMNoTRDW2Bsj9XaoHNyt1+/cubPm/h30xskX/rOuhl1buX/AMqPHGjTK22YJGuXDZ1q5kvAZFxfndEaVvDdISkJXeVzy1c05rZcaKwYspMqlJdBVzsLlsrKysHPHTvvufx2w89edii/Kqqoqp2P9dj0sNj0cABwP9TjJ33D4GFyog+JzWxjCOz+HAHMPAEBx4Tco+f5rwNFqxRoX1HN5tWgHa+nIH9eZM2ecPi75QVgaPrLNDYoQt1VUOHYlQRjQ1Bsj9QqoHNytw5ZS3onKcxUUFCRdJCXVquxTnnQr9TKqzNKxWyhSA1cSPqWEdpXFJ+VJ6oqkWwePa9CgQdJFnNZLjZXz01hq1kJDQ9G/f3/FZf37968ZVoAsidAfYp7BRMtvf0iVO62ksvAq5NdLRcOsB9ZQy+8UAIKDrnN5IPK05bcR9vVFrPkb8n2OheODKqB5mMPQvgeiEz5AgLkHzChDvv8/UBKc6jhYsfYGydta7KCt1qGT0ah5Xn0dbGd9XJUQp2Avgxi4Vdo/rtp6GKTrIZslpLKtfPhE0RPxnuV3tP39S07b/H/KfhMpQXg1xGGQEstvSyB05swZAMAtt9xSE9zKn1M/cbvhw4crH5OTfcpnn1l7GbEKYpASYflt08voqgXzF6BVi1aK56pVi1ZY+PFCxXYXLlxw+tmSJ7RPmTKlpjdG/rgsvTFTp06VtlX08sidEn9xWi95K/awkCot49wOkwgBKc9AnkS4e/dup/fn8HqteRHyQARw3hsSj9qTc61qGeYQBAHB/Seg9fA/Q6fzQaXuFC76z0W1/vw1D4lo7jUCag7YNmvp2AYt4eHh4vCAyvCJPJGztjWK7NZzUumJcNhWrWX8nQzJWEVHRztNkJbnmkjT5VVmHtlO1Xapl1GjBx96EEWXixSJxEXbivCXh/6Cjes3Kjd28tmSk3pjKm2uszyn8t4YTuulxooBCzmkdZxbkUR4DMA5iLkWHcSL5T0hmZmZTod55AvPSbTmRThpgx2twzG1HFjLKqrx3NIDCBv5IACg7OgWFPp8BCG+wvlaRta2yjlqq6vDVxqCoNjYWPF5Vhk+iYuLky4KCgpyukZTixYtlG1VqRfisK0qxQMdqiUQkqrH7oPDRGK7YS4dVGce2eZOWXsZ5bNpbHsZXZGVlYVNGzcpP1cAhCABm9I2KYZFpYR1lfeKPKFdfHAQCxsOtXlcNhUAAE7rpcaJAQs5pHWcW+peXghAnoNp6VmXdy9funTJaf6E3awTV87EnbTBbp+XUHtyLuC0GJtv6xjcseAXZF0ohWCqxqVN/4vL51faB0KOknkB7StLa+01AjQFQaWlpU5n6Vy+fFnatm3btjVJyvL7tDwuxQHT2htku53aWkITUOssKT8/P6eBkLXSbbt27cTtzsNh9Vp5EFZeXu6018I2kbi+Z9Ns3bpV/EPltZIv1Ci1W+W9Ik+6jYuLc/q45NsCnNZLjRMDFnJIMc7tYOjAGogkJibWHOwdBAHyL0FpZo/Kl7XdzB9XD4KVNv87mPns0jAL4HB9nsA/BiH81tnIulCKiGADDiz8GyrOHxFzC+Q1Uyxn7Q5nFGlIkAXg2lpCGoKgoKAgp70x8l4TqRchH0oXba630rqWEKCpeGDv3r3F9YpUkk779OkDQFYvRuUxyXv5pGnbKs+r/DG5dTaNhtcqJyfHaTKzfJinTtOlwWm91Lgw6ZYcSkxMxPCRw4EVAOYDWAzgIwA/ASNGjZC+5GbMmKEMApYBSIdYnE0AHnjgAWmfZWVl4h8qyX5XrjhY1Me2bL7j5VtEjpJWHW1TAmAIgMEQpww7Ss61brsK4hTgVgDy9GhVcj8i7nwJekML3NAhDCufuAkV547UDHNYn4P1lv8d9QRZcw1qSZAFoCk5VWqrSiKpnPQcqxzY5D0MJSUlTpNZi4uL7dvaBkAXy2+1tlq3lXOw7bhx48Q/HPV8AUhJSQEAHDp0SLxA5TEdPnxYumj8+PFO7//222+XLtLSy+gqxbpHDl4r2zIAWpOZmUhLzQF7WEhVdXW1OCRyOxTd7NVVNWdra9ascZprIZU3t+7PyTCP3VRlHRzeP0xw3GuhpYy+YPn5VXaZswUNqwBsAPSBIQi//VkEdugDADDuWobF//wP/HzqEPNrTJCt7+RUQDbspnKGL6+IevDgQac9FwcPHqxbW530Gsi3lQ7u/nD4XFkP7lKNEZXHJK9BIi1+qNJW+cwbty2SZ31f1ZLDIwUvKjk88uCGibTUHDBgIYeysrLw89afHa4ltC1tm9Qd7u/v7zTXQj7rQuq6j4HDA6vdrBMnB0s7TnJjFKwHRQe5DmpBi390ItpOfB6+IREwV5ajcO2HuHJkG/x8/mvfBmf/u/q4nOTQONQXQC+IQUpHiP2nNgHLoEGDkJmVqRow3HjjjdK2ta0TlZcnS9hxdBDWq7RVY3D1/fffO32uli5diueffx5t2rRxGgSFhYVJ+zxw4IDTocYDBw5IF7kjCJB6beJsHq/lf3kNlMTERIwYNQKbV2+GkCJI969bo8PwUcPt7p+JtNTUMWAhh7QmB3bp0gVnz55V3S4xMVG6SFqwUOWM0W5BQyf375CWba0HQAcr9TrSsk8ywkbMhM7XD1VF53Bx+T9Rle+gwqnWXhNX2gqIOTTFAE4C6AQgRL2tWAaxRwkADsLhgO+NN96IL774QvUMX14MTVoeQaWHweHyCFrVMvMHADZutEzxjYfDaejp6el4/vnnxanYTnot5FO1Y2NjxT9U8m3kCbpA/QcBUq+NyuO37bX54bsf7O5/TMoYh/evKORH1AQxh4WcqyXXYOTIkU63GzVqlPJy6zRZeSEu6/TfOtx/nbbdB2VeTob9Jjpff7RJeQJtxsyCztcPV8w7kHvpaVSV5KgXbrP2BIRafo/DNRVOAyAGIZss12+EOB3ZESe5Jg61tfk/3H4Tf39/p/kW1lk6Lt+/xveA9N5aAuXr9bV48ZgxYwDIZispYw3pf/lspptuukn8QyXfRt7DBNTMpsnKysLq1auRlZWFtavX1nmBQGuvjc86H8Xj90n3QXJKsl2viStBiGJGk+U12LBNnNFE1BSwh4Uc0uv1Tsf6rQXhsrKynG5nV1tFgOo0WTvW/cpn0zibeaMlh0IHcfqrk2nNZ4quIHLq2zBEdYYgmFDs9yWMvkuBnhDzZ9R6OLT2mrjSVq29NhqHmaQehIs2t7ekrsinv3bp0gUZGRn2xcgsQz1du3YFIL4XqqurVe9fXjxQaquG98Ddd9+Nl/7+Uk1VYJshvLvuuguALJfD9j1kyS+W53pIeTEqz79d0qvsuaivPBBXem20Tqvm+kDUHDBgIYf279/vNC9h3759mDFjBrZv3+40J2Dbtm3KHeugrIPiLAgRLJdvkF3mLEFWSzEya1tVpjVvzbqIJ7/ZB0NUZ5iulKDA722Ut9hfs20HB/dtpTJ0ck1t1RCESAGDSsAkDxikqbIqdVjkU2UDAgJqkl4dFCOzlrH38/Nzev+KnhhA83tgwYIFTp+DBQsW4L333kNiYiLCwsNQdKnILrAJCw9THKgTExMxYuQIbNqySfk8+gIjRo5okIO61hoorgQhXB+ImgMGLOSQYkrrMNQcrLYCqKxZJE6adXIvxLN266rC4QDek60ia2VNJJUHDGqJpDrLj5ZKr9aD8EibttrOElKd0aRD6KBJmPHZ7xAEoOJ8Fi4umwfT6IvaghBXZskAmgqnAdDUa+Pv7y8GDCoBk3x9nAsXLjgNAuSzZKRtVYqRWbeVpkKr3L98qrTBYBBzlaqgfA9YAmF5W0+ePCn+ofIcWK/PyspCUUGRwwTxorQiu94FKS9EVr02eXRygyen1tZr40oQ4rYZTURehAELOXTs2DH7AxsgHayysrIAACaTpb67Srl7hwWrHBRjU535o7XSq7WtlyDmpHSC42RaB/vU6YIQjr+iRecbIAjAvTfE4c1JdwDmKu0rEDvpZXIoHrUWTgOgqdcmLi4ORzOPqrZVnkjqSrn3kJAQp9sGBwcDsORZOJmlI8/DkP4OgDRkI/9fvu2ECRPw008/qT4Hd9xxBwDXexcaS5VXV4IQTmum5oABCzkk9ZyoHAQUZfStXfxDIB6w9AB2i5fbVa+1HthSIM6UOAX1IMDJ/Tu0DDWzZE5BPaVctk8/cwe07fQC/HQxEKor8a/J/TFpQCzeNFlmwGiolyFxpdJrLYGITqeDAEG110Yny1BNTk7G0aNHVduanJwsXSTlaKjcvzyHo23btk63tQY3wcHBYkl/lfuXAh/IAliVoFUe4D7wwAOY+dhMVK+qtnsOfA2+YtFC1L13wdurvLoahHBaMzV1DFjIIal2hcpBoE0bsWugoqKiJtfEQTE2u6nKjvJinAUBWvNCXElQtewzqPoWhFU9Dr0uANUlF3AxbS4mvWNTvdRRT4oaa1utvSb7VbbTMHzk6+srThvWQflcWZ5XP/+avBBp2E2lrfJhOSnfY1WR3f3b5nuYzWanPSfW4CI8PFwMWPygXFDRV/zf+l4BxKUBLpdeVg1aW7ZsqXgIu3buwg2DbkBVWs0Uaj+DH37f+bviMTXV3gVXgpDG0nNEVFcMWMghKeFS5WAVEBAAQFx7prKqUrUYm2JFX6u2UA4fhcPx0IkreSEaE1TFKbW+aB3+AEJai2Xar57ag4IV78B89TLsxENZH8T2/7q2VSUQsYqMjMTZc2fFy4bIbrNH/B0RESFtKwUkTwI4AOAExCGx62GXRyTle0TBbviq6IIy36NXr17YtGmTapG33r17A7Csz2Pt8JG3da/4W74+zwMPPID3339fNWh98MEHFU9Vnz59UFleic8//xwbN27EyJEjpZ4Vuabau1CXIMTbe46I6ooBSzOVlZWFEydOqH4BXn/99di8ebPqgeX668XIwGAwOA0W5EmUAMQDWTGUM0TUFv6rS16IXAf7TXyCwhB+x/MIaN0dAFD8yxKU7FsCXDXbbwxoKnAmtVVDVVop6fQRiFOJrUMiliRlayA4c+ZMvPTSS+LzL++5siSnPvbYY9JFilyPmy0/gNTDY831AGT5HirDV/J8j0cffRQffPCB6nPwyCOPABADm4yMDDGwkbfVEtj06tVLuui9994TAxYV77zzjsPLZ8yY4TBQsWrqvQsMQohYOK7ZKSoqwthxY9G1a1eMGzcOiYmJGDturN1sHuvCcmqsC9NdvmzplVAJFqTrraxDQvJFAqugPtQSaPO/gw4byWmb/08p/zXE9kT0/R8gIKY7zOZS5Gf+AyUJi4ExKsGKtddEXuDM2mviyFgA0wHcYvmdbL+JNORxGmIvyC2W36eU1999993iBRNt9jlBvNhagwQQey18Db5iW/ejpsCbTa4HYJPv4aBwmm0i5+AbBzt8DgbfOFg6gE6dOlW8QV8AswBMtfzuI148bdo0xXOwcuVKh8HpypUrbZ8ul3Xp0gUpKSk8uBM1QQxYmhmt1TBzchyUn5ex1uuQZqCoBAvyGSp6veXtZtPpYv1fut5KB3GlZHn11Fw4X1nZ5oBt3fZ/fz6JyHv+CZ+WrVF5MRu5p5/G1YTfxWRPtSBEPnTzHmp6TxwFV9b7L4V44FbZ76233uq0rbfddhsAm5kv8sCmg3ix7UrBG9ZtgK5ap2irrlqHjekbFdspKq3K7l+t0uqqn1YheUSyYr/JI5Kx6qeaRS2Tk5PRKqyVw8CmVVgrjB492u45EEwC/vrXv+L666/HX//6VwgmQXxuiIhUcEioGalTNcxa8k1mz56Nhx5+SDV/Y/bs2dK2MTEx4rpDKjNE2rVrp7xvAdoWNLRu6yAvROcbgDYpT+CNVUeg0/ug9NBmFG2ZD6G0QrGdahCikkMi3z4oKAhlZWWqxeCCgoKki6ZMmYIvv/xStSDflClTALg+82XeW/OgD9DD1MckzpTSA/oMPea+ORdDhw5VbOuORM69u/diwMABKEyrWRm5Tds22PXbLrttrdSGf4iIHKn3HpZXX30VOp1O8RMVFeX0Nlu3bkVSUhICAgLQsWNHLFq0qL6bRdBWr8JKKmFeDDHfZKLldwkUJczj4uKUlVutPRHVAARlqfdu3bo57Ym47rrr7ButdVqzPLgYLP72bd0OUfe9i6DrhsJXr0PR+kUoXPUuBFOFYjvood7DUgkxL2OH5beDWUeDBg0S/1BZy0a6HrKeK9vHZfnf2nPlSk+INRA1JZvE1ygZwGjANMaEdWvEQFSuLuvj1DbUkpCQgIL8AqSnp+O1115Deno6CvILkJCQoLpPIiJXuKWHpUePHtiwoaaeuo+Pj+q22dnZGDduHB588EGkpqbil19+waOPPoq2bdsqxunp2rlaiEoqYS6vSGpTwtxstuR/PAFxReGTADpaft5T1tWIjo4WD/YxcDjrRB7YhoSEwGg0qrZVXtsDgDK4ABCYOBjh9zwNvaEFqi8XYumzt6H/PMuQQyiUyaHO1jIywGFZennQ8re//U1cWVglOfW5556z37eGZF6tPSF1LcvujkTO0aNH2w0BERHVB7cELL6+vrX2qlgtWrQIcXFx0syB6667Drt378Y777zDgKWeuVqvQksJc0UQ1NfyA0gzVORBkFTbReVgLV0P8X3w2++/qQ419ejRQ9q2RYsWuHLliqWXRI9WQ6cjdJCYtFqecxCl6z9E0sf31RRjuwSH69jIi7G1b99eHL5SKUsfGxtb85wkJyOkVQiMq4zi9rK2hrQKURzApZ4rax0S67aW6eLywm1ah2NYlp2ImgO3JN0eO3YMMTExSEhIwD333FOzJogDO3bskJaJt0pOTsbu3bvFwlkqKioqYDQaFT9UuyWLl2DU0FGK4ZtRQ53nLzgbOnBl6KJHjx5OZ97Ig5AHH3ywptdEPtRkGZJ56KGHpG2tf+tbhCBi0utSsGLcnYYL376EmfeLeSG9e/d2Okupb9++0j5ffvll8Q+VXgvpeouMvRloE9JG0dY2IW2QsTdDsZ2158rREJra4nu1Dce4mkhLRNQoCfVs9erVwg8//CAcOHBAWL9+vTBs2DAhMjJSKCgocLh9ly5dhH/+85+Ky3755RcBgHD+/HnV+3nllVcEiIcfxU9JSUm9Pp6mKisrS1i9erWQlZV1zfsqKioSklOSFa9DckqyUFRUpNguMzNTvN7H5nWz/G/bFh8/H4fb+vj5KLZbvXq14B+dKLR75DMh/rmVQuzT3wstut0k3Xb16tWCIAjCJ598Iu7jaQgYCQEdLL+fFrf773//a9/WOyHgVdnPHY7bapWeni689tprQnp6+jU/X65wxz6JiBpCSUmJpuN3vQ8Jyet39OrVC4MHD0anTp3wxRdfKGaMyNmuNyNYFkCzW4dGZs6cOYr9GY1GRTc9OVef+Qtahy4SExMxYpQlL0ZOB4wYZd+7sPv33WJZdlNNT5ufr7IsuyAIOFIVjqgpb0Hn64eqwrO4mPZPVBWeEWfpoGZIRDEF20GBNXmCsLWtm1dvFt+PHQCcAnRrdBg+arjqc6clh8MdRc6aeuE0IiK3T2sOCgpCr1697GYqWEVFRSEvL09xWX5+Pnx9fRVrkNgyGAz2VVTJo7QEQVryYqxqK8teXmXCS8v+wA978qHz9cPVEztw8dS/IbS9CsQBPlk+GDV0lDJBWMPaOHZtlSW9jkkZU2/l3t2R9MqKqETUVLk9YKmoqMCRI0dw8803O7x+8ODBYllxmfT0dPTv3x9+fn4Ob0ONV116AhyVZT9TdAUzU/fg0Hkj9Drg8aFxWHfgI6TvrpnuYzujplOnTmKg0goOy/3bJqey14KIyHvoBOv4Sz155plnMH78eMTFxSE/Px9vvPEGtm7dioMHDyI+Ph5z5szBuXPnxOJZEKc19+zZEw8//DAefPBB7NixAzNnzsSSJUtcmiVkNBoRGhqKkpIS+ymv1KRsyczHk99koORqFcKC/PHRvX1xY+dwAKg1uBg7biw2bNsA0xCTNEvI51exJ2bt6rUN/EiIiEjr8bvee1jOnj2Le++9FwUFBWjbti0GDRqEnTt3SvkBubm5irLvCQkJWL16NZ5++ml8/PHHiImJwYcffsgpzWTHbBYwf/NxvLchC4IA9I5thYVT+yGmVc2CQ7UNiUi1TdY0rVV9iYiaunrvYfEU9rA0bSVXqvD0dxnYdDQfADBlYBxeGd8dBl/1ooTOcJiHiMg7eKyHhai+HT5vxMzUPcgpugJ/Xz3emNgTk/pf24wwJqcSETUuDFjIq6XtO4s5Px5EeZUZ7VsHYtG0JPRsF+rpZhERUQNjwEJeqbLajDdWHcaXO8TFAIcmtsUHk/ugdZC/h1tGRESewICFvE5eSTkeXbwHe3OKAQBPjOiMJ0clwkevXkiQiIiaNgYs5FV2nizE41/vRUFpJYIDfPH+5D4YeV2kp5tFREQexoCFvIIgCPjfn7Px5tqjMJkFdIsKxn+mJyG+TZCnm0ZERF6AAQt5XGlFNZ774QBWHcwFANzRtx3m3tELgf51m7JMRERNDwMW8qjj+aWYmboHx/NL4avX4eXx3TF9ULzThS+JiKj5YcBCHrP2j1w88/0BlFZUIzLEgAVT+yEpPszTzSIiIi/EgIUaXLXJjH+lZ+I/W08CAAYmhOGjKX0RERzg4ZYREZG3YsBCDaqgtAKzvt6HHScLAQAP3pyA58Z2g6+P3sMtIyIib8aAhRrMvpxLeHTxXuSWlKOFvw/+9afeuPX6aE83i4iIGgEGLOR2giBg8W85eO2nQ6gyCejYNgj/mZaELpHBnm4aERE1EgxYyK3Kq0x4Me0PLN17FgAwtkcU/nX39QgO8PNwy4iIqDFhwEJuc6boCh7+ag8O5xqh1wHPje2Gh4Z25JRlIiJyGQMWcovNmfl46psMlFytQpsgf3x0b18M6Rzu6WYREVEjxYCF6pXZLODDTcfwwcZjEASgd2wrLJzaDzGtAj3dNCIiasQYsFC9KblShae+3YfNmRcBAFMHxuHl8d1h8GWJfSIiujYMWKheHDpfgkdS9yKn6AoMvnq8MbEn7u4f6+lmERFRE8GAha7Zj3vPYs6PB1FRbUZsWCAWTk1Cz3ahnm4WERE1IQxYqM4qq814feVhfLXzNADglq5t8f7kPmjVwt/DLSMioqaGAQvVSW7JVTy6eC/25RQDAJ4c2QVPjuwCvZ5TlomIqP4xYCGX7ThRiFlL9qKgtBIhAb54/54+GNEt0tPNIiKiJowBC2kmCAL++/NJvLU2EyazgOuiQ7BoWj/EtwnydNOIiKiJY8BCmpRWVOPZH/Zj9cE8AMCdfdvhn3f0QqA/pywTEZH7MWChWh3PL8XDX+3GiYtl8PPR4eXbumPaoHiW2CciogbDgIWcWnMwF898vx9llSZEhhiwYGoSkuJbe7pZRETUzDBgIYeqTWb8a10m/rPtJABgUMcwfHRvP7QNNni4ZURE1BwxYCE7BaUVePzrvdh5sggA8NDQjng2uSt8ffQebhkRETVXDFhIYW/OJTyauhd5xnIE+fvgX3f3xrhe0Z5uFhERNXMMWAiAOGU59bcc/OOnQ6gyCejUNgj/mZ6EzhHBnm4aERER6r2Pf968eRgwYACCg4MRERGBiRMnIjMz0+lttmzZAp1OZ/dz9OjR+m4eOXC10oS/fr8ff1/2B6pMAlJ6RmH54zcxWCEiIq9R7z0sW7duxWOPPYYBAwaguroaL774IsaMGYPDhw8jKMh5gbHMzEyEhIRI/7dt27a+m0c2cgqv4OHUPTiSa4ReBzyf0g0P3tyRU5aJiMir1HvAsnbtWsX/n332GSIiIrBnzx4MHTrU6W0jIiLQqlWr+m4Sqdh8NB9PfrMPxvJqtAnyx0dT+mJIp3BPN4uIiMiO26d9lJSUAADCwsJq3bZv376Ijo7GyJEjsXnzZqfbVlRUwGg0Kn5IG7NZwHvrs/DnL3bBWF6NPrGtsPKJmxisEBGR13JrwCIIAmbPno2bbroJPXv2VN0uOjoan3zyCZYuXYoff/wRXbt2xciRI7Ft2zbV28ybNw+hoaHST2xsrDseQpNTfKUSD3yxCx9sPAZBAKYPise3Dw9CdGigp5tGRESkSicIguCunT/22GNYtWoVtm/fjvbt27t02/Hjx0On02HFihUOr6+oqEBFRYX0v9FoRGxsLEpKShR5MFTjj3MleGTxHpwpugqDrx5z7+iFu5Jce12IiIjqk9FoRGhoaK3Hb7dNa541axZWrFiBbdu2uRysAMCgQYOQmpqqer3BYIDBwKqrWv2w5yxeTDuIimozYsMCsWhaEnrEhHq6WURERJrUe8AiCAJmzZqFtLQ0bNmyBQkJCXXaz759+xAdzYJl16qi2oTXVx5G6s4cAMDwrm3x/uS+CG3h5+GWERERaVfvActjjz2Gr7/+GsuXL0dwcDDy8vIAAKGhoQgMFPMk5syZg3PnzuHLL78EALz//vvo0KEDevTogcrKSqSmpmLp0qVYunRpfTevWcktuYpHUvci40wxdDrgyZFd8MSILtDrOWWZiIgal3oPWBYuXAgAuOWWWxSXf/bZZ5gxYwYAIDc3Fzk5OdJ1lZWVeOaZZ3Du3DkEBgaiR48eWLVqFcaNG1ffzWs2fj1RgFlf70NhWSVCAnzxwT19MbxbhKebRUREVCduTbptSFqTdpo6QRDwybaTeGvtUZgF4LroEPxnWhLi2rTwdNOIiIjseDzplhpeaUU1/vb9fqz5QxyGu7NfO/xzYi8E+vt4uGVERETXhgFLE3E8/zIe/moPTlwsg5+PDi+P74FpA+NYYp+IiJoEBixNwKoDuXj2h/0oqzQhKiQAC6b1Q7+41p5uFhERUb1hwNKIVZvMeHtdJj7ZdhIAMKhjGOZP6YfwlqxPQ0RETQsDlkbq4uUKzFqyFztPFgEAHh7aEX9L7gpfH7cvD0VERNTgGLA0QntOX8Jji/ciz1iOIH8fvHN3b6T0YpE9IiJquhiwNCKCICB152n8Y+VhVJkEdGobhP9M74/OES093TQiIiK3YsDSSFytNOHFtIP4cd85AMC4XlF4+0+90dLAl5CIiJo+Hu0agdOFZZiZuhdHco3Q64DnU7rhwZs7csoyERE1GwxYvNymoxfw1DcZMJZXI7ylPz68ty+GdAr3dLOIiIgaFAMWL2UyC/hg4zF8uPEYAKBvXCssmNoP0aGBHm4ZERFRw2PA4oWKr1TiyW8ysDXrIgDgvsHxeOnW7vD35ZRlIiJqnhiweJk/zpVgZuoenL10FQZfPebe0Qt3JbX3dLOIiIg8igGLF/lhz1m8mHYQFdVmxIW1wMJp/dAjJtTTzSIiIvI4BixeoKLahH/8dBiLf8sBAIzoFoH3JvVBaAs/D7eMiIjIOzBg8bDckqt4JHUvMs4UQ6cDnhqZiFkjOkOv55RlIiIiKwYsHvTr8QLMWrIPhWWVCA30w/v39MHwrhGebhYREZHXYcDiAYIg4D/bTuLttUdhFoDu0SFYNC0JcW1aeLppREREXokBSwO7XF6Fv31/AGsP5QEA7urXHv+8oycC/Hw83DIiIiLvxYClAR27cBkPp+7ByYtl8PPR4ZXxPTB1YBxL7BMREdWCAUsDWXUgF3/7YT+uVJoQHRqABVP7oW9ca083i4iIqFFgwOJm1SYz3lp7FP/9ORsAMLhjG3w0pS/CWxo83DIiIqLGgwGLG128XIHHv96L37KLAAAPD+uIv43pCl8fltgnIiJyBQMWN9lzugiPLt6LC8YKBPn74J27eyOlV7Snm0VERNQoMWCpZ4Ig4Kudp/H6ysOoMgnoHNESi6YloXNES083jYiIqNFiwFKPrlaa8ELaQaTtOwcAuLVXNN760/VoaeDTTEREdC14JK0npwvL8PBXe3A07zJ89DrMSemGB25K4JRlIiKiesCApR5sPHIBT32bgcvl1Qhv6Y/5U/phUMc2nm4WERFRk8GA5RqYzAI+2JCFDzcdBwD0i2uFBVOTEBUa4OGWERERNS0MWOqo+EolnvwmA1uzLgIA7hscj5du7Q5/X05ZJiIiqm8MWOrgj3MlmJm6B2cvXUWAnx5z7+iFO/u193SziIiImiy3dQcsWLAACQkJCAgIQFJSEn7++Wen22/duhVJSUkICAhAx44dsWjRInc17Zp8t/sM7lr4K85euoq4sBb48ZEbGawQERG5mVsClm+//RZPPfUUXnzxRezbtw8333wzUlJSkJOT43D77OxsjBs3DjfffDP27duHF154AU888QSWLl3qjubVSUW1CXN+PIhnfziAimozRnaLwE+P34TuMSGebhoREVGTpxMEQajvnQ4cOBD9+vXDwoULpcuuu+46TJw4EfPmzbPb/rnnnsOKFStw5MgR6bKZM2di//792LFjh6b7NBqNCA0NRUlJCUJC6jeIOF98FY+k7sH+syXQ6YCnRyXi8eGdoddzyjIREdG10Hr8rvcelsrKSuzZswdjxoxRXD5mzBj8+uuvDm+zY8cOu+2Tk5Oxe/duVFVVObxNRUUFjEaj4scdfjlegNs+2o79Z0sQGuiHz2YMwBMjuzBYISIiakD1HrAUFBTAZDIhMjJScXlkZCTy8vIc3iYvL8/h9tXV1SgoKHB4m3nz5iE0NFT6iY2NrZ8HIHOlshpPfrMPRWWV6BETgpWzbsItXSPq/X6IiIjIObcl3dpWeBUEwWnVV0fbO7rcas6cOSgpKZF+zpw5c40tttfC3xfvTe6DSf3bY+kjQxAb1qLe74OIiIhqV+/TmsPDw+Hj42PXm5Kfn2/Xi2IVFRXlcHtfX1+0aeO4YqzBYIDBYKifRjtxc5e2uLlLW7ffDxEREamr9x4Wf39/JCUlYf369YrL169fjyFDhji8zeDBg+22T09PR//+/eHn51ffTSQiIqJGxi1DQrNnz8b//u//4v/+7/9w5MgRPP3008jJycHMmTMBiMM59913n7T9zJkzcfr0acyePRtHjhzB//3f/+HTTz/FM888447mERERUSPjlkq3kydPRmFhIf7xj38gNzcXPXv2xOrVqxEfHw8AyM3NVdRkSUhIwOrVq/H000/j448/RkxMDD788EPcdddd7mgeERERNTJuqcPiCe6sw0JERETu4bE6LERERET1jQELEREReT0GLEREROT1GLAQERGR12PAQkRERF6PAQsRERF5PQYsRERE5PUYsBAREZHXY8BCREREXs8tpfk9wVqw12g0erglREREpJX1uF1b4f0mE7BcvnwZABAbG+vhlhAREZGrLl++jNDQUNXrm8xaQmazGefPn0dwcDB0Ol297ddoNCI2NhZnzpzhGkWNAF+vxoOvVePB16pxaWyvlyAIuHz5MmJiYqDXq2eqNJkeFr1ej/bt27tt/yEhIY3ihScRX6/Gg69V48HXqnFpTK+Xs54VKybdEhERkddjwEJERERejwFLLQwGA1555RUYDAZPN4U04OvVePC1ajz4WjUuTfX1ajJJt0RERNR0sYeFiIiIvB4DFiIiIvJ6DFiIiIjI6zFgISIiIq/HgKUWCxYsQEJCAgICApCUlISff/7Z000iG6+++ip0Op3iJyoqytPNIott27Zh/PjxiImJgU6nw7JlyxTXC4KAV199FTExMQgMDMQtt9yCQ4cOeaaxzVxtr9WMGTPsPmuDBg3yTGObuXnz5mHAgAEIDg5GREQEJk6ciMzMTMU2Te2zxYDFiW+//RZPPfUUXnzxRezbtw8333wzUlJSkJOT4+mmkY0ePXogNzdX+jl48KCnm0QWZWVl6N27N+bPn+/w+rfffhv//ve/MX/+fOzatQtRUVEYPXq0tD4YNZzaXisAGDt2rOKztnr16gZsIVlt3boVjz32GHbu3In169ejuroaY8aMQVlZmbRNk/tsCaTqhhtuEGbOnKm4rFu3bsLzzz/voRaRI6+88orQu3dvTzeDNAAgpKWlSf+bzWYhKipKePPNN6XLysvLhdDQUGHRokUeaCFZ2b5WgiAI999/vzBhwgSPtIecy8/PFwAIW7duFQShaX622MOiorKyEnv27MGYMWMUl48ZMwa//vqrh1pFao4dO4aYmBgkJCTgnnvuwcmTJz3dJNIgOzsbeXl5is+ZwWDAsGHD+DnzUlu2bEFERAQSExPx4IMPIj8/39NNIgAlJSUAgLCwMABN87PFgEVFQUEBTCYTIiMjFZdHRkYiLy/PQ60iRwYOHIgvv/wS69atw3//+1/k5eVhyJAhKCws9HTTqBbWzxI/Z41DSkoKFi9ejE2bNuHdd9/Frl27MGLECFRUVHi6ac2aIAiYPXs2brrpJvTs2RNA0/xsNZnVmt1Fp9Mp/hcEwe4y8qyUlBTp7169emHw4MHo1KkTvvjiC8yePduDLSOt+DlrHCZPniz93bNnT/Tv3x/x8fFYtWoV7rzzTg+2rHl7/PHHceDAAWzfvt3uuqb02WIPi4rw8HD4+PjYRaL5+fl2ESt5l6CgIPTq1QvHjh3zdFOoFtbZXPycNU7R0dGIj4/nZ82DZs2ahRUrVmDz5s1o3769dHlT/GwxYFHh7++PpKQkrF+/XnH5+vXrMWTIEA+1irSoqKjAkSNHEB0d7emmUC0SEhIQFRWl+JxVVlZi69at/Jw1AoWFhThz5gw/ax4gCAIef/xx/Pjjj9i0aRMSEhIU1zfFzxaHhJyYPXs2pk+fjv79+2Pw4MH45JNPkJOTg5kzZ3q6aSTzzDPPYPz48YiLi0N+fj7eeOMNGI1G3H///Z5uGgEoLS3F8ePHpf+zs7ORkZGBsLAwxMXF4amnnsLcuXPRpUsXdOnSBXPnzkWLFi0wZcoUD7a6eXL2WoWFheHVV1/FXXfdhejoaJw6dQovvPACwsPDcccdd3iw1c3TY489hq+//hrLly9HcHCw1JMSGhqKwMBA6HS6pvfZ8ugcpUbg448/FuLj4wV/f3+hX79+0pQx8h6TJ08WoqOjBT8/PyEmJka48847hUOHDnm6WWSxefNmAYDdz/333y8Igjj98pVXXhGioqIEg8EgDB06VDh48KBnG91MOXutrly5IowZM0Zo27at4OfnJ8TFxQn333+/kJOT4+lmN0uOXicAwmeffSZt09Q+WzpBEISGD5OIiIiItGMOCxEREXk9BixERETk9RiwEBERkddjwEJERERejwELEREReT0GLEREROT1GLAQERGR12PAQkRERF6PAQsRERF5PQYsRERE5PUYsBAREZHXY8BCREREXu//AXrvaKbgwO1mAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "0.1532751047011487\n", "0.17630547391900842\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": 70, "id": "8aad9652", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Epoch 1/1000\n", "76/76 [==============================] - 4s 10ms/step - loss: 2.1512 - distribution_lambda_5_loss: 0.8354 - distribution_lambda_6_loss: 1.3158 - val_loss: 2.1920 - val_distribution_lambda_5_loss: 0.8536 - val_distribution_lambda_6_loss: 1.3384\n", "Epoch 2/1000\n", "76/76 [==============================] - 0s 3ms/step - loss: 2.1487 - distribution_lambda_5_loss: 0.8351 - distribution_lambda_6_loss: 1.3136 - val_loss: 2.2014 - val_distribution_lambda_5_loss: 0.8581 - val_distribution_lambda_6_loss: 1.3433\n", "Epoch 3/1000\n", "76/76 [==============================] - 0s 3ms/step - loss: 2.1487 - distribution_lambda_5_loss: 0.8354 - distribution_lambda_6_loss: 1.3133 - val_loss: 2.1877 - val_distribution_lambda_5_loss: 0.8524 - val_distribution_lambda_6_loss: 1.3353\n", "Epoch 4/1000\n", "76/76 [==============================] - 0s 3ms/step - loss: 2.1547 - distribution_lambda_5_loss: 0.8377 - distribution_lambda_6_loss: 1.3171 - val_loss: 2.1952 - val_distribution_lambda_5_loss: 0.8555 - val_distribution_lambda_6_loss: 1.3397\n", "Epoch 5/1000\n", "76/76 [==============================] - 0s 3ms/step - loss: 2.1475 - distribution_lambda_5_loss: 0.8358 - distribution_lambda_6_loss: 1.3117 - val_loss: 2.1958 - val_distribution_lambda_5_loss: 0.8559 - val_distribution_lambda_6_loss: 1.3399\n", "Epoch 6/1000\n", "76/76 [==============================] - 0s 3ms/step - loss: 2.1521 - distribution_lambda_5_loss: 0.8368 - distribution_lambda_6_loss: 1.3153 - val_loss: 2.1914 - val_distribution_lambda_5_loss: 0.8539 - val_distribution_lambda_6_loss: 1.3375\n", "Epoch 7/1000\n", "76/76 [==============================] - 0s 3ms/step - loss: 2.1503 - distribution_lambda_5_loss: 0.8365 - distribution_lambda_6_loss: 1.3138 - val_loss: 2.1924 - val_distribution_lambda_5_loss: 0.8544 - val_distribution_lambda_6_loss: 1.3380\n", "Epoch 8/1000\n", "76/76 [==============================] - 0s 3ms/step - loss: 2.1543 - distribution_lambda_5_loss: 0.8384 - distribution_lambda_6_loss: 1.3159 - val_loss: 2.1911 - val_distribution_lambda_5_loss: 0.8545 - val_distribution_lambda_6_loss: 1.3365\n", "Epoch 9/1000\n", "76/76 [==============================] - 0s 3ms/step - loss: 2.1524 - distribution_lambda_5_loss: 0.8374 - distribution_lambda_6_loss: 1.3149 - val_loss: 2.1915 - val_distribution_lambda_5_loss: 0.8548 - val_distribution_lambda_6_loss: 1.3367\n", "Epoch 10/1000\n", "76/76 [==============================] - 0s 3ms/step - loss: 2.1502 - distribution_lambda_5_loss: 0.8364 - distribution_lambda_6_loss: 1.3137 - val_loss: 2.1910 - val_distribution_lambda_5_loss: 0.8538 - val_distribution_lambda_6_loss: 1.3371\n", "Epoch 11/1000\n", "76/76 [==============================] - 0s 3ms/step - loss: 2.1535 - distribution_lambda_5_loss: 0.8373 - distribution_lambda_6_loss: 1.3162 - val_loss: 2.1894 - val_distribution_lambda_5_loss: 0.8533 - val_distribution_lambda_6_loss: 1.3361\n", "Epoch 12/1000\n", "76/76 [==============================] - 0s 3ms/step - loss: 2.1449 - distribution_lambda_5_loss: 0.8341 - distribution_lambda_6_loss: 1.3108 - val_loss: 2.1904 - val_distribution_lambda_5_loss: 0.8530 - val_distribution_lambda_6_loss: 1.3374\n", "Epoch 13/1000\n", "76/76 [==============================] - 0s 3ms/step - loss: 2.1469 - distribution_lambda_5_loss: 0.8351 - distribution_lambda_6_loss: 1.3118 - val_loss: 2.1883 - val_distribution_lambda_5_loss: 0.8541 - val_distribution_lambda_6_loss: 1.3343\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": 71, "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": 72, "id": "c2674211", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.14847417498922566\n", "0.1658922942362021\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "0.12424751175425397\n", "0.1551721892675979\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": 83, "id": "41e7e1ee", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Epoch 1/2000\n", "8/8 [==============================] - 4s 90ms/step - loss: 1.8873 - distribution_lambda_10_loss: 0.2060 - distribution_lambda_11_loss: 1.2964 - distribution_lambda_12_loss: 0.3849 - val_loss: 1.8155 - val_distribution_lambda_10_loss: 0.0865 - val_distribution_lambda_11_loss: 1.3253 - val_distribution_lambda_12_loss: 0.4038\n", "Epoch 2/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.9203 - distribution_lambda_10_loss: 0.2588 - distribution_lambda_11_loss: 1.2860 - distribution_lambda_12_loss: 0.3755 - val_loss: 1.8144 - val_distribution_lambda_10_loss: 0.0855 - val_distribution_lambda_11_loss: 1.3248 - val_distribution_lambda_12_loss: 0.4041\n", "Epoch 3/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8929 - distribution_lambda_10_loss: 0.2106 - distribution_lambda_11_loss: 1.2891 - distribution_lambda_12_loss: 0.3932 - val_loss: 1.8159 - val_distribution_lambda_10_loss: 0.0868 - val_distribution_lambda_11_loss: 1.3249 - val_distribution_lambda_12_loss: 0.4042\n", "Epoch 4/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8031 - distribution_lambda_10_loss: 0.1715 - distribution_lambda_11_loss: 1.2545 - distribution_lambda_12_loss: 0.3771 - val_loss: 1.8132 - val_distribution_lambda_10_loss: 0.0832 - val_distribution_lambda_11_loss: 1.3255 - val_distribution_lambda_12_loss: 0.4044\n", "Epoch 5/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8745 - distribution_lambda_10_loss: 0.1979 - distribution_lambda_11_loss: 1.2893 - distribution_lambda_12_loss: 0.3873 - val_loss: 1.8100 - val_distribution_lambda_10_loss: 0.0806 - val_distribution_lambda_11_loss: 1.3250 - val_distribution_lambda_12_loss: 0.4044\n", "Epoch 6/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8314 - distribution_lambda_10_loss: 0.1840 - distribution_lambda_11_loss: 1.2748 - distribution_lambda_12_loss: 0.3725 - val_loss: 1.8113 - val_distribution_lambda_10_loss: 0.0814 - val_distribution_lambda_11_loss: 1.3257 - val_distribution_lambda_12_loss: 0.4042\n", "Epoch 7/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8780 - distribution_lambda_10_loss: 0.2155 - distribution_lambda_11_loss: 1.2795 - distribution_lambda_12_loss: 0.3830 - val_loss: 1.8175 - val_distribution_lambda_10_loss: 0.0883 - val_distribution_lambda_11_loss: 1.3255 - val_distribution_lambda_12_loss: 0.4037\n", "Epoch 8/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.9261 - distribution_lambda_10_loss: 0.2113 - distribution_lambda_11_loss: 1.3236 - distribution_lambda_12_loss: 0.3911 - val_loss: 1.8199 - val_distribution_lambda_10_loss: 0.0923 - val_distribution_lambda_11_loss: 1.3243 - val_distribution_lambda_12_loss: 0.4034\n", "Epoch 9/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8393 - distribution_lambda_10_loss: 0.1698 - distribution_lambda_11_loss: 1.2834 - distribution_lambda_12_loss: 0.3861 - val_loss: 1.8078 - val_distribution_lambda_10_loss: 0.0828 - val_distribution_lambda_11_loss: 1.3213 - val_distribution_lambda_12_loss: 0.4037\n", "Epoch 10/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8952 - distribution_lambda_10_loss: 0.2215 - distribution_lambda_11_loss: 1.2829 - distribution_lambda_12_loss: 0.3907 - val_loss: 1.8074 - val_distribution_lambda_10_loss: 0.0816 - val_distribution_lambda_11_loss: 1.3221 - val_distribution_lambda_12_loss: 0.4037\n", "Epoch 11/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.9673 - distribution_lambda_10_loss: 0.2631 - distribution_lambda_11_loss: 1.3218 - distribution_lambda_12_loss: 0.3825 - val_loss: 1.8135 - val_distribution_lambda_10_loss: 0.0861 - val_distribution_lambda_11_loss: 1.3237 - val_distribution_lambda_12_loss: 0.4037\n", "Epoch 12/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8950 - distribution_lambda_10_loss: 0.2240 - distribution_lambda_11_loss: 1.2905 - distribution_lambda_12_loss: 0.3805 - val_loss: 1.8097 - val_distribution_lambda_10_loss: 0.0829 - val_distribution_lambda_11_loss: 1.3229 - val_distribution_lambda_12_loss: 0.4039\n", "Epoch 13/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8733 - distribution_lambda_10_loss: 0.1827 - distribution_lambda_11_loss: 1.2936 - distribution_lambda_12_loss: 0.3969 - val_loss: 1.8114 - val_distribution_lambda_10_loss: 0.0856 - val_distribution_lambda_11_loss: 1.3220 - val_distribution_lambda_12_loss: 0.4038\n", "Epoch 14/2000\n", "8/8 [==============================] - 0s 7ms/step - loss: 1.8816 - distribution_lambda_10_loss: 0.1977 - distribution_lambda_11_loss: 1.2980 - distribution_lambda_12_loss: 0.3859 - val_loss: 1.8147 - val_distribution_lambda_10_loss: 0.0884 - val_distribution_lambda_11_loss: 1.3228 - val_distribution_lambda_12_loss: 0.4035\n", "Epoch 15/2000\n", "8/8 [==============================] - 0s 7ms/step - loss: 1.9128 - distribution_lambda_10_loss: 0.2067 - distribution_lambda_11_loss: 1.3088 - distribution_lambda_12_loss: 0.3974 - val_loss: 1.8147 - val_distribution_lambda_10_loss: 0.0882 - val_distribution_lambda_11_loss: 1.3234 - val_distribution_lambda_12_loss: 0.4031\n", "Epoch 16/2000\n", "8/8 [==============================] - 0s 8ms/step - loss: 1.8255 - distribution_lambda_10_loss: 0.1688 - distribution_lambda_11_loss: 1.2783 - distribution_lambda_12_loss: 0.3784 - val_loss: 1.8128 - val_distribution_lambda_10_loss: 0.0861 - val_distribution_lambda_11_loss: 1.3238 - val_distribution_lambda_12_loss: 0.4030\n", "Epoch 17/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8411 - distribution_lambda_10_loss: 0.1780 - distribution_lambda_11_loss: 1.2857 - distribution_lambda_12_loss: 0.3775 - val_loss: 1.8089 - val_distribution_lambda_10_loss: 0.0815 - val_distribution_lambda_11_loss: 1.3245 - val_distribution_lambda_12_loss: 0.4029\n", "Epoch 18/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.9114 - distribution_lambda_10_loss: 0.2159 - distribution_lambda_11_loss: 1.3077 - distribution_lambda_12_loss: 0.3878 - val_loss: 1.8119 - val_distribution_lambda_10_loss: 0.0849 - val_distribution_lambda_11_loss: 1.3237 - val_distribution_lambda_12_loss: 0.4033\n", "Epoch 19/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.9099 - distribution_lambda_10_loss: 0.2054 - distribution_lambda_11_loss: 1.3104 - distribution_lambda_12_loss: 0.3941 - val_loss: 1.8074 - val_distribution_lambda_10_loss: 0.0795 - val_distribution_lambda_11_loss: 1.3246 - val_distribution_lambda_12_loss: 0.4034\n", "Epoch 20/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8742 - distribution_lambda_10_loss: 0.2154 - distribution_lambda_11_loss: 1.2759 - distribution_lambda_12_loss: 0.3830 - val_loss: 1.8145 - val_distribution_lambda_10_loss: 0.0837 - val_distribution_lambda_11_loss: 1.3275 - val_distribution_lambda_12_loss: 0.4033\n", "Epoch 21/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.9526 - distribution_lambda_10_loss: 0.2572 - distribution_lambda_11_loss: 1.3148 - distribution_lambda_12_loss: 0.3807 - val_loss: 1.8099 - val_distribution_lambda_10_loss: 0.0806 - val_distribution_lambda_11_loss: 1.3259 - val_distribution_lambda_12_loss: 0.4034\n", "Epoch 22/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.9162 - distribution_lambda_10_loss: 0.2340 - distribution_lambda_11_loss: 1.2961 - distribution_lambda_12_loss: 0.3860 - val_loss: 1.8123 - val_distribution_lambda_10_loss: 0.0830 - val_distribution_lambda_11_loss: 1.3255 - val_distribution_lambda_12_loss: 0.4038\n", "Epoch 23/2000\n", "8/8 [==============================] - 0s 7ms/step - loss: 1.9189 - distribution_lambda_10_loss: 0.2566 - distribution_lambda_11_loss: 1.2854 - distribution_lambda_12_loss: 0.3769 - val_loss: 1.8260 - val_distribution_lambda_10_loss: 0.0969 - val_distribution_lambda_11_loss: 1.3256 - val_distribution_lambda_12_loss: 0.4035\n", "Epoch 24/2000\n", "8/8 [==============================] - 0s 7ms/step - loss: 1.9318 - distribution_lambda_10_loss: 0.2354 - distribution_lambda_11_loss: 1.3032 - distribution_lambda_12_loss: 0.3932 - val_loss: 1.8171 - val_distribution_lambda_10_loss: 0.0886 - val_distribution_lambda_11_loss: 1.3246 - val_distribution_lambda_12_loss: 0.4039\n", "Epoch 25/2000\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "8/8 [==============================] - 0s 7ms/step - loss: 1.8403 - distribution_lambda_10_loss: 0.1649 - distribution_lambda_11_loss: 1.3011 - distribution_lambda_12_loss: 0.3743 - val_loss: 1.8114 - val_distribution_lambda_10_loss: 0.0834 - val_distribution_lambda_11_loss: 1.3238 - val_distribution_lambda_12_loss: 0.4042\n", "Epoch 26/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.9220 - distribution_lambda_10_loss: 0.2377 - distribution_lambda_11_loss: 1.2974 - distribution_lambda_12_loss: 0.3869 - val_loss: 1.8123 - val_distribution_lambda_10_loss: 0.0838 - val_distribution_lambda_11_loss: 1.3242 - val_distribution_lambda_12_loss: 0.4043\n", "Epoch 27/2000\n", "8/8 [==============================] - 0s 7ms/step - loss: 1.9124 - distribution_lambda_10_loss: 0.2429 - distribution_lambda_11_loss: 1.2890 - distribution_lambda_12_loss: 0.3805 - val_loss: 1.8138 - val_distribution_lambda_10_loss: 0.0849 - val_distribution_lambda_11_loss: 1.3247 - val_distribution_lambda_12_loss: 0.4043\n", "Epoch 28/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8985 - distribution_lambda_10_loss: 0.1971 - distribution_lambda_11_loss: 1.3069 - distribution_lambda_12_loss: 0.3945 - val_loss: 1.8176 - val_distribution_lambda_10_loss: 0.0876 - val_distribution_lambda_11_loss: 1.3258 - val_distribution_lambda_12_loss: 0.4042\n", "Epoch 29/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8634 - distribution_lambda_10_loss: 0.2052 - distribution_lambda_11_loss: 1.2849 - distribution_lambda_12_loss: 0.3733 - val_loss: 1.8206 - val_distribution_lambda_10_loss: 0.0884 - val_distribution_lambda_11_loss: 1.3281 - val_distribution_lambda_12_loss: 0.4041\n", "Epoch 30/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.9083 - distribution_lambda_10_loss: 0.2078 - distribution_lambda_11_loss: 1.3017 - distribution_lambda_12_loss: 0.3988 - val_loss: 1.8218 - val_distribution_lambda_10_loss: 0.0915 - val_distribution_lambda_11_loss: 1.3265 - val_distribution_lambda_12_loss: 0.4038\n", "Epoch 31/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.9393 - distribution_lambda_10_loss: 0.2607 - distribution_lambda_11_loss: 1.2819 - distribution_lambda_12_loss: 0.3967 - val_loss: 1.8143 - val_distribution_lambda_10_loss: 0.0845 - val_distribution_lambda_11_loss: 1.3259 - val_distribution_lambda_12_loss: 0.4040\n", "Epoch 32/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8375 - distribution_lambda_10_loss: 0.1887 - distribution_lambda_11_loss: 1.2690 - distribution_lambda_12_loss: 0.3798 - val_loss: 1.8147 - val_distribution_lambda_10_loss: 0.0850 - val_distribution_lambda_11_loss: 1.3258 - val_distribution_lambda_12_loss: 0.4038\n", "Epoch 33/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8854 - distribution_lambda_10_loss: 0.2257 - distribution_lambda_11_loss: 1.2853 - distribution_lambda_12_loss: 0.3743 - val_loss: 1.8131 - val_distribution_lambda_10_loss: 0.0847 - val_distribution_lambda_11_loss: 1.3247 - val_distribution_lambda_12_loss: 0.4036\n", "Epoch 34/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8706 - distribution_lambda_10_loss: 0.2025 - distribution_lambda_11_loss: 1.2847 - distribution_lambda_12_loss: 0.3835 - val_loss: 1.8105 - val_distribution_lambda_10_loss: 0.0828 - val_distribution_lambda_11_loss: 1.3240 - val_distribution_lambda_12_loss: 0.4037\n", "Epoch 35/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.9062 - distribution_lambda_10_loss: 0.2328 - distribution_lambda_11_loss: 1.2912 - distribution_lambda_12_loss: 0.3821 - val_loss: 1.8142 - val_distribution_lambda_10_loss: 0.0865 - val_distribution_lambda_11_loss: 1.3236 - val_distribution_lambda_12_loss: 0.4040\n", "Epoch 36/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.9054 - distribution_lambda_10_loss: 0.1991 - distribution_lambda_11_loss: 1.3098 - distribution_lambda_12_loss: 0.3965 - val_loss: 1.8189 - val_distribution_lambda_10_loss: 0.0909 - val_distribution_lambda_11_loss: 1.3240 - val_distribution_lambda_12_loss: 0.4040\n", "Epoch 37/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8199 - distribution_lambda_10_loss: 0.1544 - distribution_lambda_11_loss: 1.2748 - distribution_lambda_12_loss: 0.3907 - val_loss: 1.8153 - val_distribution_lambda_10_loss: 0.0862 - val_distribution_lambda_11_loss: 1.3251 - val_distribution_lambda_12_loss: 0.4041\n", "Epoch 38/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8786 - distribution_lambda_10_loss: 0.2002 - distribution_lambda_11_loss: 1.2902 - distribution_lambda_12_loss: 0.3882 - val_loss: 1.8078 - val_distribution_lambda_10_loss: 0.0815 - val_distribution_lambda_11_loss: 1.3221 - val_distribution_lambda_12_loss: 0.4042\n", "Epoch 39/2000\n", "8/8 [==============================] - 0s 7ms/step - loss: 1.8069 - distribution_lambda_10_loss: 0.1506 - distribution_lambda_11_loss: 1.2756 - distribution_lambda_12_loss: 0.3806 - val_loss: 1.8056 - val_distribution_lambda_10_loss: 0.0807 - val_distribution_lambda_11_loss: 1.3211 - val_distribution_lambda_12_loss: 0.4038\n", "Epoch 40/2000\n", "8/8 [==============================] - 0s 7ms/step - loss: 1.9068 - distribution_lambda_10_loss: 0.2343 - distribution_lambda_11_loss: 1.2874 - distribution_lambda_12_loss: 0.3852 - val_loss: 1.8051 - val_distribution_lambda_10_loss: 0.0807 - val_distribution_lambda_11_loss: 1.3213 - val_distribution_lambda_12_loss: 0.4031\n", "Epoch 41/2000\n", "8/8 [==============================] - 0s 7ms/step - loss: 1.8900 - distribution_lambda_10_loss: 0.2202 - distribution_lambda_11_loss: 1.2920 - distribution_lambda_12_loss: 0.3777 - val_loss: 1.8037 - val_distribution_lambda_10_loss: 0.0794 - val_distribution_lambda_11_loss: 1.3216 - val_distribution_lambda_12_loss: 0.4028\n", "Epoch 42/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8697 - distribution_lambda_10_loss: 0.1912 - distribution_lambda_11_loss: 1.2995 - distribution_lambda_12_loss: 0.3790 - val_loss: 1.8050 - val_distribution_lambda_10_loss: 0.0797 - val_distribution_lambda_11_loss: 1.3229 - val_distribution_lambda_12_loss: 0.4025\n", "Epoch 43/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8724 - distribution_lambda_10_loss: 0.1743 - distribution_lambda_11_loss: 1.3005 - distribution_lambda_12_loss: 0.3976 - val_loss: 1.7974 - val_distribution_lambda_10_loss: 0.0726 - val_distribution_lambda_11_loss: 1.3223 - val_distribution_lambda_12_loss: 0.4025\n", "Epoch 44/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8711 - distribution_lambda_10_loss: 0.1981 - distribution_lambda_11_loss: 1.2953 - distribution_lambda_12_loss: 0.3778 - val_loss: 1.7997 - val_distribution_lambda_10_loss: 0.0729 - val_distribution_lambda_11_loss: 1.3244 - val_distribution_lambda_12_loss: 0.4024\n", "Epoch 45/2000\n", "8/8 [==============================] - 0s 7ms/step - loss: 1.8247 - distribution_lambda_10_loss: 0.1661 - distribution_lambda_11_loss: 1.2781 - distribution_lambda_12_loss: 0.3805 - val_loss: 1.7983 - val_distribution_lambda_10_loss: 0.0739 - val_distribution_lambda_11_loss: 1.3223 - val_distribution_lambda_12_loss: 0.4022\n", "Epoch 46/2000\n", "8/8 [==============================] - 0s 7ms/step - loss: 1.8031 - distribution_lambda_10_loss: 0.1642 - distribution_lambda_11_loss: 1.2648 - distribution_lambda_12_loss: 0.3740 - val_loss: 1.7988 - val_distribution_lambda_10_loss: 0.0726 - val_distribution_lambda_11_loss: 1.3239 - val_distribution_lambda_12_loss: 0.4023\n", "Epoch 47/2000\n", "8/8 [==============================] - 0s 7ms/step - loss: 1.8898 - distribution_lambda_10_loss: 0.1886 - distribution_lambda_11_loss: 1.2976 - distribution_lambda_12_loss: 0.4035 - val_loss: 1.8018 - val_distribution_lambda_10_loss: 0.0740 - val_distribution_lambda_11_loss: 1.3257 - val_distribution_lambda_12_loss: 0.4021\n", "Epoch 48/2000\n", "8/8 [==============================] - 0s 7ms/step - loss: 1.8293 - distribution_lambda_10_loss: 0.1881 - distribution_lambda_11_loss: 1.2689 - distribution_lambda_12_loss: 0.3723 - val_loss: 1.8012 - val_distribution_lambda_10_loss: 0.0761 - val_distribution_lambda_11_loss: 1.3228 - val_distribution_lambda_12_loss: 0.4023\n", "Epoch 49/2000\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "8/8 [==============================] - 0s 6ms/step - loss: 1.8720 - distribution_lambda_10_loss: 0.2033 - distribution_lambda_11_loss: 1.2868 - distribution_lambda_12_loss: 0.3819 - val_loss: 1.7989 - val_distribution_lambda_10_loss: 0.0737 - val_distribution_lambda_11_loss: 1.3228 - val_distribution_lambda_12_loss: 0.4024\n", "Epoch 50/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.9458 - distribution_lambda_10_loss: 0.2602 - distribution_lambda_11_loss: 1.3087 - distribution_lambda_12_loss: 0.3769 - val_loss: 1.8034 - val_distribution_lambda_10_loss: 0.0777 - val_distribution_lambda_11_loss: 1.3235 - val_distribution_lambda_12_loss: 0.4022\n", "Epoch 51/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8785 - distribution_lambda_10_loss: 0.1932 - distribution_lambda_11_loss: 1.2918 - distribution_lambda_12_loss: 0.3935 - val_loss: 1.8050 - val_distribution_lambda_10_loss: 0.0779 - val_distribution_lambda_11_loss: 1.3247 - val_distribution_lambda_12_loss: 0.4023\n", "Epoch 52/2000\n", "8/8 [==============================] - 0s 7ms/step - loss: 1.8723 - distribution_lambda_10_loss: 0.1805 - distribution_lambda_11_loss: 1.3061 - distribution_lambda_12_loss: 0.3857 - val_loss: 1.8013 - val_distribution_lambda_10_loss: 0.0748 - val_distribution_lambda_11_loss: 1.3241 - val_distribution_lambda_12_loss: 0.4025\n", "Epoch 53/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8802 - distribution_lambda_10_loss: 0.1974 - distribution_lambda_11_loss: 1.3002 - distribution_lambda_12_loss: 0.3827 - val_loss: 1.8070 - val_distribution_lambda_10_loss: 0.0797 - val_distribution_lambda_11_loss: 1.3248 - val_distribution_lambda_12_loss: 0.4025\n", "Epoch 54/2000\n", "8/8 [==============================] - 0s 7ms/step - loss: 1.9076 - distribution_lambda_10_loss: 0.2130 - distribution_lambda_11_loss: 1.3030 - distribution_lambda_12_loss: 0.3916 - val_loss: 1.8037 - val_distribution_lambda_10_loss: 0.0732 - val_distribution_lambda_11_loss: 1.3275 - val_distribution_lambda_12_loss: 0.4030\n", "Epoch 55/2000\n", "8/8 [==============================] - 0s 7ms/step - loss: 1.8582 - distribution_lambda_10_loss: 0.1954 - distribution_lambda_11_loss: 1.2783 - distribution_lambda_12_loss: 0.3844 - val_loss: 1.8008 - val_distribution_lambda_10_loss: 0.0737 - val_distribution_lambda_11_loss: 1.3245 - val_distribution_lambda_12_loss: 0.4026\n", "Epoch 56/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8618 - distribution_lambda_10_loss: 0.1880 - distribution_lambda_11_loss: 1.2842 - distribution_lambda_12_loss: 0.3896 - val_loss: 1.7985 - val_distribution_lambda_10_loss: 0.0722 - val_distribution_lambda_11_loss: 1.3237 - val_distribution_lambda_12_loss: 0.4026\n", "Epoch 57/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8685 - distribution_lambda_10_loss: 0.1786 - distribution_lambda_11_loss: 1.3043 - distribution_lambda_12_loss: 0.3856 - val_loss: 1.7985 - val_distribution_lambda_10_loss: 0.0713 - val_distribution_lambda_11_loss: 1.3249 - val_distribution_lambda_12_loss: 0.4023\n", "Epoch 58/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8740 - distribution_lambda_10_loss: 0.1997 - distribution_lambda_11_loss: 1.2934 - distribution_lambda_12_loss: 0.3810 - val_loss: 1.7994 - val_distribution_lambda_10_loss: 0.0736 - val_distribution_lambda_11_loss: 1.3234 - val_distribution_lambda_12_loss: 0.4025\n", "Epoch 59/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8772 - distribution_lambda_10_loss: 0.1853 - distribution_lambda_11_loss: 1.2948 - distribution_lambda_12_loss: 0.3971 - val_loss: 1.7949 - val_distribution_lambda_10_loss: 0.0701 - val_distribution_lambda_11_loss: 1.3223 - val_distribution_lambda_12_loss: 0.4025\n", "Epoch 60/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8881 - distribution_lambda_10_loss: 0.2037 - distribution_lambda_11_loss: 1.2976 - distribution_lambda_12_loss: 0.3868 - val_loss: 1.8022 - val_distribution_lambda_10_loss: 0.0760 - val_distribution_lambda_11_loss: 1.3235 - val_distribution_lambda_12_loss: 0.4026\n", "Epoch 61/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.9871 - distribution_lambda_10_loss: 0.2712 - distribution_lambda_11_loss: 1.3184 - distribution_lambda_12_loss: 0.3974 - val_loss: 1.8091 - val_distribution_lambda_10_loss: 0.0793 - val_distribution_lambda_11_loss: 1.3272 - val_distribution_lambda_12_loss: 0.4025\n", "Epoch 62/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8240 - distribution_lambda_10_loss: 0.1746 - distribution_lambda_11_loss: 1.2769 - distribution_lambda_12_loss: 0.3725 - val_loss: 1.8041 - val_distribution_lambda_10_loss: 0.0766 - val_distribution_lambda_11_loss: 1.3251 - val_distribution_lambda_12_loss: 0.4025\n", "Epoch 63/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8947 - distribution_lambda_10_loss: 0.2060 - distribution_lambda_11_loss: 1.2901 - distribution_lambda_12_loss: 0.3986 - val_loss: 1.8051 - val_distribution_lambda_10_loss: 0.0802 - val_distribution_lambda_11_loss: 1.3223 - val_distribution_lambda_12_loss: 0.4025\n", "Epoch 64/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8909 - distribution_lambda_10_loss: 0.2276 - distribution_lambda_11_loss: 1.2858 - distribution_lambda_12_loss: 0.3775 - val_loss: 1.8006 - val_distribution_lambda_10_loss: 0.0759 - val_distribution_lambda_11_loss: 1.3223 - val_distribution_lambda_12_loss: 0.4023\n", "Epoch 65/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8588 - distribution_lambda_10_loss: 0.1928 - distribution_lambda_11_loss: 1.2918 - distribution_lambda_12_loss: 0.3741 - val_loss: 1.8038 - val_distribution_lambda_10_loss: 0.0805 - val_distribution_lambda_11_loss: 1.3213 - val_distribution_lambda_12_loss: 0.4020\n", "Epoch 66/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8805 - distribution_lambda_10_loss: 0.2480 - distribution_lambda_11_loss: 1.2594 - distribution_lambda_12_loss: 0.3731 - val_loss: 1.7980 - val_distribution_lambda_10_loss: 0.0739 - val_distribution_lambda_11_loss: 1.3221 - val_distribution_lambda_12_loss: 0.4021\n", "Epoch 67/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8500 - distribution_lambda_10_loss: 0.1919 - distribution_lambda_11_loss: 1.2864 - distribution_lambda_12_loss: 0.3717 - val_loss: 1.7954 - val_distribution_lambda_10_loss: 0.0726 - val_distribution_lambda_11_loss: 1.3204 - val_distribution_lambda_12_loss: 0.4024\n", "Epoch 68/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8802 - distribution_lambda_10_loss: 0.2151 - distribution_lambda_11_loss: 1.2802 - distribution_lambda_12_loss: 0.3849 - val_loss: 1.7989 - val_distribution_lambda_10_loss: 0.0749 - val_distribution_lambda_11_loss: 1.3215 - val_distribution_lambda_12_loss: 0.4025\n", "Epoch 69/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.9610 - distribution_lambda_10_loss: 0.2524 - distribution_lambda_11_loss: 1.3077 - distribution_lambda_12_loss: 0.4008 - val_loss: 1.8085 - val_distribution_lambda_10_loss: 0.0835 - val_distribution_lambda_11_loss: 1.3222 - val_distribution_lambda_12_loss: 0.4029\n", "Epoch 70/2000\n", "8/8 [==============================] - 0s 7ms/step - loss: 1.8414 - distribution_lambda_10_loss: 0.1584 - distribution_lambda_11_loss: 1.2987 - distribution_lambda_12_loss: 0.3843 - val_loss: 1.8016 - val_distribution_lambda_10_loss: 0.0779 - val_distribution_lambda_11_loss: 1.3206 - val_distribution_lambda_12_loss: 0.4031\n", "Epoch 71/2000\n", "8/8 [==============================] - 0s 7ms/step - loss: 1.8905 - distribution_lambda_10_loss: 0.1907 - distribution_lambda_11_loss: 1.3019 - distribution_lambda_12_loss: 0.3980 - val_loss: 1.7976 - val_distribution_lambda_10_loss: 0.0735 - val_distribution_lambda_11_loss: 1.3212 - val_distribution_lambda_12_loss: 0.4030\n", "Epoch 72/2000\n", "8/8 [==============================] - 0s 7ms/step - loss: 1.8575 - distribution_lambda_10_loss: 0.1851 - distribution_lambda_11_loss: 1.2852 - distribution_lambda_12_loss: 0.3871 - val_loss: 1.8006 - val_distribution_lambda_10_loss: 0.0738 - val_distribution_lambda_11_loss: 1.3239 - val_distribution_lambda_12_loss: 0.4029\n", "Epoch 73/2000\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "8/8 [==============================] - 0s 6ms/step - loss: 1.8086 - distribution_lambda_10_loss: 0.1583 - distribution_lambda_11_loss: 1.2743 - distribution_lambda_12_loss: 0.3761 - val_loss: 1.7967 - val_distribution_lambda_10_loss: 0.0732 - val_distribution_lambda_11_loss: 1.3208 - val_distribution_lambda_12_loss: 0.4027\n", "Epoch 74/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8347 - distribution_lambda_10_loss: 0.1685 - distribution_lambda_11_loss: 1.2789 - distribution_lambda_12_loss: 0.3873 - val_loss: 1.7979 - val_distribution_lambda_10_loss: 0.0720 - val_distribution_lambda_11_loss: 1.3232 - val_distribution_lambda_12_loss: 0.4028\n", "Epoch 75/2000\n", "8/8 [==============================] - 0s 7ms/step - loss: 1.8739 - distribution_lambda_10_loss: 0.1726 - distribution_lambda_11_loss: 1.3047 - distribution_lambda_12_loss: 0.3966 - val_loss: 1.7942 - val_distribution_lambda_10_loss: 0.0697 - val_distribution_lambda_11_loss: 1.3218 - val_distribution_lambda_12_loss: 0.4027\n", "Epoch 76/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8540 - distribution_lambda_10_loss: 0.1886 - distribution_lambda_11_loss: 1.2894 - distribution_lambda_12_loss: 0.3760 - val_loss: 1.7938 - val_distribution_lambda_10_loss: 0.0702 - val_distribution_lambda_11_loss: 1.3208 - val_distribution_lambda_12_loss: 0.4028\n", "Epoch 77/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8790 - distribution_lambda_10_loss: 0.1948 - distribution_lambda_11_loss: 1.2989 - distribution_lambda_12_loss: 0.3852 - val_loss: 1.7944 - val_distribution_lambda_10_loss: 0.0700 - val_distribution_lambda_11_loss: 1.3219 - val_distribution_lambda_12_loss: 0.4024\n", "Epoch 78/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8405 - distribution_lambda_10_loss: 0.1696 - distribution_lambda_11_loss: 1.2796 - distribution_lambda_12_loss: 0.3914 - val_loss: 1.7948 - val_distribution_lambda_10_loss: 0.0694 - val_distribution_lambda_11_loss: 1.3234 - val_distribution_lambda_12_loss: 0.4020\n", "Epoch 79/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8708 - distribution_lambda_10_loss: 0.1700 - distribution_lambda_11_loss: 1.3019 - distribution_lambda_12_loss: 0.3989 - val_loss: 1.7928 - val_distribution_lambda_10_loss: 0.0676 - val_distribution_lambda_11_loss: 1.3235 - val_distribution_lambda_12_loss: 0.4018\n", "Epoch 80/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8342 - distribution_lambda_10_loss: 0.1557 - distribution_lambda_11_loss: 1.2865 - distribution_lambda_12_loss: 0.3920 - val_loss: 1.7906 - val_distribution_lambda_10_loss: 0.0668 - val_distribution_lambda_11_loss: 1.3221 - val_distribution_lambda_12_loss: 0.4017\n", "Epoch 81/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8107 - distribution_lambda_10_loss: 0.1225 - distribution_lambda_11_loss: 1.2985 - distribution_lambda_12_loss: 0.3897 - val_loss: 1.7920 - val_distribution_lambda_10_loss: 0.0698 - val_distribution_lambda_11_loss: 1.3206 - val_distribution_lambda_12_loss: 0.4016\n", "Epoch 82/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8040 - distribution_lambda_10_loss: 0.1319 - distribution_lambda_11_loss: 1.2802 - distribution_lambda_12_loss: 0.3919 - val_loss: 1.7893 - val_distribution_lambda_10_loss: 0.0671 - val_distribution_lambda_11_loss: 1.3208 - val_distribution_lambda_12_loss: 0.4014\n", "Epoch 83/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.9010 - distribution_lambda_10_loss: 0.1945 - distribution_lambda_11_loss: 1.3037 - distribution_lambda_12_loss: 0.4028 - val_loss: 1.7864 - val_distribution_lambda_10_loss: 0.0645 - val_distribution_lambda_11_loss: 1.3204 - val_distribution_lambda_12_loss: 0.4015\n", "Epoch 84/2000\n", "8/8 [==============================] - 0s 7ms/step - loss: 1.8709 - distribution_lambda_10_loss: 0.2012 - distribution_lambda_11_loss: 1.2883 - distribution_lambda_12_loss: 0.3814 - val_loss: 1.7848 - val_distribution_lambda_10_loss: 0.0628 - val_distribution_lambda_11_loss: 1.3204 - val_distribution_lambda_12_loss: 0.4016\n", "Epoch 85/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8499 - distribution_lambda_10_loss: 0.1933 - distribution_lambda_11_loss: 1.2835 - distribution_lambda_12_loss: 0.3731 - val_loss: 1.7896 - val_distribution_lambda_10_loss: 0.0666 - val_distribution_lambda_11_loss: 1.3213 - val_distribution_lambda_12_loss: 0.4017\n", "Epoch 86/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8220 - distribution_lambda_10_loss: 0.1555 - distribution_lambda_11_loss: 1.2788 - distribution_lambda_12_loss: 0.3877 - val_loss: 1.7867 - val_distribution_lambda_10_loss: 0.0640 - val_distribution_lambda_11_loss: 1.3210 - val_distribution_lambda_12_loss: 0.4017\n", "Epoch 87/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.9069 - distribution_lambda_10_loss: 0.2198 - distribution_lambda_11_loss: 1.2974 - distribution_lambda_12_loss: 0.3896 - val_loss: 1.7847 - val_distribution_lambda_10_loss: 0.0617 - val_distribution_lambda_11_loss: 1.3209 - val_distribution_lambda_12_loss: 0.4021\n", "Epoch 88/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8658 - distribution_lambda_10_loss: 0.1955 - distribution_lambda_11_loss: 1.2783 - distribution_lambda_12_loss: 0.3920 - val_loss: 1.7853 - val_distribution_lambda_10_loss: 0.0622 - val_distribution_lambda_11_loss: 1.3208 - val_distribution_lambda_12_loss: 0.4023\n", "Epoch 89/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8995 - distribution_lambda_10_loss: 0.2198 - distribution_lambda_11_loss: 1.2856 - distribution_lambda_12_loss: 0.3941 - val_loss: 1.7887 - val_distribution_lambda_10_loss: 0.0670 - val_distribution_lambda_11_loss: 1.3195 - val_distribution_lambda_12_loss: 0.4022\n", "Epoch 90/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8709 - distribution_lambda_10_loss: 0.1663 - distribution_lambda_11_loss: 1.3135 - distribution_lambda_12_loss: 0.3911 - val_loss: 1.7863 - val_distribution_lambda_10_loss: 0.0650 - val_distribution_lambda_11_loss: 1.3193 - val_distribution_lambda_12_loss: 0.4019\n", "Epoch 91/2000\n", "8/8 [==============================] - 0s 7ms/step - loss: 1.8485 - distribution_lambda_10_loss: 0.1693 - distribution_lambda_11_loss: 1.2907 - distribution_lambda_12_loss: 0.3885 - val_loss: 1.7854 - val_distribution_lambda_10_loss: 0.0637 - val_distribution_lambda_11_loss: 1.3196 - val_distribution_lambda_12_loss: 0.4020\n", "Epoch 92/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8114 - distribution_lambda_10_loss: 0.1405 - distribution_lambda_11_loss: 1.2817 - distribution_lambda_12_loss: 0.3891 - val_loss: 1.7870 - val_distribution_lambda_10_loss: 0.0631 - val_distribution_lambda_11_loss: 1.3219 - val_distribution_lambda_12_loss: 0.4020\n", "Epoch 93/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8511 - distribution_lambda_10_loss: 0.1874 - distribution_lambda_11_loss: 1.2831 - distribution_lambda_12_loss: 0.3807 - val_loss: 1.7922 - val_distribution_lambda_10_loss: 0.0668 - val_distribution_lambda_11_loss: 1.3234 - val_distribution_lambda_12_loss: 0.4020\n", "Epoch 94/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8379 - distribution_lambda_10_loss: 0.1747 - distribution_lambda_11_loss: 1.2749 - distribution_lambda_12_loss: 0.3883 - val_loss: 1.7886 - val_distribution_lambda_10_loss: 0.0637 - val_distribution_lambda_11_loss: 1.3227 - val_distribution_lambda_12_loss: 0.4022\n", "Epoch 95/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8569 - distribution_lambda_10_loss: 0.1898 - distribution_lambda_11_loss: 1.2937 - distribution_lambda_12_loss: 0.3733 - val_loss: 1.7868 - val_distribution_lambda_10_loss: 0.0619 - val_distribution_lambda_11_loss: 1.3221 - val_distribution_lambda_12_loss: 0.4028\n", "Epoch 96/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8181 - distribution_lambda_10_loss: 0.1530 - distribution_lambda_11_loss: 1.2848 - distribution_lambda_12_loss: 0.3803 - val_loss: 1.7853 - val_distribution_lambda_10_loss: 0.0612 - val_distribution_lambda_11_loss: 1.3209 - val_distribution_lambda_12_loss: 0.4032\n", "Epoch 97/2000\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "8/8 [==============================] - 0s 6ms/step - loss: 1.8978 - distribution_lambda_10_loss: 0.2262 - distribution_lambda_11_loss: 1.2963 - distribution_lambda_12_loss: 0.3753 - val_loss: 1.7837 - val_distribution_lambda_10_loss: 0.0604 - val_distribution_lambda_11_loss: 1.3200 - val_distribution_lambda_12_loss: 0.4033\n", "Epoch 98/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8441 - distribution_lambda_10_loss: 0.1689 - distribution_lambda_11_loss: 1.2935 - distribution_lambda_12_loss: 0.3817 - val_loss: 1.7912 - val_distribution_lambda_10_loss: 0.0671 - val_distribution_lambda_11_loss: 1.3208 - val_distribution_lambda_12_loss: 0.4034\n", "Epoch 99/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8707 - distribution_lambda_10_loss: 0.2132 - distribution_lambda_11_loss: 1.2733 - distribution_lambda_12_loss: 0.3842 - val_loss: 1.7995 - val_distribution_lambda_10_loss: 0.0744 - val_distribution_lambda_11_loss: 1.3215 - val_distribution_lambda_12_loss: 0.4035\n", "Epoch 100/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8102 - distribution_lambda_10_loss: 0.1351 - distribution_lambda_11_loss: 1.2817 - distribution_lambda_12_loss: 0.3934 - val_loss: 1.7965 - val_distribution_lambda_10_loss: 0.0694 - val_distribution_lambda_11_loss: 1.3240 - val_distribution_lambda_12_loss: 0.4031\n", "Epoch 101/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8485 - distribution_lambda_10_loss: 0.1700 - distribution_lambda_11_loss: 1.2973 - distribution_lambda_12_loss: 0.3812 - val_loss: 1.7971 - val_distribution_lambda_10_loss: 0.0695 - val_distribution_lambda_11_loss: 1.3247 - val_distribution_lambda_12_loss: 0.4029\n", "Epoch 102/2000\n", "8/8 [==============================] - 0s 7ms/step - loss: 1.8206 - distribution_lambda_10_loss: 0.1577 - distribution_lambda_11_loss: 1.2782 - distribution_lambda_12_loss: 0.3847 - val_loss: 1.7965 - val_distribution_lambda_10_loss: 0.0679 - val_distribution_lambda_11_loss: 1.3263 - val_distribution_lambda_12_loss: 0.4023\n", "Epoch 103/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8015 - distribution_lambda_10_loss: 0.1639 - distribution_lambda_11_loss: 1.2674 - distribution_lambda_12_loss: 0.3702 - val_loss: 1.7977 - val_distribution_lambda_10_loss: 0.0715 - val_distribution_lambda_11_loss: 1.3239 - val_distribution_lambda_12_loss: 0.4022\n", "Epoch 104/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8086 - distribution_lambda_10_loss: 0.1523 - distribution_lambda_11_loss: 1.2817 - distribution_lambda_12_loss: 0.3745 - val_loss: 1.7905 - val_distribution_lambda_10_loss: 0.0652 - val_distribution_lambda_11_loss: 1.3232 - val_distribution_lambda_12_loss: 0.4020\n", "Epoch 105/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8512 - distribution_lambda_10_loss: 0.1881 - distribution_lambda_11_loss: 1.2830 - distribution_lambda_12_loss: 0.3801 - val_loss: 1.7892 - val_distribution_lambda_10_loss: 0.0645 - val_distribution_lambda_11_loss: 1.3232 - val_distribution_lambda_12_loss: 0.4015\n", "Epoch 106/2000\n", "8/8 [==============================] - 0s 7ms/step - loss: 1.8819 - distribution_lambda_10_loss: 0.2137 - distribution_lambda_11_loss: 1.2859 - distribution_lambda_12_loss: 0.3824 - val_loss: 1.7918 - val_distribution_lambda_10_loss: 0.0664 - val_distribution_lambda_11_loss: 1.3244 - val_distribution_lambda_12_loss: 0.4010\n", "Epoch 107/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8809 - distribution_lambda_10_loss: 0.1848 - distribution_lambda_11_loss: 1.3027 - distribution_lambda_12_loss: 0.3934 - val_loss: 1.7901 - val_distribution_lambda_10_loss: 0.0654 - val_distribution_lambda_11_loss: 1.3236 - val_distribution_lambda_12_loss: 0.4011\n", "Epoch 108/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.7808 - distribution_lambda_10_loss: 0.1370 - distribution_lambda_11_loss: 1.2719 - distribution_lambda_12_loss: 0.3719 - val_loss: 1.7877 - val_distribution_lambda_10_loss: 0.0670 - val_distribution_lambda_11_loss: 1.3200 - val_distribution_lambda_12_loss: 0.4007\n", "Epoch 109/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8839 - distribution_lambda_10_loss: 0.2063 - distribution_lambda_11_loss: 1.2862 - distribution_lambda_12_loss: 0.3913 - val_loss: 1.7844 - val_distribution_lambda_10_loss: 0.0637 - val_distribution_lambda_11_loss: 1.3200 - val_distribution_lambda_12_loss: 0.4007\n", "Epoch 110/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8191 - distribution_lambda_10_loss: 0.1631 - distribution_lambda_11_loss: 1.2776 - distribution_lambda_12_loss: 0.3784 - val_loss: 1.7816 - val_distribution_lambda_10_loss: 0.0605 - val_distribution_lambda_11_loss: 1.3204 - val_distribution_lambda_12_loss: 0.4008\n", "Epoch 111/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8627 - distribution_lambda_10_loss: 0.1971 - distribution_lambda_11_loss: 1.2905 - distribution_lambda_12_loss: 0.3751 - val_loss: 1.7849 - val_distribution_lambda_10_loss: 0.0622 - val_distribution_lambda_11_loss: 1.3218 - val_distribution_lambda_12_loss: 0.4009\n", "Epoch 112/2000\n", "8/8 [==============================] - 0s 7ms/step - loss: 1.8126 - distribution_lambda_10_loss: 0.1551 - distribution_lambda_11_loss: 1.2751 - distribution_lambda_12_loss: 0.3824 - val_loss: 1.7825 - val_distribution_lambda_10_loss: 0.0595 - val_distribution_lambda_11_loss: 1.3217 - val_distribution_lambda_12_loss: 0.4013\n", "Epoch 113/2000\n", "8/8 [==============================] - 0s 7ms/step - loss: 1.8131 - distribution_lambda_10_loss: 0.1537 - distribution_lambda_11_loss: 1.2771 - distribution_lambda_12_loss: 0.3823 - val_loss: 1.7805 - val_distribution_lambda_10_loss: 0.0579 - val_distribution_lambda_11_loss: 1.3211 - val_distribution_lambda_12_loss: 0.4014\n", "Epoch 114/2000\n", "8/8 [==============================] - 0s 7ms/step - loss: 1.8191 - distribution_lambda_10_loss: 0.1577 - distribution_lambda_11_loss: 1.2802 - distribution_lambda_12_loss: 0.3812 - val_loss: 1.7792 - val_distribution_lambda_10_loss: 0.0564 - val_distribution_lambda_11_loss: 1.3214 - val_distribution_lambda_12_loss: 0.4014\n", "Epoch 115/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8556 - distribution_lambda_10_loss: 0.1868 - distribution_lambda_11_loss: 1.2856 - distribution_lambda_12_loss: 0.3832 - val_loss: 1.7809 - val_distribution_lambda_10_loss: 0.0566 - val_distribution_lambda_11_loss: 1.3232 - val_distribution_lambda_12_loss: 0.4011\n", "Epoch 116/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8112 - distribution_lambda_10_loss: 0.1534 - distribution_lambda_11_loss: 1.2796 - distribution_lambda_12_loss: 0.3781 - val_loss: 1.7812 - val_distribution_lambda_10_loss: 0.0555 - val_distribution_lambda_11_loss: 1.3246 - val_distribution_lambda_12_loss: 0.4011\n", "Epoch 117/2000\n", "8/8 [==============================] - 0s 8ms/step - loss: 1.8001 - distribution_lambda_10_loss: 0.1347 - distribution_lambda_11_loss: 1.2840 - distribution_lambda_12_loss: 0.3814 - val_loss: 1.7787 - val_distribution_lambda_10_loss: 0.0546 - val_distribution_lambda_11_loss: 1.3232 - val_distribution_lambda_12_loss: 0.4010\n", "Epoch 118/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8071 - distribution_lambda_10_loss: 0.1392 - distribution_lambda_11_loss: 1.2728 - distribution_lambda_12_loss: 0.3951 - val_loss: 1.7730 - val_distribution_lambda_10_loss: 0.0492 - val_distribution_lambda_11_loss: 1.3226 - val_distribution_lambda_12_loss: 0.4011\n", "Epoch 119/2000\n", "8/8 [==============================] - 0s 7ms/step - loss: 1.7588 - distribution_lambda_10_loss: 0.1120 - distribution_lambda_11_loss: 1.2747 - distribution_lambda_12_loss: 0.3721 - val_loss: 1.7684 - val_distribution_lambda_10_loss: 0.0477 - val_distribution_lambda_11_loss: 1.3197 - val_distribution_lambda_12_loss: 0.4010\n", "Epoch 120/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8741 - distribution_lambda_10_loss: 0.1735 - distribution_lambda_11_loss: 1.3038 - distribution_lambda_12_loss: 0.3968 - val_loss: 1.7695 - val_distribution_lambda_10_loss: 0.0486 - val_distribution_lambda_11_loss: 1.3199 - val_distribution_lambda_12_loss: 0.4010\n", "Epoch 121/2000\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "8/8 [==============================] - 0s 6ms/step - loss: 1.7872 - distribution_lambda_10_loss: 0.1427 - distribution_lambda_11_loss: 1.2548 - distribution_lambda_12_loss: 0.3897 - val_loss: 1.7685 - val_distribution_lambda_10_loss: 0.0469 - val_distribution_lambda_11_loss: 1.3206 - val_distribution_lambda_12_loss: 0.4009\n", "Epoch 122/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.7543 - distribution_lambda_10_loss: 0.1276 - distribution_lambda_11_loss: 1.2538 - distribution_lambda_12_loss: 0.3729 - val_loss: 1.7667 - val_distribution_lambda_10_loss: 0.0450 - val_distribution_lambda_11_loss: 1.3202 - val_distribution_lambda_12_loss: 0.4015\n", "Epoch 123/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8084 - distribution_lambda_10_loss: 0.1572 - distribution_lambda_11_loss: 1.2659 - distribution_lambda_12_loss: 0.3853 - val_loss: 1.7706 - val_distribution_lambda_10_loss: 0.0485 - val_distribution_lambda_11_loss: 1.3202 - val_distribution_lambda_12_loss: 0.4020\n", "Epoch 124/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.7614 - distribution_lambda_10_loss: 0.1215 - distribution_lambda_11_loss: 1.2620 - distribution_lambda_12_loss: 0.3780 - val_loss: 1.7694 - val_distribution_lambda_10_loss: 0.0461 - val_distribution_lambda_11_loss: 1.3210 - val_distribution_lambda_12_loss: 0.4024\n", "Epoch 125/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8635 - distribution_lambda_10_loss: 0.1554 - distribution_lambda_11_loss: 1.3163 - distribution_lambda_12_loss: 0.3919 - val_loss: 1.7730 - val_distribution_lambda_10_loss: 0.0472 - val_distribution_lambda_11_loss: 1.3232 - val_distribution_lambda_12_loss: 0.4025\n", "Epoch 126/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8348 - distribution_lambda_10_loss: 0.1485 - distribution_lambda_11_loss: 1.2862 - distribution_lambda_12_loss: 0.4001 - val_loss: 1.7758 - val_distribution_lambda_10_loss: 0.0474 - val_distribution_lambda_11_loss: 1.3262 - val_distribution_lambda_12_loss: 0.4022\n", "Epoch 127/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8405 - distribution_lambda_10_loss: 0.1733 - distribution_lambda_11_loss: 1.2914 - distribution_lambda_12_loss: 0.3758 - val_loss: 1.7689 - val_distribution_lambda_10_loss: 0.0458 - val_distribution_lambda_11_loss: 1.3215 - val_distribution_lambda_12_loss: 0.4016\n", "Epoch 128/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8528 - distribution_lambda_10_loss: 0.1715 - distribution_lambda_11_loss: 1.2847 - distribution_lambda_12_loss: 0.3967 - val_loss: 1.7710 - val_distribution_lambda_10_loss: 0.0491 - val_distribution_lambda_11_loss: 1.3207 - val_distribution_lambda_12_loss: 0.4012\n", "Epoch 129/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8102 - distribution_lambda_10_loss: 0.1231 - distribution_lambda_11_loss: 1.3009 - distribution_lambda_12_loss: 0.3862 - val_loss: 1.7688 - val_distribution_lambda_10_loss: 0.0458 - val_distribution_lambda_11_loss: 1.3216 - val_distribution_lambda_12_loss: 0.4013\n", "Epoch 130/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8891 - distribution_lambda_10_loss: 0.2059 - distribution_lambda_11_loss: 1.3031 - distribution_lambda_12_loss: 0.3801 - val_loss: 1.7754 - val_distribution_lambda_10_loss: 0.0500 - val_distribution_lambda_11_loss: 1.3242 - val_distribution_lambda_12_loss: 0.4012\n", "Epoch 131/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8175 - distribution_lambda_10_loss: 0.1500 - distribution_lambda_11_loss: 1.2771 - distribution_lambda_12_loss: 0.3904 - val_loss: 1.7794 - val_distribution_lambda_10_loss: 0.0540 - val_distribution_lambda_11_loss: 1.3241 - val_distribution_lambda_12_loss: 0.4013\n", "Epoch 132/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8509 - distribution_lambda_10_loss: 0.1692 - distribution_lambda_11_loss: 1.2942 - distribution_lambda_12_loss: 0.3876 - val_loss: 1.7774 - val_distribution_lambda_10_loss: 0.0544 - val_distribution_lambda_11_loss: 1.3216 - val_distribution_lambda_12_loss: 0.4014\n", "Epoch 133/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.9936 - distribution_lambda_10_loss: 0.3206 - distribution_lambda_11_loss: 1.2865 - distribution_lambda_12_loss: 0.3865 - val_loss: 1.7785 - val_distribution_lambda_10_loss: 0.0559 - val_distribution_lambda_11_loss: 1.3213 - val_distribution_lambda_12_loss: 0.4014\n", "Epoch 134/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.7681 - distribution_lambda_10_loss: 0.1199 - distribution_lambda_11_loss: 1.2657 - distribution_lambda_12_loss: 0.3825 - val_loss: 1.7800 - val_distribution_lambda_10_loss: 0.0563 - val_distribution_lambda_11_loss: 1.3225 - val_distribution_lambda_12_loss: 0.4012\n", "Epoch 135/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.7981 - distribution_lambda_10_loss: 0.1456 - distribution_lambda_11_loss: 1.2697 - distribution_lambda_12_loss: 0.3829 - val_loss: 1.7817 - val_distribution_lambda_10_loss: 0.0573 - val_distribution_lambda_11_loss: 1.3230 - val_distribution_lambda_12_loss: 0.4014\n", "Epoch 136/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8357 - distribution_lambda_10_loss: 0.1591 - distribution_lambda_11_loss: 1.2832 - distribution_lambda_12_loss: 0.3934 - val_loss: 1.7734 - val_distribution_lambda_10_loss: 0.0492 - val_distribution_lambda_11_loss: 1.3228 - val_distribution_lambda_12_loss: 0.4014\n", "Epoch 137/2000\n", "8/8 [==============================] - 0s 7ms/step - loss: 1.8280 - distribution_lambda_10_loss: 0.1574 - distribution_lambda_11_loss: 1.2941 - distribution_lambda_12_loss: 0.3765 - val_loss: 1.7736 - val_distribution_lambda_10_loss: 0.0494 - val_distribution_lambda_11_loss: 1.3228 - val_distribution_lambda_12_loss: 0.4014\n", "Epoch 138/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8293 - distribution_lambda_10_loss: 0.1611 - distribution_lambda_11_loss: 1.2917 - distribution_lambda_12_loss: 0.3765 - val_loss: 1.7752 - val_distribution_lambda_10_loss: 0.0501 - val_distribution_lambda_11_loss: 1.3236 - val_distribution_lambda_12_loss: 0.4015\n", "Epoch 139/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.7807 - distribution_lambda_10_loss: 0.1224 - distribution_lambda_11_loss: 1.2775 - distribution_lambda_12_loss: 0.3808 - val_loss: 1.7705 - val_distribution_lambda_10_loss: 0.0469 - val_distribution_lambda_11_loss: 1.3220 - val_distribution_lambda_12_loss: 0.4017\n", "Epoch 140/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.7626 - distribution_lambda_10_loss: 0.1279 - distribution_lambda_11_loss: 1.2612 - distribution_lambda_12_loss: 0.3735 - val_loss: 1.7686 - val_distribution_lambda_10_loss: 0.0434 - val_distribution_lambda_11_loss: 1.3230 - val_distribution_lambda_12_loss: 0.4022\n", "Epoch 141/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.7539 - distribution_lambda_10_loss: 0.1159 - distribution_lambda_11_loss: 1.2620 - distribution_lambda_12_loss: 0.3760 - val_loss: 1.7737 - val_distribution_lambda_10_loss: 0.0467 - val_distribution_lambda_11_loss: 1.3245 - val_distribution_lambda_12_loss: 0.4026\n", "Epoch 142/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8087 - distribution_lambda_10_loss: 0.1690 - distribution_lambda_11_loss: 1.2720 - distribution_lambda_12_loss: 0.3677 - val_loss: 1.7672 - val_distribution_lambda_10_loss: 0.0433 - val_distribution_lambda_11_loss: 1.3213 - val_distribution_lambda_12_loss: 0.4026\n", "Epoch 143/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8890 - distribution_lambda_10_loss: 0.1814 - distribution_lambda_11_loss: 1.3111 - distribution_lambda_12_loss: 0.3964 - val_loss: 1.7651 - val_distribution_lambda_10_loss: 0.0406 - val_distribution_lambda_11_loss: 1.3223 - val_distribution_lambda_12_loss: 0.4022\n", "Epoch 144/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.7434 - distribution_lambda_10_loss: 0.1065 - distribution_lambda_11_loss: 1.2570 - distribution_lambda_12_loss: 0.3799 - val_loss: 1.7688 - val_distribution_lambda_10_loss: 0.0434 - val_distribution_lambda_11_loss: 1.3235 - val_distribution_lambda_12_loss: 0.4019\n", "Epoch 145/2000\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "8/8 [==============================] - 0s 6ms/step - loss: 1.9026 - distribution_lambda_10_loss: 0.1851 - distribution_lambda_11_loss: 1.3117 - distribution_lambda_12_loss: 0.4058 - val_loss: 1.7678 - val_distribution_lambda_10_loss: 0.0409 - val_distribution_lambda_11_loss: 1.3251 - val_distribution_lambda_12_loss: 0.4018\n", "Epoch 146/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.9173 - distribution_lambda_10_loss: 0.2509 - distribution_lambda_11_loss: 1.2782 - distribution_lambda_12_loss: 0.3881 - val_loss: 1.7706 - val_distribution_lambda_10_loss: 0.0452 - val_distribution_lambda_11_loss: 1.3239 - val_distribution_lambda_12_loss: 0.4015\n", "Epoch 147/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8673 - distribution_lambda_10_loss: 0.1925 - distribution_lambda_11_loss: 1.2942 - distribution_lambda_12_loss: 0.3806 - val_loss: 1.7733 - val_distribution_lambda_10_loss: 0.0499 - val_distribution_lambda_11_loss: 1.3223 - val_distribution_lambda_12_loss: 0.4010\n", "Epoch 148/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.9355 - distribution_lambda_10_loss: 0.2289 - distribution_lambda_11_loss: 1.3102 - distribution_lambda_12_loss: 0.3963 - val_loss: 1.7783 - val_distribution_lambda_10_loss: 0.0524 - val_distribution_lambda_11_loss: 1.3251 - val_distribution_lambda_12_loss: 0.4008\n", "Epoch 149/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8480 - distribution_lambda_10_loss: 0.1732 - distribution_lambda_11_loss: 1.2957 - distribution_lambda_12_loss: 0.3792 - val_loss: 1.7733 - val_distribution_lambda_10_loss: 0.0514 - val_distribution_lambda_11_loss: 1.3211 - val_distribution_lambda_12_loss: 0.4007\n", "Epoch 150/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8192 - distribution_lambda_10_loss: 0.1623 - distribution_lambda_11_loss: 1.2743 - distribution_lambda_12_loss: 0.3826 - val_loss: 1.7684 - val_distribution_lambda_10_loss: 0.0483 - val_distribution_lambda_11_loss: 1.3197 - val_distribution_lambda_12_loss: 0.4005\n", "Epoch 151/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8271 - distribution_lambda_10_loss: 0.1508 - distribution_lambda_11_loss: 1.2855 - distribution_lambda_12_loss: 0.3908 - val_loss: 1.7673 - val_distribution_lambda_10_loss: 0.0464 - val_distribution_lambda_11_loss: 1.3204 - val_distribution_lambda_12_loss: 0.4005\n", "Epoch 152/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.9055 - distribution_lambda_10_loss: 0.2284 - distribution_lambda_11_loss: 1.2989 - distribution_lambda_12_loss: 0.3783 - val_loss: 1.7675 - val_distribution_lambda_10_loss: 0.0475 - val_distribution_lambda_11_loss: 1.3196 - val_distribution_lambda_12_loss: 0.4004\n", "Epoch 153/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8438 - distribution_lambda_10_loss: 0.1931 - distribution_lambda_11_loss: 1.2781 - distribution_lambda_12_loss: 0.3726 - val_loss: 1.7755 - val_distribution_lambda_10_loss: 0.0539 - val_distribution_lambda_11_loss: 1.3210 - val_distribution_lambda_12_loss: 0.4007\n", "Epoch 154/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.9227 - distribution_lambda_10_loss: 0.2228 - distribution_lambda_11_loss: 1.3076 - distribution_lambda_12_loss: 0.3923 - val_loss: 1.7836 - val_distribution_lambda_10_loss: 0.0563 - val_distribution_lambda_11_loss: 1.3263 - val_distribution_lambda_12_loss: 0.4009\n", "Epoch 155/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8552 - distribution_lambda_10_loss: 0.1702 - distribution_lambda_11_loss: 1.2908 - distribution_lambda_12_loss: 0.3942 - val_loss: 1.7827 - val_distribution_lambda_10_loss: 0.0553 - val_distribution_lambda_11_loss: 1.3261 - val_distribution_lambda_12_loss: 0.4013\n", "Epoch 156/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.9134 - distribution_lambda_10_loss: 0.2245 - distribution_lambda_11_loss: 1.2859 - distribution_lambda_12_loss: 0.4031 - val_loss: 1.7759 - val_distribution_lambda_10_loss: 0.0512 - val_distribution_lambda_11_loss: 1.3227 - val_distribution_lambda_12_loss: 0.4020\n", "Epoch 157/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.7977 - distribution_lambda_10_loss: 0.1489 - distribution_lambda_11_loss: 1.2699 - distribution_lambda_12_loss: 0.3789 - val_loss: 1.7761 - val_distribution_lambda_10_loss: 0.0524 - val_distribution_lambda_11_loss: 1.3215 - val_distribution_lambda_12_loss: 0.4023\n", "Epoch 158/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8026 - distribution_lambda_10_loss: 0.1501 - distribution_lambda_11_loss: 1.2766 - distribution_lambda_12_loss: 0.3759 - val_loss: 1.7749 - val_distribution_lambda_10_loss: 0.0528 - val_distribution_lambda_11_loss: 1.3198 - val_distribution_lambda_12_loss: 0.4023\n", "Epoch 159/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.7559 - distribution_lambda_10_loss: 0.1006 - distribution_lambda_11_loss: 1.2750 - distribution_lambda_12_loss: 0.3803 - val_loss: 1.7705 - val_distribution_lambda_10_loss: 0.0473 - val_distribution_lambda_11_loss: 1.3211 - val_distribution_lambda_12_loss: 0.4021\n", "Epoch 160/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8754 - distribution_lambda_10_loss: 0.2052 - distribution_lambda_11_loss: 1.2789 - distribution_lambda_12_loss: 0.3913 - val_loss: 1.7701 - val_distribution_lambda_10_loss: 0.0465 - val_distribution_lambda_11_loss: 1.3219 - val_distribution_lambda_12_loss: 0.4017\n", "Epoch 161/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8315 - distribution_lambda_10_loss: 0.1596 - distribution_lambda_11_loss: 1.2836 - distribution_lambda_12_loss: 0.3883 - val_loss: 1.7744 - val_distribution_lambda_10_loss: 0.0505 - val_distribution_lambda_11_loss: 1.3223 - val_distribution_lambda_12_loss: 0.4016\n", "Epoch 162/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.7896 - distribution_lambda_10_loss: 0.1370 - distribution_lambda_11_loss: 1.2843 - distribution_lambda_12_loss: 0.3682 - val_loss: 1.7704 - val_distribution_lambda_10_loss: 0.0466 - val_distribution_lambda_11_loss: 1.3222 - val_distribution_lambda_12_loss: 0.4015\n", "Epoch 163/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.7870 - distribution_lambda_10_loss: 0.1511 - distribution_lambda_11_loss: 1.2580 - distribution_lambda_12_loss: 0.3779 - val_loss: 1.7713 - val_distribution_lambda_10_loss: 0.0466 - val_distribution_lambda_11_loss: 1.3234 - val_distribution_lambda_12_loss: 0.4012\n", "Epoch 164/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8697 - distribution_lambda_10_loss: 0.2044 - distribution_lambda_11_loss: 1.2852 - distribution_lambda_12_loss: 0.3802 - val_loss: 1.7700 - val_distribution_lambda_10_loss: 0.0452 - val_distribution_lambda_11_loss: 1.3234 - val_distribution_lambda_12_loss: 0.4014\n", "Epoch 165/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.9273 - distribution_lambda_10_loss: 0.2419 - distribution_lambda_11_loss: 1.3027 - distribution_lambda_12_loss: 0.3826 - val_loss: 1.7651 - val_distribution_lambda_10_loss: 0.0434 - val_distribution_lambda_11_loss: 1.3200 - val_distribution_lambda_12_loss: 0.4017\n", "Epoch 166/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8560 - distribution_lambda_10_loss: 0.2029 - distribution_lambda_11_loss: 1.2857 - distribution_lambda_12_loss: 0.3673 - val_loss: 1.7687 - val_distribution_lambda_10_loss: 0.0465 - val_distribution_lambda_11_loss: 1.3201 - val_distribution_lambda_12_loss: 0.4021\n", "Epoch 167/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8522 - distribution_lambda_10_loss: 0.1623 - distribution_lambda_11_loss: 1.2997 - distribution_lambda_12_loss: 0.3902 - val_loss: 1.7760 - val_distribution_lambda_10_loss: 0.0510 - val_distribution_lambda_11_loss: 1.3225 - val_distribution_lambda_12_loss: 0.4025\n", "Epoch 168/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8363 - distribution_lambda_10_loss: 0.1786 - distribution_lambda_11_loss: 1.2852 - distribution_lambda_12_loss: 0.3725 - val_loss: 1.7721 - val_distribution_lambda_10_loss: 0.0475 - val_distribution_lambda_11_loss: 1.3223 - val_distribution_lambda_12_loss: 0.4023\n", "Epoch 169/2000\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "8/8 [==============================] - 0s 6ms/step - loss: 1.8309 - distribution_lambda_10_loss: 0.1611 - distribution_lambda_11_loss: 1.2882 - distribution_lambda_12_loss: 0.3816 - val_loss: 1.7684 - val_distribution_lambda_10_loss: 0.0446 - val_distribution_lambda_11_loss: 1.3214 - val_distribution_lambda_12_loss: 0.4023\n", "Epoch 170/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.7526 - distribution_lambda_10_loss: 0.1149 - distribution_lambda_11_loss: 1.2734 - distribution_lambda_12_loss: 0.3643 - val_loss: 1.7679 - val_distribution_lambda_10_loss: 0.0454 - val_distribution_lambda_11_loss: 1.3202 - val_distribution_lambda_12_loss: 0.4022\n", "Epoch 171/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8285 - distribution_lambda_10_loss: 0.1464 - distribution_lambda_11_loss: 1.2838 - distribution_lambda_12_loss: 0.3983 - val_loss: 1.7631 - val_distribution_lambda_10_loss: 0.0370 - val_distribution_lambda_11_loss: 1.3241 - val_distribution_lambda_12_loss: 0.4020\n", "Epoch 172/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8933 - distribution_lambda_10_loss: 0.2335 - distribution_lambda_11_loss: 1.2771 - distribution_lambda_12_loss: 0.3826 - val_loss: 1.7615 - val_distribution_lambda_10_loss: 0.0383 - val_distribution_lambda_11_loss: 1.3210 - val_distribution_lambda_12_loss: 0.4022\n", "Epoch 173/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8335 - distribution_lambda_10_loss: 0.1770 - distribution_lambda_11_loss: 1.2766 - distribution_lambda_12_loss: 0.3799 - val_loss: 1.7623 - val_distribution_lambda_10_loss: 0.0408 - val_distribution_lambda_11_loss: 1.3193 - val_distribution_lambda_12_loss: 0.4022\n", "Epoch 174/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.7923 - distribution_lambda_10_loss: 0.1386 - distribution_lambda_11_loss: 1.2627 - distribution_lambda_12_loss: 0.3911 - val_loss: 1.7627 - val_distribution_lambda_10_loss: 0.0397 - val_distribution_lambda_11_loss: 1.3206 - val_distribution_lambda_12_loss: 0.4024\n", "Epoch 175/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8236 - distribution_lambda_10_loss: 0.1576 - distribution_lambda_11_loss: 1.2917 - distribution_lambda_12_loss: 0.3743 - val_loss: 1.7628 - val_distribution_lambda_10_loss: 0.0394 - val_distribution_lambda_11_loss: 1.3211 - val_distribution_lambda_12_loss: 0.4023\n", "Epoch 176/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8275 - distribution_lambda_10_loss: 0.1477 - distribution_lambda_11_loss: 1.2903 - distribution_lambda_12_loss: 0.3895 - val_loss: 1.7598 - val_distribution_lambda_10_loss: 0.0368 - val_distribution_lambda_11_loss: 1.3210 - val_distribution_lambda_12_loss: 0.4020\n", "Epoch 177/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.9031 - distribution_lambda_10_loss: 0.2526 - distribution_lambda_11_loss: 1.2780 - distribution_lambda_12_loss: 0.3726 - val_loss: 1.7610 - val_distribution_lambda_10_loss: 0.0415 - val_distribution_lambda_11_loss: 1.3178 - val_distribution_lambda_12_loss: 0.4017\n", "Epoch 178/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.9178 - distribution_lambda_10_loss: 0.2035 - distribution_lambda_11_loss: 1.3253 - distribution_lambda_12_loss: 0.3890 - val_loss: 1.7632 - val_distribution_lambda_10_loss: 0.0444 - val_distribution_lambda_11_loss: 1.3175 - val_distribution_lambda_12_loss: 0.4013\n", "Epoch 179/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.7727 - distribution_lambda_10_loss: 0.1092 - distribution_lambda_11_loss: 1.2748 - distribution_lambda_12_loss: 0.3887 - val_loss: 1.7688 - val_distribution_lambda_10_loss: 0.0466 - val_distribution_lambda_11_loss: 1.3211 - val_distribution_lambda_12_loss: 0.4012\n", "Epoch 180/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8322 - distribution_lambda_10_loss: 0.1608 - distribution_lambda_11_loss: 1.2901 - distribution_lambda_12_loss: 0.3812 - val_loss: 1.7641 - val_distribution_lambda_10_loss: 0.0438 - val_distribution_lambda_11_loss: 1.3194 - val_distribution_lambda_12_loss: 0.4009\n", "Epoch 181/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8818 - distribution_lambda_10_loss: 0.2089 - distribution_lambda_11_loss: 1.2935 - distribution_lambda_12_loss: 0.3794 - val_loss: 1.7592 - val_distribution_lambda_10_loss: 0.0414 - val_distribution_lambda_11_loss: 1.3171 - val_distribution_lambda_12_loss: 0.4006\n", "Epoch 182/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8186 - distribution_lambda_10_loss: 0.1707 - distribution_lambda_11_loss: 1.2671 - distribution_lambda_12_loss: 0.3808 - val_loss: 1.7611 - val_distribution_lambda_10_loss: 0.0447 - val_distribution_lambda_11_loss: 1.3160 - val_distribution_lambda_12_loss: 0.4004\n", "Epoch 183/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8785 - distribution_lambda_10_loss: 0.2157 - distribution_lambda_11_loss: 1.2802 - distribution_lambda_12_loss: 0.3826 - val_loss: 1.7664 - val_distribution_lambda_10_loss: 0.0476 - val_distribution_lambda_11_loss: 1.3186 - val_distribution_lambda_12_loss: 0.4002\n", "Epoch 184/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8016 - distribution_lambda_10_loss: 0.1661 - distribution_lambda_11_loss: 1.2565 - distribution_lambda_12_loss: 0.3790 - val_loss: 1.7643 - val_distribution_lambda_10_loss: 0.0440 - val_distribution_lambda_11_loss: 1.3206 - val_distribution_lambda_12_loss: 0.3997\n", "Epoch 185/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8386 - distribution_lambda_10_loss: 0.1777 - distribution_lambda_11_loss: 1.2940 - distribution_lambda_12_loss: 0.3669 - val_loss: 1.7670 - val_distribution_lambda_10_loss: 0.0460 - val_distribution_lambda_11_loss: 1.3216 - val_distribution_lambda_12_loss: 0.3994\n", "Epoch 186/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8156 - distribution_lambda_10_loss: 0.1682 - distribution_lambda_11_loss: 1.2658 - distribution_lambda_12_loss: 0.3816 - val_loss: 1.7661 - val_distribution_lambda_10_loss: 0.0470 - val_distribution_lambda_11_loss: 1.3201 - val_distribution_lambda_12_loss: 0.3991\n", "Epoch 187/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.9016 - distribution_lambda_10_loss: 0.2035 - distribution_lambda_11_loss: 1.3034 - distribution_lambda_12_loss: 0.3947 - val_loss: 1.7725 - val_distribution_lambda_10_loss: 0.0529 - val_distribution_lambda_11_loss: 1.3206 - val_distribution_lambda_12_loss: 0.3990\n", "Epoch 188/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.7649 - distribution_lambda_10_loss: 0.1031 - distribution_lambda_11_loss: 1.2766 - distribution_lambda_12_loss: 0.3851 - val_loss: 1.7658 - val_distribution_lambda_10_loss: 0.0486 - val_distribution_lambda_11_loss: 1.3177 - val_distribution_lambda_12_loss: 0.3996\n", "Epoch 189/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8123 - distribution_lambda_10_loss: 0.1207 - distribution_lambda_11_loss: 1.3013 - distribution_lambda_12_loss: 0.3903 - val_loss: 1.7623 - val_distribution_lambda_10_loss: 0.0438 - val_distribution_lambda_11_loss: 1.3187 - val_distribution_lambda_12_loss: 0.3998\n", "Epoch 190/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8499 - distribution_lambda_10_loss: 0.2054 - distribution_lambda_11_loss: 1.2738 - distribution_lambda_12_loss: 0.3706 - val_loss: 1.7671 - val_distribution_lambda_10_loss: 0.0467 - val_distribution_lambda_11_loss: 1.3207 - val_distribution_lambda_12_loss: 0.3997\n", "Epoch 191/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.7978 - distribution_lambda_10_loss: 0.1476 - distribution_lambda_11_loss: 1.2689 - distribution_lambda_12_loss: 0.3813 - val_loss: 1.7636 - val_distribution_lambda_10_loss: 0.0447 - val_distribution_lambda_11_loss: 1.3190 - val_distribution_lambda_12_loss: 0.3999\n", "Epoch 192/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8474 - distribution_lambda_10_loss: 0.1610 - distribution_lambda_11_loss: 1.3074 - distribution_lambda_12_loss: 0.3790 - val_loss: 1.7627 - val_distribution_lambda_10_loss: 0.0446 - val_distribution_lambda_11_loss: 1.3179 - val_distribution_lambda_12_loss: 0.4002\n", "Epoch 193/2000\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "8/8 [==============================] - 0s 6ms/step - loss: 1.8502 - distribution_lambda_10_loss: 0.1643 - distribution_lambda_11_loss: 1.2941 - distribution_lambda_12_loss: 0.3918 - val_loss: 1.7657 - val_distribution_lambda_10_loss: 0.0465 - val_distribution_lambda_11_loss: 1.3188 - val_distribution_lambda_12_loss: 0.4003\n", "Epoch 194/2000\n", "8/8 [==============================] - 0s 7ms/step - loss: 1.8443 - distribution_lambda_10_loss: 0.1732 - distribution_lambda_11_loss: 1.2928 - distribution_lambda_12_loss: 0.3783 - val_loss: 1.7686 - val_distribution_lambda_10_loss: 0.0482 - val_distribution_lambda_11_loss: 1.3201 - val_distribution_lambda_12_loss: 0.4003\n", "Epoch 195/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8978 - distribution_lambda_10_loss: 0.2247 - distribution_lambda_11_loss: 1.2773 - distribution_lambda_12_loss: 0.3958 - val_loss: 1.7663 - val_distribution_lambda_10_loss: 0.0493 - val_distribution_lambda_11_loss: 1.3167 - val_distribution_lambda_12_loss: 0.4003\n", "Epoch 196/2000\n", "8/8 [==============================] - 0s 7ms/step - loss: 1.8302 - distribution_lambda_10_loss: 0.1590 - distribution_lambda_11_loss: 1.2875 - distribution_lambda_12_loss: 0.3837 - val_loss: 1.7638 - val_distribution_lambda_10_loss: 0.0471 - val_distribution_lambda_11_loss: 1.3160 - val_distribution_lambda_12_loss: 0.4006\n", "Epoch 197/2000\n", "8/8 [==============================] - 0s 7ms/step - loss: 1.8210 - distribution_lambda_10_loss: 0.1595 - distribution_lambda_11_loss: 1.2724 - distribution_lambda_12_loss: 0.3891 - val_loss: 1.7661 - val_distribution_lambda_10_loss: 0.0495 - val_distribution_lambda_11_loss: 1.3163 - val_distribution_lambda_12_loss: 0.4004\n", "Epoch 198/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.7971 - distribution_lambda_10_loss: 0.1347 - distribution_lambda_11_loss: 1.2746 - distribution_lambda_12_loss: 0.3878 - val_loss: 1.7585 - val_distribution_lambda_10_loss: 0.0412 - val_distribution_lambda_11_loss: 1.3171 - val_distribution_lambda_12_loss: 0.4002\n", "Epoch 199/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8014 - distribution_lambda_10_loss: 0.1359 - distribution_lambda_11_loss: 1.2827 - distribution_lambda_12_loss: 0.3828 - val_loss: 1.7589 - val_distribution_lambda_10_loss: 0.0414 - val_distribution_lambda_11_loss: 1.3174 - val_distribution_lambda_12_loss: 0.4001\n", "Epoch 200/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8742 - distribution_lambda_10_loss: 0.2019 - distribution_lambda_11_loss: 1.2867 - distribution_lambda_12_loss: 0.3856 - val_loss: 1.7556 - val_distribution_lambda_10_loss: 0.0384 - val_distribution_lambda_11_loss: 1.3172 - val_distribution_lambda_12_loss: 0.4001\n", "Epoch 201/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8135 - distribution_lambda_10_loss: 0.1556 - distribution_lambda_11_loss: 1.2759 - distribution_lambda_12_loss: 0.3820 - val_loss: 1.7521 - val_distribution_lambda_10_loss: 0.0360 - val_distribution_lambda_11_loss: 1.3159 - val_distribution_lambda_12_loss: 0.4002\n", "Epoch 202/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.7854 - distribution_lambda_10_loss: 0.1276 - distribution_lambda_11_loss: 1.2689 - distribution_lambda_12_loss: 0.3888 - val_loss: 1.7539 - val_distribution_lambda_10_loss: 0.0371 - val_distribution_lambda_11_loss: 1.3169 - val_distribution_lambda_12_loss: 0.3999\n", "Epoch 203/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8124 - distribution_lambda_10_loss: 0.1408 - distribution_lambda_11_loss: 1.2968 - distribution_lambda_12_loss: 0.3748 - val_loss: 1.7560 - val_distribution_lambda_10_loss: 0.0386 - val_distribution_lambda_11_loss: 1.3175 - val_distribution_lambda_12_loss: 0.3998\n", "Epoch 204/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.7959 - distribution_lambda_10_loss: 0.1473 - distribution_lambda_11_loss: 1.2778 - distribution_lambda_12_loss: 0.3709 - val_loss: 1.7515 - val_distribution_lambda_10_loss: 0.0337 - val_distribution_lambda_11_loss: 1.3179 - val_distribution_lambda_12_loss: 0.3999\n", "Epoch 205/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8765 - distribution_lambda_10_loss: 0.2201 - distribution_lambda_11_loss: 1.2853 - distribution_lambda_12_loss: 0.3711 - val_loss: 1.7521 - val_distribution_lambda_10_loss: 0.0368 - val_distribution_lambda_11_loss: 1.3154 - val_distribution_lambda_12_loss: 0.3999\n", "Epoch 206/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.7689 - distribution_lambda_10_loss: 0.1306 - distribution_lambda_11_loss: 1.2643 - distribution_lambda_12_loss: 0.3740 - val_loss: 1.7519 - val_distribution_lambda_10_loss: 0.0362 - val_distribution_lambda_11_loss: 1.3157 - val_distribution_lambda_12_loss: 0.4000\n", "Epoch 207/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.7828 - distribution_lambda_10_loss: 0.1181 - distribution_lambda_11_loss: 1.2868 - distribution_lambda_12_loss: 0.3780 - val_loss: 1.7544 - val_distribution_lambda_10_loss: 0.0361 - val_distribution_lambda_11_loss: 1.3183 - val_distribution_lambda_12_loss: 0.4000\n", "Epoch 208/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.7929 - distribution_lambda_10_loss: 0.1385 - distribution_lambda_11_loss: 1.2827 - distribution_lambda_12_loss: 0.3718 - val_loss: 1.7508 - val_distribution_lambda_10_loss: 0.0302 - val_distribution_lambda_11_loss: 1.3204 - val_distribution_lambda_12_loss: 0.4002\n", "Epoch 209/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.7168 - distribution_lambda_10_loss: 0.0878 - distribution_lambda_11_loss: 1.2501 - distribution_lambda_12_loss: 0.3789 - val_loss: 1.7461 - val_distribution_lambda_10_loss: 0.0282 - val_distribution_lambda_11_loss: 1.3179 - val_distribution_lambda_12_loss: 0.4000\n", "Epoch 210/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.7658 - distribution_lambda_10_loss: 0.1209 - distribution_lambda_11_loss: 1.2553 - distribution_lambda_12_loss: 0.3896 - val_loss: 1.7457 - val_distribution_lambda_10_loss: 0.0292 - val_distribution_lambda_11_loss: 1.3168 - val_distribution_lambda_12_loss: 0.3998\n", "Epoch 211/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8452 - distribution_lambda_10_loss: 0.1716 - distribution_lambda_11_loss: 1.2934 - distribution_lambda_12_loss: 0.3802 - val_loss: 1.7505 - val_distribution_lambda_10_loss: 0.0311 - val_distribution_lambda_11_loss: 1.3196 - val_distribution_lambda_12_loss: 0.3998\n", "Epoch 212/2000\n", "8/8 [==============================] - 0s 7ms/step - loss: 1.7646 - distribution_lambda_10_loss: 0.1031 - distribution_lambda_11_loss: 1.2853 - distribution_lambda_12_loss: 0.3762 - val_loss: 1.7465 - val_distribution_lambda_10_loss: 0.0275 - val_distribution_lambda_11_loss: 1.3191 - val_distribution_lambda_12_loss: 0.4000\n", "Epoch 213/2000\n", "8/8 [==============================] - 0s 8ms/step - loss: 1.8722 - distribution_lambda_10_loss: 0.2165 - distribution_lambda_11_loss: 1.2790 - distribution_lambda_12_loss: 0.3767 - val_loss: 1.7436 - val_distribution_lambda_10_loss: 0.0278 - val_distribution_lambda_11_loss: 1.3157 - val_distribution_lambda_12_loss: 0.4001\n", "Epoch 214/2000\n", "8/8 [==============================] - 0s 7ms/step - loss: 1.7938 - distribution_lambda_10_loss: 0.1310 - distribution_lambda_11_loss: 1.2754 - distribution_lambda_12_loss: 0.3874 - val_loss: 1.7487 - val_distribution_lambda_10_loss: 0.0328 - val_distribution_lambda_11_loss: 1.3156 - val_distribution_lambda_12_loss: 0.4004\n", "Epoch 215/2000\n", "8/8 [==============================] - 0s 7ms/step - loss: 1.8480 - distribution_lambda_10_loss: 0.1845 - distribution_lambda_11_loss: 1.2831 - distribution_lambda_12_loss: 0.3804 - val_loss: 1.7501 - val_distribution_lambda_10_loss: 0.0330 - val_distribution_lambda_11_loss: 1.3167 - val_distribution_lambda_12_loss: 0.4005\n", "Epoch 216/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.7173 - distribution_lambda_10_loss: 0.1088 - distribution_lambda_11_loss: 1.2340 - distribution_lambda_12_loss: 0.3746 - val_loss: 1.7519 - val_distribution_lambda_10_loss: 0.0327 - val_distribution_lambda_11_loss: 1.3188 - val_distribution_lambda_12_loss: 0.4003\n", "Epoch 217/2000\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "8/8 [==============================] - 0s 6ms/step - loss: 1.7686 - distribution_lambda_10_loss: 0.1313 - distribution_lambda_11_loss: 1.2646 - distribution_lambda_12_loss: 0.3726 - val_loss: 1.7532 - val_distribution_lambda_10_loss: 0.0378 - val_distribution_lambda_11_loss: 1.3153 - val_distribution_lambda_12_loss: 0.4000\n", "Epoch 218/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8928 - distribution_lambda_10_loss: 0.1888 - distribution_lambda_11_loss: 1.3134 - distribution_lambda_12_loss: 0.3907 - val_loss: 1.7517 - val_distribution_lambda_10_loss: 0.0349 - val_distribution_lambda_11_loss: 1.3170 - val_distribution_lambda_12_loss: 0.3997\n", "Epoch 219/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8506 - distribution_lambda_10_loss: 0.1875 - distribution_lambda_11_loss: 1.2830 - distribution_lambda_12_loss: 0.3800 - val_loss: 1.7547 - val_distribution_lambda_10_loss: 0.0346 - val_distribution_lambda_11_loss: 1.3206 - val_distribution_lambda_12_loss: 0.3995\n", "Epoch 220/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.7843 - distribution_lambda_10_loss: 0.1504 - distribution_lambda_11_loss: 1.2581 - distribution_lambda_12_loss: 0.3758 - val_loss: 1.7607 - val_distribution_lambda_10_loss: 0.0397 - val_distribution_lambda_11_loss: 1.3213 - val_distribution_lambda_12_loss: 0.3997\n", "Epoch 221/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.9015 - distribution_lambda_10_loss: 0.2318 - distribution_lambda_11_loss: 1.2940 - distribution_lambda_12_loss: 0.3757 - val_loss: 1.7629 - val_distribution_lambda_10_loss: 0.0428 - val_distribution_lambda_11_loss: 1.3203 - val_distribution_lambda_12_loss: 0.3999\n", "Epoch 222/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8426 - distribution_lambda_10_loss: 0.1686 - distribution_lambda_11_loss: 1.2874 - distribution_lambda_12_loss: 0.3865 - val_loss: 1.7647 - val_distribution_lambda_10_loss: 0.0438 - val_distribution_lambda_11_loss: 1.3212 - val_distribution_lambda_12_loss: 0.3997\n", "Epoch 223/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8004 - distribution_lambda_10_loss: 0.1542 - distribution_lambda_11_loss: 1.2650 - distribution_lambda_12_loss: 0.3812 - val_loss: 1.7687 - val_distribution_lambda_10_loss: 0.0475 - val_distribution_lambda_11_loss: 1.3217 - val_distribution_lambda_12_loss: 0.3996\n", "Epoch 224/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8161 - distribution_lambda_10_loss: 0.1573 - distribution_lambda_11_loss: 1.2737 - distribution_lambda_12_loss: 0.3850 - val_loss: 1.7641 - val_distribution_lambda_10_loss: 0.0407 - val_distribution_lambda_11_loss: 1.3237 - val_distribution_lambda_12_loss: 0.3998\n", "Epoch 225/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.7916 - distribution_lambda_10_loss: 0.1258 - distribution_lambda_11_loss: 1.2817 - distribution_lambda_12_loss: 0.3841 - val_loss: 1.7742 - val_distribution_lambda_10_loss: 0.0455 - val_distribution_lambda_11_loss: 1.3286 - val_distribution_lambda_12_loss: 0.4000\n", "Epoch 226/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.7875 - distribution_lambda_10_loss: 0.0974 - distribution_lambda_11_loss: 1.2953 - distribution_lambda_12_loss: 0.3947 - val_loss: 1.7583 - val_distribution_lambda_10_loss: 0.0339 - val_distribution_lambda_11_loss: 1.3243 - val_distribution_lambda_12_loss: 0.4001\n", "Epoch 227/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8151 - distribution_lambda_10_loss: 0.1809 - distribution_lambda_11_loss: 1.2551 - distribution_lambda_12_loss: 0.3792 - val_loss: 1.7504 - val_distribution_lambda_10_loss: 0.0312 - val_distribution_lambda_11_loss: 1.3192 - val_distribution_lambda_12_loss: 0.3999\n", "Epoch 228/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.9603 - distribution_lambda_10_loss: 0.2873 - distribution_lambda_11_loss: 1.2870 - distribution_lambda_12_loss: 0.3860 - val_loss: 1.7527 - val_distribution_lambda_10_loss: 0.0343 - val_distribution_lambda_11_loss: 1.3185 - val_distribution_lambda_12_loss: 0.3999\n", "Epoch 229/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8002 - distribution_lambda_10_loss: 0.1581 - distribution_lambda_11_loss: 1.2589 - distribution_lambda_12_loss: 0.3832 - val_loss: 1.7693 - val_distribution_lambda_10_loss: 0.0483 - val_distribution_lambda_11_loss: 1.3211 - val_distribution_lambda_12_loss: 0.3998\n", "Epoch 230/2000\n", "8/8 [==============================] - 0s 7ms/step - loss: 1.8404 - distribution_lambda_10_loss: 0.1862 - distribution_lambda_11_loss: 1.2795 - distribution_lambda_12_loss: 0.3747 - val_loss: 1.7755 - val_distribution_lambda_10_loss: 0.0495 - val_distribution_lambda_11_loss: 1.3263 - val_distribution_lambda_12_loss: 0.3997\n", "Epoch 231/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.7884 - distribution_lambda_10_loss: 0.1445 - distribution_lambda_11_loss: 1.2584 - distribution_lambda_12_loss: 0.3855 - val_loss: 1.7716 - val_distribution_lambda_10_loss: 0.0513 - val_distribution_lambda_11_loss: 1.3206 - val_distribution_lambda_12_loss: 0.3996\n", "Epoch 232/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8077 - distribution_lambda_10_loss: 0.1632 - distribution_lambda_11_loss: 1.2708 - distribution_lambda_12_loss: 0.3737 - val_loss: 1.7608 - val_distribution_lambda_10_loss: 0.0413 - val_distribution_lambda_11_loss: 1.3196 - val_distribution_lambda_12_loss: 0.3999\n", "Epoch 233/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8350 - distribution_lambda_10_loss: 0.1847 - distribution_lambda_11_loss: 1.2724 - distribution_lambda_12_loss: 0.3779 - val_loss: 1.7609 - val_distribution_lambda_10_loss: 0.0421 - val_distribution_lambda_11_loss: 1.3188 - val_distribution_lambda_12_loss: 0.4000\n", "Epoch 234/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.7852 - distribution_lambda_10_loss: 0.1475 - distribution_lambda_11_loss: 1.2558 - distribution_lambda_12_loss: 0.3819 - val_loss: 1.7681 - val_distribution_lambda_10_loss: 0.0494 - val_distribution_lambda_11_loss: 1.3182 - val_distribution_lambda_12_loss: 0.4005\n", "Epoch 235/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8264 - distribution_lambda_10_loss: 0.1502 - distribution_lambda_11_loss: 1.2833 - distribution_lambda_12_loss: 0.3929 - val_loss: 1.7571 - val_distribution_lambda_10_loss: 0.0357 - val_distribution_lambda_11_loss: 1.3206 - val_distribution_lambda_12_loss: 0.4008\n", "Epoch 236/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.7020 - distribution_lambda_10_loss: 0.1101 - distribution_lambda_11_loss: 1.2371 - distribution_lambda_12_loss: 0.3548 - val_loss: 1.7496 - val_distribution_lambda_10_loss: 0.0298 - val_distribution_lambda_11_loss: 1.3193 - val_distribution_lambda_12_loss: 0.4005\n", "Epoch 237/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8055 - distribution_lambda_10_loss: 0.1338 - distribution_lambda_11_loss: 1.2871 - distribution_lambda_12_loss: 0.3847 - val_loss: 1.7486 - val_distribution_lambda_10_loss: 0.0266 - val_distribution_lambda_11_loss: 1.3215 - val_distribution_lambda_12_loss: 0.4006\n", "Epoch 238/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8616 - distribution_lambda_10_loss: 0.1724 - distribution_lambda_11_loss: 1.2850 - distribution_lambda_12_loss: 0.4042 - val_loss: 1.7454 - val_distribution_lambda_10_loss: 0.0274 - val_distribution_lambda_11_loss: 1.3170 - val_distribution_lambda_12_loss: 0.4010\n", "Epoch 239/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8076 - distribution_lambda_10_loss: 0.1618 - distribution_lambda_11_loss: 1.2505 - distribution_lambda_12_loss: 0.3953 - val_loss: 1.7494 - val_distribution_lambda_10_loss: 0.0326 - val_distribution_lambda_11_loss: 1.3160 - val_distribution_lambda_12_loss: 0.4008\n", "Epoch 240/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.8577 - distribution_lambda_10_loss: 0.1635 - distribution_lambda_11_loss: 1.2985 - distribution_lambda_12_loss: 0.3956 - val_loss: 1.7509 - val_distribution_lambda_10_loss: 0.0319 - val_distribution_lambda_11_loss: 1.3184 - val_distribution_lambda_12_loss: 0.4006\n", "Epoch 241/2000\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "8/8 [==============================] - 0s 6ms/step - loss: 1.7675 - distribution_lambda_10_loss: 0.1047 - distribution_lambda_11_loss: 1.2833 - distribution_lambda_12_loss: 0.3795 - val_loss: 1.7483 - val_distribution_lambda_10_loss: 0.0312 - val_distribution_lambda_11_loss: 1.3168 - val_distribution_lambda_12_loss: 0.4004\n", "Epoch 242/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.7387 - distribution_lambda_10_loss: 0.1229 - distribution_lambda_11_loss: 1.2474 - distribution_lambda_12_loss: 0.3683 - val_loss: 1.7488 - val_distribution_lambda_10_loss: 0.0314 - val_distribution_lambda_11_loss: 1.3171 - val_distribution_lambda_12_loss: 0.4003\n", "Epoch 243/2000\n", "8/8 [==============================] - 0s 6ms/step - loss: 1.7835 - distribution_lambda_10_loss: 0.1116 - distribution_lambda_11_loss: 1.2800 - distribution_lambda_12_loss: 0.3918 - val_loss: 1.7465 - val_distribution_lambda_10_loss: 0.0271 - val_distribution_lambda_11_loss: 1.3193 - val_distribution_lambda_12_loss: 0.4002\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 = 2000\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 = 1.5\n", "\n", "\n", "callback = tf.keras.callbacks.EarlyStopping(monitor='val_loss', patience = 30)\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=\"sigmoid\") (inputs)\n", "x = tfk.layers.Dropout(0.3)(x)\n", "x = tfk.layers.Dense(16, activation=\"sigmoid\") (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", "\n", "x22 = tfk.layers.Dense(prob_dist_params, activation=\"linear\")(x2)\n", "out_2 = tfp.layers.DistributionLambda(prob_dist)(x22)\n", "\n", "x23 = tfk.layers.Dense(1, activation=\"sigmoid\")(x2)\n", "out_3 = tfp.layers.DistributionLambda(lambda t: tfp.distributions.Bernoulli(probs = t[..., 0]))(x23)\n", "\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": 84, "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": 85, "id": "c41cf448", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.3332518280318889\n", "0.517152695472664\n" ] }, { "data": { "image/png": "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n58fbdq04aOPPqqu0Go1sxncPp78eju5BVaGdAhhwSMDlKyIiEiNVi0JyzfffMNTTz3FSy+9xLZt27jhhhuIiYkhMTGxzOMTEhIYNWoUN9xwA9u2bePFF1/kiSeeYP78+dURXq11LiefB2bF8VHsIQD+MLgtH0+KJsDP28WRiYiIXBmLYRhGVV+0b9++9OzZkw8//NC+7dprr2Xs2LFMnz691PHPP/88ixcvZu/evfZtDz/8MDt27GDDhg0Ves3MzEwCAwPJyMigYcOGV/4mapgjKdncPyuOg8lZ+Hp58MadXRnTvbmrwxIRESlXRT+/q3yEJS8vjy1btjB8+HCH7cOHD+eXX34p85wNGzaUOn7EiBHExcWRn59f5jm5ublkZmY6POqqnw6kMOb9nzmYnEVoQz/+7+H+SlZERKRWqfKEJSUlhcLCQpo1a+awvVmzZiQlJZV5TlJSUpnHFxQUkJKSUuY506dPJzAw0P6IiIiomjdQw2TnFvDE19vIuJBP94hGLH7sOrq2aOTqsERERKpUtRXdXtznwzCMcnt/lHV8WdttXnjhBTIyMuyPY8eOXWHENVN9Xy/evbs7d/VqwdcP9iOkoZ+rQxIREalyVT6tuUmTJnh6epYaTUlOTi41imITGhpa5vFeXl4EBweXeY6vry++vmorD3BDVFNuiGrq6jBERESqTZWPsPj4+NCrVy9WrlzpsH3lypUMGDCgzHP69+9f6vgVK1YQHR2Nt7dmuIiIiNR11XJLaOrUqXzyySf85z//Ye/evTz99NMkJiby8MMPA+btnEmTJtmPf/jhhzl69ChTp05l7969/Oc//+HTTz/lmWeeqY7wREREpIaplk6348ePJzU1lVdffZVTp07RuXNnli5dSqtWrQA4deqUQ0+WyMhIli5dytNPP837779PeHg47733HnfccUd1hCciIiI1TLX0YXGFut6HRUREpCZyWR8WERERkaqmhEVERETcnhIWERERcXtKWERERMTtKWERERERt6eERURERNyeEhYRERFxe0pYRERExO0pYRERERG3Vy2t+V3B1rA3MzPTxZGIiIhIRdk+ty/VeL/WJCznzp0DICIiwsWRiIiISGWdO3eOwMBAp/trzVpCVquVkydPEhAQgMVicXU4V1VmZiYREREcO3ZM6yi5Gf1u3JN+L+5Lvxv3VJ2/F8MwOHfuHOHh4Xh4OK9UqTUjLB4eHrRo0cLVYbhUw4YN9QfupvS7cU/6vbgv/W7cU3X9XsobWbFR0a2IiIi4PSUsIiIi4vaUsNQCvr6+/PnPf8bX19fVochF9LtxT/q9uC/9btyTO/xeak3RrYiIiNReGmERERERt6eERURERNyeEhYRERFxe0pYRERExO0pYakFPvjgAyIjI/Hz86NXr16sX7/e1SHVadOmTcNisTg8QkNDXR1WnbRu3TpGjx5NeHg4FouFhQsXOuw3DINp06YRHh6Ov78/gwcPZvfu3a4Jtg651O9lypQppf6G+vXr55pg65Dp06fTu3dvAgICCAkJYezYsezfv9/hGFf+zShhqeG++eYbnnrqKV566SW2bdvGDTfcQExMDImJia4OrU7r1KkTp06dsj927drl6pDqpOzsbLp168aMGTPK3P/GG2/w9ttvM2PGDDZv3kxoaCjDhg2zr00m1eNSvxeAkSNHOvwNLV269CpGWDfFxsby6KOPsnHjRlauXElBQQHDhw8nOzvbfoxL/2YMqdH69OljPPzwww7bOnToYPzxj390UUTy5z//2ejWrZurw5CLAMaCBQvsz61WqxEaGmr8/e9/t2/LyckxAgMDjY8++sgFEdZNF/9eDMMwJk+ebIwZM8Yl8Uix5ORkAzBiY2MNw3D934xGWGqwvLw8tmzZwvDhwx22Dx8+nF9++cVFUQnAgQMHCA8PJzIykrvvvpvDhw+7OiS5SEJCAklJSQ5/P76+vgwaNEh/P25g7dq1hISE0K5dOx544AGSk5NdHVKdk5GRAUBQUBDg+r8ZJSw1WEpKCoWFhTRr1sxhe7NmzUhKSnJRVNK3b19mzZrF8uXL+fjjj0lKSmLAgAGkpqa6OjQpwfY3or8f9xMTE8OcOXNYvXo1b731Fps3b2bIkCHk5ua6OrQ6wzAMpk6dyvXXX0/nzp0B1//N1JrVmusyi8Xi8NwwjFLb5OqJiYmxf9+lSxf69+9P27Zt+eKLL5g6daoLI5Oy6O/H/YwfP97+fefOnYmOjqZVq1YsWbKE22+/3YWR1R2PPfYYO3fu5Keffiq1z1V/MxphqcGaNGmCp6dnqcw2OTm5VAYsrlO/fn26dOnCgQMHXB2KlGCbuaW/H/cXFhZGq1at9Dd0lTz++OMsXryYNWvW0KJFC/t2V//NKGGpwXx8fOjVqxcrV6502L5y5UoGDBjgoqjkYrm5uezdu5ewsDBXhyIlREZGEhoa6vD3k5eXR2xsrP5+3ExqairHjh3T31A1MwyDxx57jO+++47Vq1cTGRnpsN/VfzO6JVTDTZ06lYkTJxIdHU3//v2ZOXMmiYmJPPzww64Orc565plnGD16NC1btiQ5OZm//vWvZGZmMnnyZFeHVudkZWVx8OBB+/OEhAS2b99OUFAQLVu25KmnnuK1114jKiqKqKgoXnvtNerVq8eECRNcGHXtV97vJSgoiGnTpnHHHXcQFhbGkSNHePHFF2nSpAm33XabC6Ou/R599FG++uorFi1aREBAgH0kJTAwEH9/fywWi2v/Zqp9HpJUu/fff99o1aqV4ePjY/Ts2dM+BU1cY/z48UZYWJjh7e1thIeHG7fffruxe/duV4dVJ61Zs8YASj0mT55sGIY5TfPPf/6zERoaavj6+hoDBw40du3a5dqg64Dyfi/nz583hg8fbjRt2tTw9vY2WrZsaUyePNlITEx0ddi1Xlm/E8D47LPP7Me48m/GUhSkiIiIiNtSDYuIiIi4PSUsIiIi4vaUsIiIiIjbU8IiIiIibk8Ji4iIiLg9JSwiIiLi9pSwiIiIiNtTwiIiIiJuTwmLiIiIuD0lLCIiIuL2lLCIiIiI21PCIiIiIm7v/wMKAyA9QXG5vQAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "0.26093511091688437\n", "0.4031542261319754\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": 86, "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": 77, "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": 78, "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": 79, "id": "62b9f588", "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", "
matchdayteam1team2
01FiorentinaCremonese
11VeronaNapoli
21JuventusSassuolo
31LazioBologna
41LecceInter
............
37538LecceBologna
37638SassuoloFiorentina
37738MilanVerona
37838TorinoInter
37938UdineseJuventus
\n", "

380 rows × 3 columns

\n", "
" ], "text/plain": [ " matchday team1 team2\n", "0 1 Fiorentina Cremonese\n", "1 1 Verona Napoli\n", "2 1 Juventus Sassuolo\n", "3 1 Lazio Bologna\n", "4 1 Lecce Inter\n", ".. ... ... ...\n", "375 38 Lecce Bologna\n", "376 38 Sassuolo Fiorentina\n", "377 38 Milan Verona\n", "378 38 Torino Inter\n", "379 38 Udinese Juventus\n", "\n", "[380 rows x 3 columns]" ] }, "execution_count": 79, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cal_df" ] }, { "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": 80, "id": "861a06ce", "metadata": {}, "outputs": [], "source": [ "matchday = 21" ] }, { "cell_type": "code", "execution_count": 81, "id": "c58ba41d", "metadata": {}, "outputs": [], "source": [ "def PlayerMatch(player, match = matchday):\n", " team = players.loc[player]['team']\n", " \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 = matchday, 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": 82, "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
Carnesecchi1.0090
Bianchetti0.5555
Chiriches1.0080
Vasquez1.0090
Sernicola1.0090
.........
Cuadrado0.0060
Pogba0.0030
Miretti0.0050
Soule'0.0030
Kean0.4060
\n", "

449 rows × 2 columns

\n", "
" ], "text/plain": [ " starter percentage\n", "player \n", "Carnesecchi 1.00 90\n", "Bianchetti 0.55 55\n", "Chiriches 1.00 80\n", "Vasquez 1.00 90\n", "Sernicola 1.00 90\n", "... ... ...\n", "Cuadrado 0.00 60\n", "Pogba 0.00 30\n", "Miretti 0.00 50\n", "Soule' 0.00 30\n", "Kean 0.40 60\n", "\n", "[449 rows x 2 columns]" ] }, "execution_count": 82, "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": 92, "id": "5e63c2b7", "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Meret: MV 6.10 ± 0.98; FV 5.34 + 1.45 (44.1% cs)\n", "Provedel: MV 6.16 ± 0.77; FV 5.69 + 1.16 (59.7% cs)\n", "Vicario: MV 6.64 ± 0.90; FV 5.24 + 1.26 (16.3% cs)\n", "Szczesny: MV 6.10 ± 0.93; FV 5.25 + 1.58 (35.8% cs)\n", "Falcone: MV 6.16 ± 0.65; FV 5.99 + 0.99 (76.0% cs)\n", "Silvestri: MV 6.29 ± 1.34; FV 5.57 + 1.57 (51.0% cs)\n", "Rui Patricio: MV 6.13 ± 0.55; FV 5.82 + 0.99 (64.6% cs)\n", "Onana: MV 6.23 ± 0.65; FV 3.96 + 1.76 (5.0% cs)\n", "Sepe: MV 6.55 ± 0.82; FV 4.61 + 1.47 (7.0% cs)\n", "Milinkovic-Savic V.: MV 6.01 ± 0.09; FV 4.62 + 0.67 (5.5% cs)\n", "Musso: MV 6.16 ± 1.03; FV 5.44 + 1.50 (48.3% cs)\n", "Maignan: MV 6.27 ± 0.96; FV 4.23 + 2.06 (7.7% cs)\n", "Carnesecchi: MV 6.30 ± 1.26; FV 4.85 + 1.98 (9.2% cs)\n", "Di Gregorio: MV 6.10 ± 0.47; FV 5.82 + 0.94 (72.1% cs)\n", "Audero: MV 6.03 ± 0.25; FV 4.07 + 0.91 (1.0% cs)\n", "Montipo': MV 6.28 ± 0.70; FV 4.61 + 1.13 (1.8% cs)\n", "Skorupski: MV 6.18 ± 0.82; FV 4.71 + 1.27 (4.4% cs)\n", "Consigli: MV 5.99 ± 0.41; FV 3.36 + 1.71 (0.5% cs)\n", "Dragowski: MV 5.59 ± 0.34; FV 2.85 + 2.10 (0.3% cs)\n", "Terracciano: MV 6.01 ± 0.20; FV 4.68 + 1.14 (7.0% cs)\n", "Tatarusanu: MV 5.70 ± 0.38; FV 2.92 + 2.12 (0.3% cs)\n", "Handanovic: MV 5.85 ± 0.47; FV 3.07 + 2.29 (0.8% cs)\n", "Sportiello: MV 6.19 ± 1.20; FV 5.27 + 1.62 (35.7% cs)\n", "Perin: MV 6.19 ± 1.13; FV 5.42 + 1.60 (45.4% cs)\n", "Zoet: MV 6.46 ± 0.74; FV 4.60 + 1.36 (6.7% cs)\n", "Ochoa: MV 6.50 ± 0.92; FV 4.76 + 1.62 (10.5% cs)\n", "Pegolo: MV 6.12 ± 0.53; FV 3.73 + 1.73 (1.3% cs)\n", "Gollini: MV 6.13 ± 1.01; FV 5.49 + 1.41 (52.8% cs)\n", "Mirante: MV 6.27 ± 0.96; FV 4.23 + 2.06 (7.7% cs)\n", "Sarr M.: MV 6.30 ± 1.26; FV 4.85 + 1.98 (9.2% cs)\n", "Lamanna: MV 6.10 ± 0.47; FV 5.82 + 0.94 (72.1% cs)\n", "Ujkani: MV 6.64 ± 0.90; FV 5.24 + 1.26 (16.3% cs)\n", "Berisha: MV 6.01 ± 0.09; FV 4.62 + 0.67 (5.5% cs)\n", "Marchetti: MV 5.59 ± 0.34; FV 2.85 + 2.10 (0.3% cs)\n", "Perilli: MV 6.28 ± 0.70; FV 4.61 + 1.13 (1.8% cs)\n", "Padelli: MV 6.29 ± 1.34; FV 5.57 + 1.57 (51.0% cs)\n", "Perisan: MV 6.64 ± 0.90; FV 5.24 + 1.26 (16.3% cs)\n", "Bardi: MV 6.18 ± 0.82; FV 4.71 + 1.27 (4.4% cs)\n", "Cordaz: MV 6.23 ± 0.65; FV 3.96 + 1.76 (5.0% cs)\n", "Pinsoglio: MV 6.10 ± 0.93; FV 5.25 + 1.58 (35.8% cs)\n", "Fiorillo: MV 6.55 ± 0.82; FV 4.61 + 1.47 (7.0% cs)\n", "Cragno: MV 6.10 ± 0.47; FV 5.82 + 0.94 (72.1% cs)\n", "Sirigu: MV 6.01 ± 0.20; FV 4.68 + 1.14 (7.0% cs)\n", "Cerofolini: MV 6.01 ± 0.20; FV 4.68 + 1.14 (7.0% cs)\n", "Rossi F.: MV 6.16 ± 1.03; FV 5.44 + 1.50 (48.3% cs)\n", "Ravaglia F.: MV 6.18 ± 0.82; FV 4.71 + 1.27 (4.4% cs)\n", "Brancolini: MV 6.16 ± 0.65; FV 5.99 + 0.99 (76.0% cs)\n", "Bleve: MV 6.16 ± 0.65; FV 5.99 + 0.99 (76.0% cs)\n", "Berardi A.: MV 6.28 ± 0.70; FV 4.61 + 1.13 (1.8% cs)\n", "Russo A.: MV 5.99 ± 0.41; FV 3.36 + 1.71 (0.5% cs)\n", "Gemello: MV 6.01 ± 0.09; FV 4.62 + 0.67 (5.5% cs)\n", "Ravaglia: MV 6.03 ± 0.25; FV 4.07 + 0.91 (1.0% cs)\n", "Boer: MV 6.13 ± 0.55; FV 5.82 + 0.99 (64.6% cs)\n", "Adamonis: MV 6.16 ± 0.77; FV 5.69 + 1.16 (59.7% cs)\n", "Marfella: MV 6.10 ± 0.98; FV 5.34 + 1.45 (44.1% cs)\n", "Zovko: MV 5.61 ± 0.36; FV 2.85 + 2.17 (0.3% cs)\n", "Piana: MV 6.29 ± 1.34; FV 5.57 + 1.57 (51.0% cs)\n", "Bagnolini: MV 6.18 ± 0.82; FV 4.71 + 1.27 (4.4% cs)\n", "Luis Maximiano: MV 6.08 ± 0.54; FV 5.53 + 1.15 (54.4% cs)\n", "Svilar: MV 6.13 ± 0.55; FV 5.82 + 0.99 (64.6% cs)\n", "Sorrentino A.: MV 6.10 ± 0.47; FV 5.82 + 0.94 (72.1% cs)\n", "Ciezkowski: MV 6.30 ± 1.26; FV 4.85 + 1.98 (9.2% cs)\n", "Saro: MV 6.30 ± 1.26; FV 4.85 + 1.98 (9.2% cs)\n", "Vasquez D.: MV 6.38 ± 1.02; FV 4.65 + 1.79 (13.0% cs)\n", "Turk: MV 6.03 ± 0.25; FV 4.07 + 0.91 (1.0% cs)\n", "Dimarco: MV 6.16 ± 0.94; FV 6.64 + 1.86\n", "Smalling: MV 6.26 ± 0.99; FV 6.86 + 2.03\n", "Doig: MV 6.11 ± 1.20; FV 6.88 + 2.70\n", "Carlos Augusto: MV 6.37 ± 1.15; FV 7.25 + 2.84\n", "Kim: MV 6.24 ± 0.88; FV 6.76 + 1.66\n", "Posch: MV 6.04 ± 0.97; FV 6.41 + 1.69\n", "Di Lorenzo: MV 6.24 ± 0.83; FV 6.74 + 1.64\n", "Danilo: MV 6.25 ± 0.99; FV 6.80 + 1.95\n", "Hernandez T.: MV 6.01 ± 1.05; FV 6.23 + 1.50\n", "Udogie: MV 6.00 ± 1.01; FV 6.44 + 1.82\n", "Parisi: MV 6.08 ± 0.81; FV 6.37 + 1.29\n", "Mario Rui: MV 6.22 ± 0.82; FV 6.67 + 1.51\n", "Romagnoli: MV 6.19 ± 0.85; FV 6.52 + 1.31\n", "Bastoni S.: MV 5.93 ± 0.83; FV 6.08 + 1.15\n", "Mazzocchi: MV 6.05 ± 0.87; FV 6.29 + 1.24\n", "Valeri: MV 6.07 ± 0.67; FV 6.24 + 0.99\n", "Tomori: MV 5.94 ± 0.93; FV 6.05 + 1.27\n", "Scalvini: MV 6.07 ± 1.02; FV 6.42 + 1.63\n", "Toloi: MV 6.12 ± 0.86; FV 6.35 + 1.16\n", "Demiral: MV 6.01 ± 0.88; FV 6.23 + 1.23\n", "Maehle: MV 6.04 ± 0.91; FV 6.53 + 1.76\n", "Dumfries: MV 6.01 ± 0.93; FV 6.33 + 1.50\n", "Baschirotto: MV 6.23 ± 0.98; FV 6.79 + 1.96\n", "Bijol: MV 5.87 ± 1.05; FV 6.04 + 1.46\n", "Schuurs: MV 6.12 ± 0.68; FV 6.15 + 0.72\n", "Juan Jesus: MV 6.21 ± 0.78; FV 6.73 + 1.60\n", "Depaoli: MV 5.78 ± 0.91; FV 6.04 + 1.43\n", "Mancini: MV 6.05 ± 0.56; FV 6.06 + 0.59\n", "Ibanez: MV 6.05 ± 0.75; FV 6.21 + 0.95\n", "Rodrigo Becao: MV 6.04 ± 0.87; FV 6.24 + 1.13\n", "Ebuehi: MV 6.01 ± 0.72; FV 6.20 + 1.03\n", "Gosens: MV 5.95 ± 0.66; FV 6.11 + 1.01\n", "Darmian: MV 6.06 ± 0.72; FV 6.29 + 1.12\n", "Reca: MV 5.72 ± 0.90; FV 5.85 + 1.15\n", "Bremer: MV 6.06 ± 1.01; FV 6.36 + 1.55\n", "Sernicola: MV 5.98 ± 0.77; FV 6.19 + 1.14\n", "Rrahmani: MV 6.26 ± 0.90; FV 6.78 + 1.72\n", "Vojvoda: MV 5.98 ± 0.79; FV 6.10 + 1.01\n", "Holm: MV 5.79 ± 0.70; FV 5.83 + 0.85\n", "Bastoni: MV 6.02 ± 0.90; FV 6.25 + 1.33\n", "Milenkovic: MV 5.90 ± 1.02; FV 6.03 + 1.36\n", "Kalulu: MV 5.70 ± 1.18; FV 5.69 + 1.34\n", "Martinez Quarta: MV 6.06 ± 0.92; FV 6.33 + 1.30\n", "Casale: MV 6.09 ± 0.75; FV 6.20 + 0.90\n", "Perez N.: MV 6.04 ± 0.88; FV 6.25 + 1.15\n", "Olivera: MV 6.18 ± 0.80; FV 6.63 + 1.55\n", "Izzo: MV 6.10 ± 0.60; FV 6.21 + 0.79\n", "Luperto: MV 5.80 ± 1.13; FV 5.86 + 1.27\n", "Skriniar: MV 5.87 ± 0.82; FV 5.82 + 0.94\n", "Rodriguez R.: MV 5.98 ± 0.73; FV 5.97 + 0.69\n", "Marusic: MV 6.06 ± 0.67; FV 6.08 + 0.68\n", "Lazzari: MV 6.10 ± 0.71; FV 6.17 + 0.77\n", "Kyriakopoulos: MV 5.92 ± 0.84; FV 6.04 + 1.10\n", "Ampadu: MV 5.66 ± 1.05; FV 5.71 + 1.19\n", "Ismajli: MV 6.05 ± 0.79; FV 6.07 + 0.76\n", "Llorente D.: MV 5.97 ± 0.81; FV 6.12 + 1.04\n", "Cambiaso: MV 5.92 ± 0.75; FV 5.91 + 0.74\n", "Hysaj: MV 6.02 ± 0.54; FV 6.03 + 0.59\n", "Biraghi: MV 5.97 ± 0.63; FV 5.98 + 0.65\n", "Medel: MV 5.97 ± 0.78; FV 5.95 + 0.72\n", "Bonucci: MV 6.21 ± 1.07; FV 6.87 + 2.39\n", "Calabria: MV 5.88 ± 0.98; FV 5.98 + 1.28\n", "Acerbi: MV 6.05 ± 0.82; FV 6.30 + 1.21\n", "Spinazzola: MV 5.99 ± 0.55; FV 6.01 + 0.59\n", "Lykogiannis: MV 5.93 ± 0.60; FV 5.93 + 0.64\n", "Pellegrini Lu.: MV 6.07 ± 0.64; FV 6.14 + 0.74\n", "Djidji: MV 5.84 ± 0.87; FV 5.90 + 1.02\n", "Lazaro: MV 5.95 ± 0.85; FV 6.04 + 1.02\n", "Augello: MV 5.80 ± 0.91; FV 5.99 + 1.29\n", "Gallo: MV 5.98 ± 0.62; FV 5.94 + 0.52\n", "Singo: MV 5.96 ± 0.68; FV 5.98 + 0.75\n", "Mari': MV 6.11 ± 0.82; FV 6.43 + 1.27\n", "Caldirola: MV 6.04 ± 0.62; FV 6.01 + 0.56\n", "Dodo': MV 5.64 ± 0.93; FV 5.62 + 0.87\n", "De Vrij: MV 5.82 ± 0.90; FV 5.88 + 1.07\n", "Patric: MV 6.08 ± 0.69; FV 6.12 + 0.69\n", "Faraoni: MV 5.82 ± 0.71; FV 5.84 + 0.89\n", "Ceccherini: MV 5.69 ± 0.96; FV 5.78 + 1.14\n", "Hateboer: MV 5.83 ± 1.00; FV 6.07 + 1.56\n", "Rogerio: MV 5.74 ± 0.86; FV 5.78 + 0.96\n", "Umtiti: MV 6.06 ± 0.82; FV 6.10 + 0.82\n", "Aina: MV 5.93 ± 0.84; FV 6.09 + 1.21\n", "Birindelli: MV 5.99 ± 0.57; FV 6.05 + 0.65\n", "Lucumi': MV 5.85 ± 0.85; FV 5.83 + 0.81\n", "Ehizibue: MV 5.88 ± 0.82; FV 6.01 + 1.12\n", "Bianchetti: MV 5.86 ± 0.76; FV 5.97 + 0.96\n", "Ferrari G.: MV 5.74 ± 1.08; FV 5.79 + 1.29\n", "Fazio: MV 5.70 ± 1.34; FV 5.64 + 1.44\n", "Gravillon: MV 5.95 ± 0.84; FV 6.01 + 0.96\n", "Buongiorno: MV 5.92 ± 0.73; FV 5.85 + 0.65\n", "Gunter: MV 5.75 ± 1.04; FV 5.91 + 1.36\n", "Troost-Ekong: MV 5.71 ± 1.23; FV 5.75 + 1.37\n", "Soumaoro: MV 5.76 ± 1.02; FV 5.75 + 1.02\n", "Ceccaroni: MV 6.01 ± 0.77; FV 6.05 + 0.78\n", "Pongracic: MV 5.98 ± 0.64; FV 5.98 + 0.56\n", "Soppy: MV 5.86 ± 0.72; FV 5.82 + 0.70\n", "Gendrey: MV 5.87 ± 0.59; FV 5.85 + 0.52\n", "Hien: MV 5.67 ± 0.81; FV 5.62 + 0.76\n", "Ferrari A.: MV 5.94 ± 0.81; FV 6.09 + 1.10\n", "Masina: MV 6.01 ± 0.81; FV 6.24 + 1.17\n", "Zappacosta: MV 6.01 ± 0.73; FV 6.18 + 0.94\n", "Gyomber: MV 5.70 ± 0.89; FV 5.68 + 0.84\n", "Alex Sandro: MV 5.73 ± 0.87; FV 5.67 + 0.80\n", "Pezzella Giu.: MV 5.93 ± 0.55; FV 5.94 + 0.52\n", "Bereszynski: MV 5.93 ± 0.54; FV 5.89 + 0.50\n", "Venuti: MV 5.69 ± 0.76; FV 5.67 + 0.70\n", "Palomino: MV 6.00 ± 0.89; FV 6.12 + 1.02\n", "Nuytinck: MV 5.89 ± 0.99; FV 5.96 + 1.10\n", "Marlon: MV 5.98 ± 0.49; FV 5.92 + 0.46\n", "Magnani: MV 5.61 ± 1.01; FV 5.54 + 0.96\n", "Colley: MV 5.77 ± 1.10; FV 5.93 + 1.46\n", "Nikolaou: MV 5.52 ± 0.94; FV 5.43 + 0.90\n", "Terzic: MV 5.98 ± 0.43; FV 5.95 + 0.46\n", "Igor: MV 5.65 ± 0.92; FV 5.57 + 0.81\n", "Toljan: MV 5.67 ± 0.77; FV 5.66 + 0.81\n", "Zortea: MV 5.92 ± 0.81; FV 6.06 + 1.19\n", "Dawidowicz: MV 5.60 ± 0.97; FV 5.61 + 1.03\n", "Celik: MV 5.87 ± 0.60; FV 5.83 + 0.55\n", "Bellanova: MV 5.94 ± 0.75; FV 6.02 + 0.96\n", "Erlic: MV 5.74 ± 0.96; FV 5.77 + 1.04\n", "Ballo-Toure': MV 6.01 ± 0.67; FV 6.17 + 0.97\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Dest: MV 5.67 ± 0.87; FV 5.75 + 0.98\n", "Stojanovic: MV 5.63 ± 0.78; FV 5.61 + 0.81\n", "Amian: MV 5.54 ± 0.85; FV 5.54 + 0.85\n", "Bradaric: MV 5.60 ± 0.82; FV 5.60 + 0.88\n", "Daniliuc: MV 5.66 ± 1.14; FV 5.66 + 1.25\n", "Zima: MV 5.89 ± 0.75; FV 5.85 + 0.67\n", "De Winter: MV 5.80 ± 0.79; FV 5.72 + 0.69\n", "Quagliata: MV 5.95 ± 0.54; FV 5.97 + 0.57\n", "Ebosse: MV 5.74 ± 0.70; FV 5.65 + 0.61\n", "Aiwu: MV 5.98 ± 0.72; FV 6.03 + 0.78\n", "Lochoshvili: MV 5.87 ± 0.62; FV 5.84 + 0.58\n", "Bronn: MV 5.77 ± 0.63; FV 5.71 + 0.58\n", "Thiaw: MV 5.71 ± 1.05; FV 5.77 + 1.22\n", "Zeefuik: MV 5.71 ± 0.86; FV 5.78 + 0.96\n", "Romagnoli S.: MV 6.14 ± 1.08; FV 6.76 + 2.16\n", "Ghiglione: MV 5.82 ± 0.77; FV 5.90 + 0.93\n", "Rugani: MV 6.00 ± 0.63; FV 5.98 + 0.56\n", "De Sciglio: MV 5.92 ± 0.57; FV 5.90 + 0.55\n", "Djimsiti: MV 5.93 ± 0.73; FV 5.90 + 0.68\n", "Caldara: MV 5.56 ± 1.07; FV 5.53 + 1.13\n", "Karsdorp: MV 5.95 ± 0.56; FV 5.91 + 0.53\n", "Marchizza: MV 5.79 ± 0.64; FV 5.71 + 0.68\n", "Kjaer: MV 5.89 ± 0.75; FV 5.85 + 0.85\n", "Okoli: MV 5.64 ± 0.87; FV 5.54 + 0.71\n", "Amione: MV 5.56 ± 0.86; FV 5.49 + 0.80\n", "Ruggeri: MV 5.92 ± 0.59; FV 5.84 + 0.53\n", "Zanoli: MV 5.94 ± 0.49; FV 5.91 + 0.47\n", "Wisniewski: MV 5.63 ± 0.97; FV 5.69 + 1.10\n", "Radovanovic: MV 5.49 ± 0.74; FV 5.30 + 0.62\n", "Dermaku: MV 5.98 ± 0.73; FV 6.04 + 0.73\n", "D'ambrosio: MV 6.07 ± 0.63; FV 6.15 + 0.77\n", "De Silvestri: MV 5.79 ± 0.87; FV 5.92 + 1.14\n", "Chiriches: MV 5.91 ± 0.72; FV 5.91 + 0.68\n", "Murru: MV 5.64 ± 0.84; FV 5.66 + 0.92\n", "Bonifazi: MV 5.75 ± 0.86; FV 5.70 + 0.76\n", "Donati: MV 6.08 ± 0.70; FV 6.13 + 0.73\n", "Walukiewicz: MV 5.64 ± 0.81; FV 5.59 + 0.75\n", "Ranieri L.: MV 5.71 ± 0.77; FV 5.73 + 0.86\n", "Gabbia: MV 5.51 ± 1.07; FV 5.41 + 1.06\n", "Kumbulla: MV 5.96 ± 0.48; FV 5.92 + 0.46\n", "Adopo: MV 5.89 ± 0.52; FV 5.82 + 0.49\n", "Pirola: MV 5.51 ± 0.91; FV 5.40 + 0.83\n", "Lovato: MV 5.54 ± 0.92; FV 5.46 + 0.82\n", "Tuia: MV 5.87 ± 0.76; FV 5.92 + 0.86\n", "Ferrer: MV 5.63 ± 1.04; FV 5.68 + 1.19\n", "Antov: MV 5.97 ± 0.73; FV 5.98 + 0.69\n", "Vasquez: MV 5.87 ± 0.63; FV 5.84 + 0.60\n", "Ruan: MV 5.43 ± 0.96; FV 5.17 + 0.83\n", "Ostigard: MV 6.06 ± 0.59; FV 6.07 + 0.61\n", "Coppola D.: MV 5.61 ± 0.78; FV 5.52 + 0.73\n", "Cacace: MV 5.68 ± 0.84; FV 5.61 + 0.78\n", "Gatti: MV 5.95 ± 0.70; FV 6.00 + 0.68\n", "Gila: MV 6.13 ± 0.78; FV 6.26 + 0.90\n", "Bayeye: MV 5.99 ± 0.87; FV 6.09 + 1.01\n", "Sambia: MV 5.79 ± 0.98; FV 5.85 + 1.07\n", "Moutinho J.: MV 5.51 ± 0.75; FV 5.48 + 0.73\n", "Conti: MV 5.89 ± 1.00; FV 6.22 + 1.64\n", "Marrone: MV 5.83 ± 0.71; FV 5.78 + 0.59\n", "Tonelli: MV 5.58 ± 0.83; FV 5.47 + 0.72\n", "Murillo: MV 5.57 ± 0.71; FV 5.44 + 0.60\n", "Radu: MV 6.08 ± 0.71; FV 6.15 + 0.72\n", "Paletta: MV 6.09 ± 0.72; FV 6.24 + 0.89\n", "Florenzi: MV 6.02 ± 0.72; FV 6.23 + 1.08\n", "Sala: MV 5.57 ± 0.75; FV 5.62 + 0.82\n", "Fares: MV 5.88 ± 0.65; FV 5.87 + 0.65\n", "Romagna: MV 5.87 ± 0.90; FV 5.94 + 1.12\n", "Cassandro: MV 5.98 ± 0.73; FV 6.05 + 0.75\n", "Muldur: MV 5.71 ± 0.77; FV 5.69 + 0.80\n", "Amey: MV 5.96 ± 0.86; FV 6.03 + 0.96\n", "Zanotti: MV 5.97 ± 0.91; FV 6.12 + 1.28\n", "Ebosele: MV 5.69 ± 0.76; FV 5.68 + 0.74\n", "Buta: MV 5.84 ± 0.90; FV 5.87 + 0.95\n", "Abankwah: MV 5.84 ± 0.90; FV 5.87 + 0.95\n", "Guessand A.: MV 5.84 ± 0.90; FV 5.87 + 0.95\n", "Cabal: MV 5.64 ± 0.91; FV 5.67 + 0.98\n", "Sosa: MV 5.71 ± 1.04; FV 5.76 + 1.13\n", "Guarino: MV 5.79 ± 0.86; FV 5.83 + 0.97\n", "Carboni F.: MV 6.03 ± 0.59; FV 6.07 + 0.63\n", "Zaccagni: MV 6.53 ± 1.34; FV 7.89 + 4.28\n", "Kvaratskhelia: MV 6.57 ± 1.39; FV 8.01 + 4.51\n", "Milinkovic-Savic: MV 6.46 ± 1.31; FV 7.71 + 4.03\n", "Barella: MV 6.31 ± 1.12; FV 7.02 + 2.56\n", "Zielinski: MV 6.43 ± 1.11; FV 7.14 + 2.44\n", "Luis Alberto: MV 6.45 ± 1.16; FV 7.44 + 3.20\n", "Strefezza: MV 6.44 ± 1.14; FV 7.20 + 2.59\n", "Felipe Anderson: MV 6.38 ± 1.29; FV 7.57 + 3.83\n", "Koopmeiners: MV 6.39 ± 1.31; FV 7.51 + 3.67\n", "Calhanoglu: MV 6.23 ± 0.97; FV 6.68 + 1.84\n", "Frattesi: MV 6.18 ± 1.27; FV 7.04 + 3.08\n", "Diaz B.: MV 6.17 ± 1.13; FV 6.95 + 2.65\n", "Vlasic: MV 6.17 ± 1.06; FV 6.77 + 2.21\n", "Zambo Anguissa: MV 6.40 ± 1.11; FV 7.15 + 2.52\n", "Elmas: MV 6.37 ± 1.08; FV 7.21 + 2.72\n", "Miranchuk: MV 6.26 ± 1.14; FV 7.15 + 2.93\n", "Samardzic: MV 6.17 ± 0.97; FV 6.87 + 2.26\n", "Pereyra: MV 6.16 ± 1.05; FV 6.84 + 2.34\n", "Politano: MV 6.29 ± 0.92; FV 6.89 + 1.98\n", "Rabiot: MV 6.23 ± 1.27; FV 7.12 + 3.17\n", "Ciurria: MV 6.42 ± 1.16; FV 7.33 + 2.96\n", "Lazovic: MV 5.97 ± 1.07; FV 6.39 + 1.80\n", "Lobotka: MV 6.24 ± 0.82; FV 6.76 + 1.66\n", "Radonjic: MV 6.13 ± 0.89; FV 6.47 + 1.53\n", "Ferguson: MV 6.14 ± 0.92; FV 6.67 + 1.89\n", "Bonaventura: MV 6.15 ± 1.02; FV 6.82 + 2.25\n", "Pessina: MV 6.27 ± 0.93; FV 6.76 + 1.71\n", "Tonali: MV 6.05 ± 1.01; FV 6.37 + 1.68\n", "Kostic: MV 6.17 ± 1.06; FV 6.89 + 2.49\n", "Baldanzi: MV 6.21 ± 1.03; FV 6.94 + 2.46\n", "Lovric: MV 6.10 ± 0.80; FV 6.48 + 1.47\n", "Pellegrini Lo.: MV 6.23 ± 1.18; FV 7.11 + 2.94\n", "El Shaarawy: MV 6.34 ± 1.08; FV 7.07 + 2.53\n", "Orsolini: MV 6.18 ± 1.30; FV 7.08 + 3.26\n", "Ikone': MV 5.99 ± 1.04; FV 6.39 + 1.75\n", "Candreva: MV 6.00 ± 0.95; FV 6.28 + 1.47\n", "Bennacer: MV 6.01 ± 0.71; FV 6.17 + 0.99\n", "Pasalic: MV 6.06 ± 1.19; FV 6.80 + 2.64\n", "Mkhitaryan: MV 6.05 ± 0.85; FV 6.37 + 1.42\n", "Colpani: MV 6.23 ± 0.87; FV 6.79 + 1.89\n", "Pogba: MV 5.98 ± 0.78; FV 6.10 + 0.95\n", "Chiesa: MV 6.24 ± 1.16; FV 7.04 + 2.80\n", "Bandinelli: MV 5.86 ± 0.89; FV 6.19 + 1.49\n", "Matic: MV 6.13 ± 0.72; FV 6.35 + 1.04\n", "Fagioli: MV 6.18 ± 1.11; FV 7.03 + 2.77\n", "Messias: MV 5.95 ± 0.98; FV 6.27 + 1.56\n", "Arslan: MV 5.96 ± 0.72; FV 6.13 + 0.97\n", "Ricci S.: MV 6.15 ± 0.82; FV 6.47 + 1.36\n", "Ranocchia F.: MV 6.24 ± 0.86; FV 6.74 + 1.69\n", "Verdi: MV 6.00 ± 0.74; FV 6.16 + 1.04\n", "Sensi: MV 6.26 ± 1.06; FV 7.04 + 2.48\n", "Barak: MV 5.83 ± 0.86; FV 6.02 + 1.25\n", "Soriano: MV 5.99 ± 0.64; FV 6.05 + 0.74\n", "Dominguez: MV 6.05 ± 0.80; FV 6.26 + 1.18\n", "Vilhena: MV 5.81 ± 0.95; FV 6.14 + 1.54\n", "Brozovic: MV 6.12 ± 0.84; FV 6.46 + 1.40\n", "Cristante: MV 5.95 ± 0.70; FV 6.03 + 0.80\n", "Thorstvedt: MV 5.89 ± 0.80; FV 6.00 + 1.12\n", "De Ketelaere: MV 5.86 ± 0.69; FV 5.89 + 0.85\n", "Saponara: MV 6.01 ± 1.02; FV 6.46 + 1.80\n", "Vecino: MV 6.02 ± 0.80; FV 6.18 + 1.09\n", "Locatelli: MV 6.06 ± 0.67; FV 6.13 + 0.77\n", "Zaniolo: MV 5.93 ± 0.92; FV 6.17 + 1.33\n", "Duda: MV 5.77 ± 0.82; FV 5.83 + 0.93\n", "Maldini: MV 5.90 ± 0.77; FV 6.10 + 1.16\n", "Marin: MV 5.79 ± 1.00; FV 6.04 + 1.59\n", "Zalewski: MV 6.01 ± 0.56; FV 6.06 + 0.63\n", "Bajrami: MV 5.86 ± 0.89; FV 6.09 + 1.38\n", "Coulibaly L.: MV 5.85 ± 1.03; FV 6.05 + 1.47\n", "Gonzalez J.: MV 6.06 ± 0.84; FV 6.28 + 1.14\n", "De Roon: MV 5.96 ± 0.63; FV 5.92 + 0.56\n", "Mandragora: MV 5.92 ± 0.81; FV 6.07 + 1.12\n", "Wijnaldum: MV 5.98 ± 0.65; FV 5.99 + 0.64\n", "Bourabia: MV 5.71 ± 0.79; FV 5.81 + 0.94\n", "Sottil: MV 6.07 ± 1.05; FV 6.61 + 2.02\n", "Aebischer: MV 5.92 ± 0.87; FV 6.32 + 1.58\n", "Ederson D.s.: MV 5.85 ± 0.84; FV 6.00 + 1.16\n", "Miretti: MV 5.97 ± 0.64; FV 6.02 + 0.76\n", "Blin: MV 6.00 ± 0.51; FV 5.98 + 0.52\n", "Hjulmand: MV 6.08 ± 0.82; FV 6.14 + 0.85\n", "Cataldi: MV 6.03 ± 0.57; FV 6.01 + 0.56\n", "Djuricic: MV 5.68 ± 0.98; FV 6.09 + 1.63\n", "Linetty: MV 5.92 ± 0.83; FV 6.13 + 1.31\n", "Haas: MV 5.83 ± 0.78; FV 6.10 + 1.32\n", "Walace: MV 5.90 ± 0.64; FV 5.86 + 0.59\n", "Agudelo: MV 5.82 ± 0.57; FV 5.77 + 0.61\n", "Pobega: MV 5.94 ± 0.81; FV 6.10 + 1.16\n", "Camara Ma.: MV 6.13 ± 0.68; FV 6.27 + 0.88\n", "Paredes: MV 5.83 ± 0.65; FV 5.78 + 0.60\n", "Ndombele': MV 5.97 ± 0.52; FV 5.99 + 0.54\n", "Nicolussi Caviglia: MV 5.99 ± 0.88; FV 6.19 + 1.19\n", "Rovella: MV 6.12 ± 0.74; FV 6.24 + 0.85\n", "Amrabat: MV 5.89 ± 0.88; FV 5.91 + 0.93\n", "Tameze: MV 5.77 ± 0.76; FV 5.76 + 0.88\n", "Gyasi: MV 5.71 ± 0.90; FV 5.92 + 1.26\n", "Ilic: MV 5.97 ± 0.80; FV 6.02 + 0.89\n", "Matheus Henrique: MV 5.89 ± 0.74; FV 5.97 + 1.01\n", "Harroui: MV 5.84 ± 0.69; FV 5.91 + 0.95\n", "Volpato: MV 6.22 ± 1.08; FV 7.02 + 2.57\n", "Pickel: MV 5.82 ± 0.72; FV 5.94 + 1.00\n", "Moro N.: MV 5.96 ± 0.58; FV 5.99 + 0.63\n", "Duncan: MV 5.88 ± 0.65; FV 5.89 + 0.76\n", "Machin: MV 6.07 ± 0.74; FV 6.21 + 0.90\n", "Cuadrado: MV 6.03 ± 0.89; FV 6.33 + 1.35\n", "Ekdal: MV 5.66 ± 0.62; FV 5.66 + 0.62\n", "Meite': MV 5.83 ± 0.85; FV 5.96 + 1.07\n", "Schouten: MV 5.93 ± 0.67; FV 5.90 + 0.63\n", "Obiang: MV 5.92 ± 0.54; FV 5.88 + 0.54\n", "Kovalenko: MV 5.89 ± 0.61; FV 5.88 + 0.71\n", "Crnigoj: MV 5.92 ± 0.81; FV 6.14 + 1.21\n", "Basic: MV 6.00 ± 0.54; FV 6.02 + 0.64\n", "Asllani: MV 5.98 ± 0.56; FV 5.97 + 0.62\n", "Sabiri: MV 5.71 ± 0.90; FV 5.96 + 1.37\n", "Terracciano F.: MV 5.96 ± 0.51; FV 5.98 + 0.59\n", "Castagnetti: MV 5.94 ± 0.50; FV 5.92 + 0.53\n", "Oudin: MV 5.90 ± 0.58; FV 5.93 + 0.59\n", "Grassi: MV 5.88 ± 0.58; FV 5.82 + 0.54\n", "Krunic: MV 5.90 ± 0.66; FV 5.94 + 0.83\n", "Rincon: MV 5.68 ± 0.84; FV 5.65 + 0.87\n", "Miguel Veloso: MV 5.87 ± 0.64; FV 5.82 + 0.67\n", "Leris: MV 5.70 ± 0.76; FV 5.74 + 0.97\n", "Esposito Sa.: MV 5.66 ± 1.06; FV 5.70 + 1.22\n", "Henderson L.: MV 5.81 ± 0.71; FV 5.92 + 0.97\n", "Lopez M.: MV 5.91 ± 0.72; FV 5.90 + 0.88\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Cuisance: MV 5.71 ± 0.71; FV 5.69 + 0.79\n", "Saelemaekers: MV 5.89 ± 0.65; FV 5.89 + 0.79\n", "Maggiore: MV 5.91 ± 0.57; FV 5.90 + 0.64\n", "Akpa Akpro: MV 5.80 ± 0.85; FV 5.84 + 1.02\n", "Maleh: MV 5.98 ± 0.66; FV 6.06 + 0.81\n", "Romero L.: MV 6.17 ± 1.15; FV 6.95 + 2.78\n", "Ceide: MV 5.93 ± 0.63; FV 5.94 + 0.66\n", "D'alessandro: MV 6.05 ± 0.52; FV 6.17 + 0.73\n", "Benassi: MV 5.86 ± 0.59; FV 5.87 + 0.70\n", "Gagliardini: MV 5.92 ± 0.48; FV 5.86 + 0.51\n", "Vieira: MV 5.64 ± 0.76; FV 5.67 + 0.92\n", "Bianco: MV 5.96 ± 0.70; FV 5.99 + 0.73\n", "Vranckx: MV 5.96 ± 0.74; FV 5.98 + 0.81\n", "Galdames: MV 5.96 ± 0.76; FV 6.02 + 0.83\n", "Marcos Antonio: MV 5.98 ± 0.45; FV 5.94 + 0.46\n", "Fazzini: MV 5.78 ± 0.57; FV 5.67 + 0.54\n", "Sulemana I.: MV 5.81 ± 0.57; FV 5.81 + 0.61\n", "Tahirovic: MV 5.99 ± 0.49; FV 5.99 + 0.52\n", "Abildgaard: MV 5.72 ± 0.83; FV 5.78 + 0.95\n", "Barberis: MV 5.93 ± 0.60; FV 5.92 + 0.57\n", "Kastanos: MV 5.87 ± 0.51; FV 5.79 + 0.51\n", "Vignato: MV 5.86 ± 0.57; FV 5.83 + 0.57\n", "Valoti: MV 5.96 ± 0.55; FV 5.96 + 0.53\n", "Winks: MV 5.81 ± 1.03; FV 5.94 + 1.29\n", "Askildsen: MV 5.71 ± 0.55; FV 5.71 + 0.56\n", "Bove: MV 6.02 ± 0.64; FV 6.03 + 0.64\n", "Bohinen: MV 5.80 ± 0.50; FV 5.71 + 0.48\n", "D'andrea: MV 5.99 ± 0.68; FV 6.13 + 0.94\n", "Iling-Junior: MV 6.00 ± 0.65; FV 6.01 + 0.68\n", "Cipot: MV 5.65 ± 0.91; FV 5.74 + 1.07\n", "Bakayoko: MV 5.66 ± 0.79; FV 5.56 + 0.76\n", "Gaetano: MV 6.06 ± 0.68; FV 6.15 + 0.79\n", "Zurkowski: MV 5.93 ± 0.85; FV 6.10 + 1.17\n", "Castrovilli: MV 6.03 ± 0.94; FV 6.45 + 1.65\n", "Demme: MV 6.15 ± 0.88; FV 6.71 + 1.87\n", "Darboe: MV 5.96 ± 0.68; FV 5.95 + 0.62\n", "Urbanski: MV 5.96 ± 0.79; FV 6.01 + 0.88\n", "Bertini: MV 6.04 ± 0.76; FV 6.12 + 0.88\n", "Yepes: MV 5.66 ± 0.90; FV 5.62 + 0.88\n", "Pyyhtia: MV 5.94 ± 0.97; FV 6.06 + 1.21\n", "Trimboli: MV 5.83 ± 0.96; FV 5.96 + 1.23\n", "Pafundi: MV 5.84 ± 0.90; FV 5.88 + 0.99\n", "Helgason: MV 5.76 ± 0.60; FV 5.75 + 0.57\n", "Adli: MV 5.76 ± 0.74; FV 5.76 + 0.88\n", "Vignato S.: MV 6.04 ± 0.58; FV 6.10 + 0.67\n", "Hrustic: MV 5.68 ± 0.60; FV 5.59 + 0.59\n", "Samek: MV 5.95 ± 0.74; FV 6.02 + 0.77\n", "Zerbin: MV 6.07 ± 0.69; FV 6.21 + 0.86\n", "Ilkhan: MV 5.78 ± 1.00; FV 5.86 + 1.17\n", "Degli Innocenti: MV 5.78 ± 0.92; FV 5.84 + 1.13\n", "Acella: MV 5.96 ± 0.76; FV 6.02 + 0.83\n", "Carboni V.: MV 5.98 ± 0.82; FV 6.13 + 1.13\n", "Paoletti: MV 5.99 ± 0.87; FV 6.05 + 0.92\n", "Malagrida: MV 5.88 ± 0.92; FV 5.98 + 1.14\n", "Faticanti: MV 5.95 ± 0.68; FV 5.96 + 0.68\n", "Osimhen: MV 6.55 ± 1.42; FV 8.32 + 5.48\n", "Martinez L.: MV 6.46 ± 1.41; FV 7.85 + 4.51\n", "Dybala: MV 6.54 ± 1.37; FV 8.00 + 4.54\n", "Rafael Leao: MV 6.37 ± 1.44; FV 7.70 + 4.50\n", "Lookman: MV 6.49 ± 1.41; FV 8.06 + 4.94\n", "Immobile: MV 6.50 ± 1.42; FV 8.00 + 4.85\n", "Vlahovic: MV 6.37 ± 1.48; FV 7.78 + 4.61\n", "Arnautovic: MV 6.33 ± 1.35; FV 7.59 + 4.02\n", "Dia: MV 6.23 ± 1.42; FV 7.56 + 4.18\n", "Dzeko: MV 6.34 ± 1.38; FV 7.55 + 3.97\n", "Milik: MV 6.41 ± 1.35; FV 7.71 + 4.21\n", "Nzola: MV 6.12 ± 1.31; FV 7.15 + 3.37\n", "Beto: MV 6.10 ± 1.20; FV 7.01 + 2.97\n", "Giroud: MV 6.17 ± 1.36; FV 7.13 + 3.42\n", "Abraham: MV 6.37 ± 1.37; FV 7.67 + 4.17\n", "Deulofeu: MV 6.34 ± 1.25; FV 7.42 + 3.56\n", "Lauriente': MV 6.29 ± 1.36; FV 7.40 + 3.81\n", "Simeone: MV 6.45 ± 1.39; FV 7.82 + 4.38\n", "Lozano: MV 6.37 ± 1.21; FV 7.46 + 3.41\n", "Correa: MV 6.17 ± 0.94; FV 6.76 + 2.16\n", "Berardi: MV 6.40 ± 1.43; FV 7.73 + 4.50\n", "Pedro: MV 6.29 ± 1.16; FV 7.22 + 3.10\n", "Lukaku: MV 6.03 ± 1.14; FV 6.63 + 2.29\n", "Sanabria: MV 6.12 ± 1.11; FV 6.86 + 2.57\n", "Thauvin: MV 6.40 ± 1.24; FV 7.60 + 3.79\n", "Cabral: MV 6.05 ± 1.11; FV 6.79 + 2.50\n", "Hojlund: MV 6.21 ± 1.32; FV 7.40 + 3.71\n", "Caprari: MV 6.32 ± 1.12; FV 7.31 + 3.08\n", "Di Maria: MV 6.43 ± 1.38; FV 7.73 + 4.31\n", "Piatek: MV 5.98 ± 1.24; FV 6.89 + 2.88\n", "Rebic: MV 6.09 ± 1.25; FV 6.91 + 2.88\n", "Bonazzoli: MV 6.00 ± 0.98; FV 6.44 + 1.80\n", "Zapata D.: MV 6.04 ± 1.15; FV 6.74 + 2.49\n", "Kouame': MV 6.06 ± 1.10; FV 6.67 + 2.25\n", "Gonzalez N.: MV 6.33 ± 1.26; FV 7.40 + 3.60\n", "Brekalo: MV 6.11 ± 1.11; FV 6.89 + 2.62\n", "Mota: MV 6.37 ± 1.29; FV 7.63 + 3.87\n", "Kean: MV 6.18 ± 1.32; FV 7.13 + 3.32\n", "Okereke: MV 6.07 ± 1.11; FV 6.75 + 2.44\n", "Ceesay: MV 6.10 ± 1.10; FV 6.83 + 2.46\n", "Colombo: MV 6.20 ± 1.30; FV 7.34 + 3.62\n", "Dessers: MV 6.08 ± 1.02; FV 6.63 + 2.08\n", "Muriel: MV 6.26 ± 1.35; FV 7.38 + 3.75\n", "Pinamonti: MV 5.80 ± 1.03; FV 6.19 + 1.70\n", "Di Francesco F.: MV 6.12 ± 1.10; FV 6.84 + 2.49\n", "Jovic: MV 5.84 ± 1.10; FV 6.39 + 2.05\n", "Origi: MV 5.91 ± 1.05; FV 6.31 + 1.74\n", "Caputo: MV 6.01 ± 1.13; FV 6.78 + 2.59\n", "Boga: MV 6.49 ± 1.27; FV 7.74 + 3.94\n", "Cambiaghi: MV 6.00 ± 0.89; FV 6.46 + 1.77\n", "Alvarez A.: MV 5.98 ± 1.03; FV 6.42 + 1.88\n", "Banda: MV 6.05 ± 0.73; FV 6.22 + 0.98\n", "Ciofani D.: MV 6.11 ± 1.06; FV 6.88 + 2.56\n", "Petagna: MV 6.10 ± 0.91; FV 6.45 + 1.56\n", "Barrow: MV 5.97 ± 1.13; FV 6.74 + 2.58\n", "Djuric: MV 5.92 ± 0.69; FV 6.04 + 1.02\n", "Henry: MV 5.74 ± 1.00; FV 6.11 + 1.61\n", "Success: MV 5.92 ± 0.66; FV 6.00 + 0.93\n", "Gabbiadini: MV 5.78 ± 1.04; FV 6.27 + 1.85\n", "Zirkzee: MV 6.00 ± 0.98; FV 6.54 + 2.02\n", "Lammers: MV 5.75 ± 0.90; FV 6.05 + 1.36\n", "Satriano: MV 5.78 ± 0.88; FV 6.05 + 1.34\n", "Kallon: MV 5.81 ± 0.91; FV 6.13 + 1.44\n", "Nestorovski: MV 6.07 ± 0.84; FV 6.50 + 1.73\n", "Raspadori: MV 6.17 ± 1.02; FV 6.92 + 2.52\n", "Botheim: MV 5.83 ± 0.96; FV 6.23 + 1.62\n", "Gytkjaer: MV 6.03 ± 0.82; FV 6.33 + 1.50\n", "Solbakken: MV 6.04 ± 0.74; FV 6.16 + 0.86\n", "Lasagna: MV 5.72 ± 0.86; FV 5.91 + 1.18\n", "Belotti: MV 5.72 ± 0.57; FV 5.78 + 0.62\n", "Pellegri: MV 5.85 ± 0.83; FV 6.18 + 1.44\n", "Buonaiuto: MV 6.00 ± 0.72; FV 6.13 + 0.95\n", "Verde: MV 5.90 ± 0.93; FV 6.29 + 1.62\n", "Destro: MV 5.86 ± 1.16; FV 6.68 + 2.60\n", "Seck: MV 6.04 ± 0.60; FV 6.12 + 0.76\n", "Sansone: MV 5.90 ± 0.92; FV 6.27 + 1.58\n", "Quagliarella: MV 5.80 ± 0.80; FV 6.03 + 1.25\n", "Defrel: MV 5.75 ± 0.92; FV 6.06 + 1.44\n", "Pjaca: MV 5.77 ± 0.84; FV 6.00 + 1.22\n", "Gaich: MV 5.70 ± 1.02; FV 6.06 + 1.56\n", "Soule': MV 6.12 ± 0.64; FV 6.28 + 0.91\n", "Tsadjout: MV 5.94 ± 0.89; FV 6.23 + 1.45\n", "Piccoli: MV 5.77 ± 0.56; FV 5.81 + 0.71\n", "Shomurodov: MV 5.90 ± 0.88; FV 6.24 + 1.52\n", "Afena-Gyan: MV 5.69 ± 0.63; FV 5.75 + 0.73\n", "Ngonge: MV 5.71 ± 0.78; FV 5.76 + 0.94\n", "Karamoh: MV 5.90 ± 0.63; FV 5.93 + 0.76\n", "Ibrahimovic: MV 6.29 ± 1.29; FV 7.43 + 3.64\n", "Pussetto: MV 5.84 ± 1.02; FV 6.23 + 1.67\n", "Cancellieri: MV 5.88 ± 0.49; FV 5.85 + 0.53\n", "Valencia D.: MV 5.76 ± 0.54; FV 5.81 + 0.74\n", "Oddei: MV 5.89 ± 0.77; FV 5.93 + 0.97\n", "Braaf: MV 5.73 ± 0.87; FV 5.89 + 1.22\n", "Raimondo: MV 5.94 ± 0.82; FV 6.04 + 1.04\n", "Kaio Jorge: MV 5.89 ± 0.56; FV 5.90 + 0.63\n", "De Luca: MV 5.79 ± 0.98; FV 5.98 + 1.39\n", "Voelkerling Persson: MV 6.02 ± 0.68; FV 6.11 + 0.74\n", "Montevago: MV 5.75 ± 0.86; FV 5.85 + 1.01\n", "Krollis: MV 5.66 ± 0.89; FV 5.75 + 1.10\n", "Vivaldo: MV 5.81 ± 0.89; FV 5.88 + 1.10\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
MussoPAtalantaSassuolo01.00906.1595220.5135305.4355090.7497796.0010040.5075200.2251471.9976616.0665960.930667-0.4778681.27494448.299336
Rossi F.PAtalantaSassuolo00.0016.1595220.5135305.4355090.7497796.0010040.5075200.2251471.9976616.0665960.930667-0.4778681.27494448.299336
SportielloPAtalantaSassuolo00.0056.1925940.5983835.2670330.8092536.0086200.5925940.2238811.9970886.0009030.964290-0.5332131.20367735.746831
MaehleDAtalantaSassuolo00.60606.0361490.4540526.5292330.8794705.9138920.4906010.1837311.3021405.7517550.9989000.4959661.9876210.000000
ScalviniDAtalantaSassuolo01.00806.0748100.5103376.4245730.8158336.0687520.6101800.0073561.1214245.7999321.1268800.3770481.9858340.000000
............................................................
GaichAVeronaLazio10.00555.7003660.5093586.0641530.7806975.5626660.5518690.1838311.2244875.3732900.8850840.4969781.9887420.000000
DjuricAVeronaLazio11.00905.9228610.3454856.0412020.5110325.8834410.4100560.0716411.4731375.6725560.7456760.3416211.9904540.000000
LasagnaAVeronaLazio10.55555.7193000.4317795.9095420.5889175.6477610.4948320.1073261.3401545.4402510.7796720.4038371.9899950.000000
BraafAVeronaLazio10.45555.7346900.4333565.8905730.6117145.6995660.5157000.0506701.3123365.4674430.9212820.3203191.9881600.000000
NgongeAVeronaLazio10.00355.7134280.3901865.7593440.4712125.7245240.487887-0.0169521.3759015.5421240.8494120.1863451.9889710.000000
\n", "

543 rows × 19 columns

\n", "
" ], "text/plain": [ " role team oppteam home starter vote% MV MV std \\\n", "player \n", "Musso P Atalanta Sassuolo 0 1.00 90 6.159522 0.513530 \n", "Rossi F. P Atalanta Sassuolo 0 0.00 1 6.159522 0.513530 \n", "Sportiello P Atalanta Sassuolo 0 0.00 5 6.192594 0.598383 \n", "Maehle D Atalanta Sassuolo 0 0.60 60 6.036149 0.454052 \n", "Scalvini D Atalanta Sassuolo 0 1.00 80 6.074810 0.510337 \n", "... ... ... ... ... ... ... ... ... \n", "Gaich A Verona Lazio 1 0.00 55 5.700366 0.509358 \n", "Djuric A Verona Lazio 1 1.00 90 5.922861 0.345485 \n", "Lasagna A Verona Lazio 1 0.55 55 5.719300 0.431779 \n", "Braaf A Verona Lazio 1 0.45 55 5.734690 0.433356 \n", "Ngonge A Verona Lazio 1 0.00 35 5.713428 0.390186 \n", "\n", " FV FV std MV loc MV scale MV skewness \\\n", "player \n", "Musso 5.435509 0.749779 6.001004 0.507520 0.225147 \n", "Rossi F. 5.435509 0.749779 6.001004 0.507520 0.225147 \n", "Sportiello 5.267033 0.809253 6.008620 0.592594 0.223881 \n", "Maehle 6.529233 0.879470 5.913892 0.490601 0.183731 \n", "Scalvini 6.424573 0.815833 6.068752 0.610180 0.007356 \n", "... ... ... ... ... ... \n", "Gaich 6.064153 0.780697 5.562666 0.551869 0.183831 \n", "Djuric 6.041202 0.511032 5.883441 0.410056 0.071641 \n", "Lasagna 5.909542 0.588917 5.647761 0.494832 0.107326 \n", "Braaf 5.890573 0.611714 5.699566 0.515700 0.050670 \n", "Ngonge 5.759344 0.471212 5.724524 0.487887 -0.016952 \n", "\n", " MV tailweight FV loc FV scale FV skewness FV tailweight \\\n", "player \n", "Musso 1.997661 6.066596 0.930667 -0.477868 1.274944 \n", "Rossi F. 1.997661 6.066596 0.930667 -0.477868 1.274944 \n", "Sportiello 1.997088 6.000903 0.964290 -0.533213 1.203677 \n", "Maehle 1.302140 5.751755 0.998900 0.495966 1.987621 \n", "Scalvini 1.121424 5.799932 1.126880 0.377048 1.985834 \n", "... ... ... ... ... ... \n", "Gaich 1.224487 5.373290 0.885084 0.496978 1.988742 \n", "Djuric 1.473137 5.672556 0.745676 0.341621 1.990454 \n", "Lasagna 1.340154 5.440251 0.779672 0.403837 1.989995 \n", "Braaf 1.312336 5.467443 0.921282 0.320319 1.988160 \n", "Ngonge 1.375901 5.542124 0.849412 0.186345 1.988971 \n", "\n", " Clean Sheet % \n", "player \n", "Musso 48.299336 \n", "Rossi F. 48.299336 \n", "Sportiello 35.746831 \n", "Maehle 0.000000 \n", "Scalvini 0.000000 \n", "... ... \n", "Gaich 0.000000 \n", "Djuric 0.000000 \n", "Lasagna 0.000000 \n", "Braaf 0.000000 \n", "Ngonge 0.000000 \n", "\n", "[543 rows x 19 columns]" ] }, "execution_count": 92, "metadata": {}, "output_type": "execute_result" } ], "source": [ "matchday_out = 21\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": 94, "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": 95, "id": "2b637a15", "metadata": {}, "outputs": [], "source": [ "gk_starters = ['Maignan', 'Ochoa', 'Silvestri', 'Consigli', 'Provedel', 'Di Gregorio', 'Meret', 'Milinkovic-Savic V.',\n", " 'Terracciano', 'Onana', 'Szczesny', 'Skorupski', 'Vicario', 'Musso', 'Carnesecchi', 'Rui Patricio',\n", " 'Montipo\\'', 'Falcone', 'Dragowski', 'Audero']" ] }, { "cell_type": "code", "execution_count": 96, "id": "60d73507", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Meret (6.14, 0.51); (5.45, 0.73)\n", "Provedel (6.24, 0.59); (5.60, 0.75)\n", "Vicario (6.50, 0.53); (6.02, 0.65)\n", "Szczesny (6.09, 0.21); (5.81, 0.48)\n", "Falcone (6.25, 0.34); (5.20, 0.41)\n", "Silvestri (6.26, 0.63); (5.35, 0.82)\n", "Rui Patricio (6.10, 0.28); (5.66, 0.52)\n", "Onana (6.21, 0.38); (4.89, 0.74)\n", "Sepe (6.49, 0.50); (5.06, 0.83)\n", "Milinkovic-Savic V. (6.02, 0.09); (4.88, 0.47)\n", "Musso (6.25, 0.51); (5.84, 0.63)\n", "Maignan (6.18, 0.52); (5.54, 0.72)\n", "Carnesecchi (6.54, 0.53); (5.29, 0.83)\n", "Di Gregorio (6.21, 0.41); (5.25, 0.52)\n", "Audero (6.19, 0.22); (4.45, 0.44)\n", "Montipo' (6.24, 0.47); (4.63, 0.55)\n", "Skorupski (6.20, 0.43); (4.67, 0.60)\n", "Consigli (6.28, 0.23); (4.77, 0.46)\n", "Dragowski (6.06, 0.17); (4.01, 0.53)\n", "Terracciano (5.80, 0.14); (3.78, 0.75)\n", "Tatarusanu (5.98, 0.16); (3.78, 0.61)\n", "Handanovic (6.06, 0.33); (4.48, 0.80)\n", "Sportiello (6.25, 0.65); (5.45, 0.79)\n", "Perin (6.26, 0.63); (5.55, 0.79)\n", "Zoet (6.50, 0.60); (5.88, 0.64)\n", "Ochoa (6.43, 0.54); (4.83, 0.95)\n", "Pegolo (6.36, 0.42); (5.26, 0.53)\n", "Gollini (6.18, 0.53); (5.55, 0.72)\n", "Mirante (6.18, 0.52); (5.54, 0.72)\n", "Sarr M. (6.54, 0.53); (5.29, 0.83)\n", "Lamanna (6.21, 0.41); (5.25, 0.52)\n", "Ujkani (6.50, 0.53); (6.02, 0.65)\n", "Berisha (6.02, 0.09); (4.88, 0.47)\n", "Marchetti (6.06, 0.17); (4.01, 0.53)\n", "Perilli (6.24, 0.47); (4.63, 0.55)\n", "Padelli (6.26, 0.63); (5.35, 0.82)\n", "Perisan (6.50, 0.53); (6.02, 0.65)\n", "Bardi (6.20, 0.43); (4.67, 0.60)\n", "Cordaz (6.21, 0.38); (4.89, 0.74)\n", "Pinsoglio (6.09, 0.21); (5.81, 0.48)\n", "Fiorillo (6.49, 0.50); (5.06, 0.83)\n", "Cragno (6.21, 0.41); (5.25, 0.52)\n", "Sirigu (5.80, 0.14); (3.78, 0.75)\n", "Cerofolini (5.80, 0.14); (3.78, 0.75)\n", "Rossi F. (6.25, 0.51); (5.84, 0.63)\n", "Ravaglia F. (6.20, 0.43); (4.67, 0.60)\n", "Brancolini (6.25, 0.34); (5.20, 0.41)\n", "Bleve (6.25, 0.34); (5.20, 0.41)\n", "Berardi A. (6.24, 0.47); (4.63, 0.55)\n", "Russo A. (6.28, 0.23); (4.77, 0.46)\n", "Gemello (6.02, 0.09); (4.88, 0.47)\n", "Ravaglia (6.19, 0.22); (4.45, 0.44)\n", "Boer (6.10, 0.28); (5.66, 0.52)\n", "Adamonis (6.24, 0.59); (5.60, 0.75)\n", "Marfella (6.14, 0.51); (5.45, 0.73)\n", "Zovko (6.12, 0.26); (4.28, 0.60)\n", "Piana (6.26, 0.63); (5.35, 0.82)\n", "Bagnolini (6.20, 0.43); (4.67, 0.60)\n", "Luis Maximiano (6.12, 0.50); (5.37, 0.78)\n", "Svilar (6.10, 0.28); (5.66, 0.52)\n", "Sorrentino A. (6.21, 0.41); (5.25, 0.52)\n", "Ciezkowski (6.54, 0.53); (5.29, 0.83)\n", "Saro (6.54, 0.53); (5.29, 0.83)\n", "Vasquez D. (6.20, 0.55); (5.54, 0.74)\n", "Turk (6.19, 0.22); (4.45, 0.44)\n", "Dimarco (6.22, 0.50); (7.02, 1.25)\n", "Smalling (6.15, 0.47); (6.55, 0.81)\n", "Doig (6.20, 0.59); (7.08, 1.45)\n", "Carlos Augusto (6.08, 0.57); (6.65, 1.15)\n", "Kim (6.21, 0.45); (6.64, 0.74)\n", "Posch (6.11, 0.52); (6.51, 0.93)\n", "Di Lorenzo (6.15, 0.36); (6.48, 0.61)\n", "Danilo (6.20, 0.47); (6.57, 0.77)\n", "Hernandez T. (6.06, 0.53); (6.33, 0.83)\n", "Udogie (6.11, 0.54); (6.71, 1.14)\n", "Parisi (6.17, 0.45); (6.64, 0.85)\n", "Mario Rui (6.17, 0.39); (6.45, 0.59)\n", "Romagnoli (6.16, 0.45); (6.36, 0.56)\n", "Bastoni S. (6.09, 0.50); (6.66, 1.05)\n", "Mazzocchi (6.07, 0.49); (6.55, 0.89)\n", "Valeri (6.03, 0.36); (6.27, 0.58)\n", "Tomori (6.04, 0.43); (6.28, 0.60)\n", "Scalvini (6.08, 0.49); (6.41, 0.81)\n", "Toloi (6.13, 0.43); (6.39, 0.62)\n", "Demiral (6.04, 0.43); (6.29, 0.65)\n", "Maehle (6.05, 0.43); (6.48, 0.82)\n", "Dumfries (6.02, 0.53); (6.60, 1.08)\n", "Baschirotto (6.12, 0.50); (6.53, 0.87)\n", "Bijol (5.95, 0.53); (6.17, 0.75)\n", "Schuurs (6.13, 0.36); (6.21, 0.41)\n", "Juan Jesus (6.15, 0.35); (6.50, 0.62)\n", "Depaoli (5.89, 0.49); (6.26, 0.83)\n", "Mancini (6.07, 0.33); (6.07, 0.32)\n", "Ibanez (6.00, 0.47); (6.22, 0.66)\n", "Rodrigo Becao (6.09, 0.44); (6.33, 0.61)\n", "Ebuehi (6.08, 0.39); (6.37, 0.61)\n", "Gosens (5.99, 0.36); (6.23, 0.62)\n", "Darmian (6.07, 0.39); (6.40, 0.65)\n", "Reca (5.97, 0.48); (6.25, 0.73)\n", "Bremer (6.01, 0.50); (6.23, 0.69)\n", "Sernicola (5.89, 0.40); (6.10, 0.61)\n", "Rrahmani (6.20, 0.45); (6.56, 0.69)\n", "Vojvoda (5.96, 0.40); (6.10, 0.51)\n", "Holm (5.90, 0.43); (6.12, 0.62)\n", "Bastoni (6.04, 0.41); (6.23, 0.55)\n", "Milenkovic (5.87, 0.53); (6.00, 0.71)\n", "Kalulu (5.84, 0.54); (5.93, 0.69)\n", "Martinez Quarta (6.03, 0.49); (6.25, 0.68)\n", "Casale (6.05, 0.42); (6.22, 0.52)\n", "Perez N. (6.07, 0.44); (6.35, 0.62)\n", "Olivera (6.07, 0.31); (6.35, 0.53)\n", "Izzo (6.05, 0.33); (6.03, 0.32)\n", "Luperto (5.98, 0.50); (6.12, 0.64)\n", "Skriniar (5.90, 0.38); (5.85, 0.37)\n", "Rodriguez R. (5.97, 0.37); (5.97, 0.34)\n", "Marusic (6.00, 0.35); (6.01, 0.33)\n", "Lazzari (6.05, 0.37); (6.09, 0.37)\n", "Kyriakopoulos (5.95, 0.42); (6.10, 0.58)\n", "Ampadu (5.84, 0.46); (5.84, 0.49)\n", "Ismajli (6.07, 0.38); (6.11, 0.37)\n", "Llorente D. (5.87, 0.52); (6.05, 0.72)\n", "Cambiaso (5.94, 0.35); (5.93, 0.35)\n", "Hysaj (5.98, 0.26); (5.95, 0.26)\n", "Biraghi (5.95, 0.33); (5.96, 0.35)\n", "Medel (5.96, 0.36); (5.93, 0.33)\n", "Bonucci (6.13, 0.50); (6.55, 0.89)\n", "Calabria (5.94, 0.48); (6.13, 0.68)\n", "Acerbi (6.05, 0.36); (6.16, 0.43)\n", "Spinazzola (5.96, 0.29); (5.98, 0.31)\n", "Lykogiannis (5.94, 0.30); (5.96, 0.33)\n", "Pellegrini Lu. (6.02, 0.31); (6.01, 0.30)\n", "Djidji (5.83, 0.44); (5.92, 0.54)\n", "Lazaro (5.95, 0.42); (6.04, 0.50)\n", "Augello (5.79, 0.46); (6.00, 0.67)\n", "Gallo (5.96, 0.35); (5.93, 0.32)\n", "Singo (5.96, 0.35); (6.00, 0.39)\n", "Mari' (5.78, 0.56); (5.88, 0.71)\n", "Caldirola (5.84, 0.42); (5.82, 0.40)\n", "Dodo' (5.69, 0.47); (5.69, 0.48)\n", "De Vrij (5.86, 0.38); (5.89, 0.41)\n", "Patric (6.06, 0.39); (6.19, 0.43)\n", "Faraoni (5.95, 0.44); (6.29, 0.77)\n", "Ceccherini (5.81, 0.51); (6.00, 0.71)\n", "Hateboer (5.85, 0.50); (6.15, 0.83)\n", "Rogerio (5.75, 0.43); (5.76, 0.44)\n", "Umtiti (6.01, 0.48); (6.13, 0.55)\n", "Aina (5.94, 0.46); (6.18, 0.68)\n", "Birindelli (5.81, 0.33); (5.79, 0.35)\n", "Lucumi' (5.84, 0.40); (5.82, 0.38)\n", "Ehizibue (5.91, 0.39); (6.03, 0.56)\n", "Bianchetti (5.67, 0.44); (5.78, 0.55)\n", "Ferrari G. (5.75, 0.55); (5.85, 0.69)\n", "Fazio (5.72, 0.65); (5.72, 0.73)\n", "Gravillon (5.92, 0.43); (6.00, 0.49)\n", "Buongiorno (5.89, 0.39); (5.83, 0.33)\n", "Gunter (5.74, 0.49); (5.87, 0.63)\n", "Troost-Ekong (5.73, 0.59); (5.81, 0.68)\n", "Soumaoro (5.78, 0.49); (5.78, 0.50)\n", "Ceccaroni (5.97, 0.50); (6.10, 0.61)\n", "Pongracic (5.98, 0.39); (5.97, 0.34)\n", "Soppy (5.89, 0.35); (5.88, 0.38)\n", "Gendrey (5.82, 0.32); (5.77, 0.28)\n", "Hien (5.76, 0.41); (5.69, 0.38)\n", "Ferrari A. (5.74, 0.53); (5.88, 0.68)\n", "Masina (6.06, 0.42); (6.35, 0.66)\n", "Zappacosta (6.04, 0.38); (6.29, 0.56)\n", "Gyomber (5.73, 0.47); (5.72, 0.46)\n", "Alex Sandro (5.67, 0.47); (5.61, 0.42)\n", "Pezzella Giu. (5.90, 0.28); (5.85, 0.26)\n", "Bereszynski (5.90, 0.28); (5.83, 0.27)\n", "Venuti (5.76, 0.36); (5.74, 0.36)\n", "Palomino (6.02, 0.44); (6.19, 0.55)\n", "Nuytinck (5.93, 0.46); (5.99, 0.50)\n", "Marlon (5.74, 0.33); (5.67, 0.29)\n", "Magnani (5.74, 0.47); (5.68, 0.46)\n", "Colley (5.76, 0.52); (5.92, 0.69)\n", "Nikolaou (5.70, 0.40); (5.64, 0.35)\n", "Terzic (5.97, 0.22); (5.94, 0.23)\n", "Igor (5.69, 0.46); (5.62, 0.43)\n", "Toljan (5.69, 0.38); (5.65, 0.37)\n", "Zortea (5.91, 0.46); (6.21, 0.74)\n", "Dawidowicz (5.68, 0.54); (5.74, 0.62)\n", "Celik (5.80, 0.38); (5.72, 0.35)\n", "Bellanova (5.92, 0.35); (5.94, 0.40)\n", "Erlic (5.80, 0.46); (5.81, 0.47)\n", "Ballo-Toure' (6.09, 0.37); (6.44, 0.65)\n", "Dest (5.80, 0.39); (5.81, 0.42)\n", "Stojanovic (5.66, 0.41); (5.63, 0.41)\n", "Amian (5.66, 0.41); (5.62, 0.41)\n", "Bradaric (5.64, 0.43); (5.68, 0.48)\n", "Daniliuc (5.70, 0.56); (5.75, 0.64)\n", "Zima (5.86, 0.40); (5.84, 0.35)\n", "De Winter (5.89, 0.39); (5.83, 0.34)\n", "Quagliata (5.90, 0.27); (5.91, 0.29)\n", "Ebosse (5.77, 0.35); (5.67, 0.30)\n", "Aiwu (5.85, 0.45); (5.95, 0.55)\n", "Lochoshvili (5.69, 0.40); (5.63, 0.39)\n", "Bronn (5.78, 0.35); (5.71, 0.32)\n", "Thiaw (5.85, 0.46); (5.88, 0.52)\n", "Zeefuik (5.88, 0.43); (5.95, 0.51)\n", "Romagnoli S. (6.00, 0.53); (6.31, 0.85)\n", "Ghiglione (5.72, 0.40); (5.74, 0.49)\n", "Rugani (5.97, 0.31); (5.92, 0.27)\n", "De Sciglio (5.89, 0.28); (5.83, 0.27)\n", "Djimsiti (5.96, 0.35); (5.95, 0.35)\n", "Caldara (5.68, 0.48); (5.67, 0.48)\n", "Karsdorp (5.90, 0.34); (5.88, 0.34)\n", "Marchizza (5.77, 0.32); (5.70, 0.32)\n", "Kjaer (5.96, 0.34); (5.92, 0.33)\n", "Okoli (5.66, 0.43); (5.56, 0.37)\n", "Amione (5.55, 0.40); (5.47, 0.37)\n", "Ruggeri (5.94, 0.28); (5.88, 0.27)\n", "Zanoli (5.94, 0.24); (5.92, 0.23)\n", "Wisniewski (5.81, 0.44); (5.89, 0.52)\n", "Radovanovic (5.52, 0.38); (5.35, 0.32)\n", "Dermaku (5.96, 0.44); (6.06, 0.50)\n", "D'ambrosio (6.06, 0.29); (6.09, 0.32)\n", "De Silvestri (5.78, 0.43); (5.91, 0.58)\n", "Chiriches (5.70, 0.48); (5.68, 0.46)\n", "Murru (5.63, 0.40); (5.63, 0.44)\n", "Bonifazi (5.74, 0.40); (5.67, 0.35)\n", "Donati (5.84, 0.48); (5.87, 0.52)\n", "Walukiewicz (5.70, 0.41); (5.65, 0.36)\n", "Ranieri L. (5.77, 0.37); (5.79, 0.45)\n", "Gabbia (5.58, 0.48); (5.53, 0.44)\n", "Kumbulla (5.92, 0.28); (5.87, 0.25)\n", "Adopo (5.88, 0.26); (5.83, 0.24)\n", "Pirola (5.54, 0.48); (5.47, 0.44)\n", "Lovato (5.58, 0.48); (5.53, 0.43)\n", "Tuia (5.78, 0.43); (5.86, 0.51)\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Ferrer (5.82, 0.47); (5.86, 0.51)\n", "Antov (5.72, 0.49); (5.73, 0.50)\n", "Vasquez (5.68, 0.42); (5.63, 0.42)\n", "Ruan (5.47, 0.47); (5.27, 0.38)\n", "Ostigard (6.03, 0.30); (6.03, 0.31)\n", "Coppola D. (5.70, 0.39); (5.61, 0.36)\n", "Cacace (5.71, 0.43); (5.65, 0.38)\n", "Gatti (5.92, 0.37); (5.93, 0.36)\n", "Gila (6.10, 0.42); (6.25, 0.48)\n", "Bayeye (5.98, 0.44); (6.09, 0.51)\n", "Sambia (5.82, 0.50); (5.89, 0.58)\n", "Moutinho J. (5.63, 0.37); (5.55, 0.36)\n", "Conti (5.92, 0.50); (6.26, 0.82)\n", "Marrone (5.57, 0.46); (5.50, 0.40)\n", "Tonelli (5.60, 0.43); (5.51, 0.36)\n", "Murillo (5.60, 0.33); (5.48, 0.28)\n", "Radu (6.07, 0.38); (6.23, 0.44)\n", "Paletta (5.84, 0.45); (5.89, 0.51)\n", "Florenzi (6.07, 0.33); (6.22, 0.45)\n", "Sala (5.69, 0.36); (5.69, 0.39)\n", "Fares (5.81, 0.33); (5.77, 0.33)\n", "Romagna (5.87, 0.45); (5.92, 0.51)\n", "Cassandro (5.95, 0.42); (6.03, 0.47)\n", "Muldur (5.76, 0.38); (5.71, 0.36)\n", "Amey (5.98, 0.41); (6.07, 0.48)\n", "Zanotti (5.95, 0.42); (6.05, 0.53)\n", "Ebosele (5.71, 0.38); (5.68, 0.37)\n", "Buta (5.94, 0.44); (6.02, 0.52)\n", "Abankwah (5.94, 0.44); (6.02, 0.52)\n", "Guessand A. (5.94, 0.44); (6.02, 0.52)\n", "Cabal (5.75, 0.48); (5.81, 0.55)\n", "Sosa (5.67, 0.48); (5.70, 0.51)\n", "Guarino (5.89, 0.44); (5.95, 0.49)\n", "Carboni F. (5.85, 0.35); (5.83, 0.36)\n", "Zaccagni (6.51, 0.67); (7.87, 2.15)\n", "Kvaratskhelia (6.55, 0.69); (8.09, 2.39)\n", "Milinkovic-Savic (6.43, 0.65); (7.49, 1.84)\n", "Barella (6.35, 0.60); (7.44, 1.72)\n", "Zielinski (6.39, 0.54); (7.13, 1.25)\n", "Luis Alberto (6.41, 0.57); (7.40, 1.58)\n", "Strefezza (6.36, 0.53); (7.12, 1.28)\n", "Felipe Anderson (6.33, 0.64); (7.43, 1.81)\n", "Koopmeiners (6.40, 0.65); (7.54, 1.86)\n", "Calhanoglu (6.29, 0.51); (7.01, 1.19)\n", "Frattesi (6.22, 0.65); (7.18, 1.66)\n", "Diaz B. (6.25, 0.60); (7.23, 1.57)\n", "Vlasic (6.18, 0.55); (6.89, 1.23)\n", "Zambo Anguissa (6.33, 0.54); (7.04, 1.20)\n", "Elmas (6.29, 0.53); (7.11, 1.33)\n", "Miranchuk (6.26, 0.58); (7.23, 1.55)\n", "Samardzic (6.25, 0.53); (7.09, 1.35)\n", "Pereyra (6.24, 0.56); (7.02, 1.34)\n", "Politano (6.24, 0.44); (6.74, 0.91)\n", "Rabiot (6.15, 0.59); (6.91, 1.36)\n", "Ciurria (6.17, 0.59); (7.06, 1.47)\n", "Lazovic (6.09, 0.54); (6.76, 1.14)\n", "Lobotka (6.17, 0.37); (6.58, 0.68)\n", "Radonjic (6.15, 0.47); (6.51, 0.78)\n", "Ferguson (6.19, 0.48); (6.74, 1.00)\n", "Bonaventura (6.12, 0.51); (6.74, 1.06)\n", "Pessina (6.05, 0.48); (6.49, 0.85)\n", "Tonali (6.14, 0.58); (6.84, 1.29)\n", "Kostic (6.09, 0.49); (6.65, 1.01)\n", "Baldanzi (6.32, 0.55); (7.29, 1.53)\n", "Lovric (6.14, 0.40); (6.57, 0.79)\n", "Pellegrini Lo. (6.12, 0.57); (6.87, 1.32)\n", "El Shaarawy (6.26, 0.53); (7.07, 1.34)\n", "Orsolini (6.22, 0.66); (7.19, 1.73)\n", "Ikone' (5.98, 0.53); (6.42, 0.91)\n", "Candreva (6.00, 0.52); (6.41, 0.91)\n", "Bennacer (6.08, 0.36); (6.37, 0.58)\n", "Pasalic (6.06, 0.55); (6.72, 1.18)\n", "Mkhitaryan (6.05, 0.45); (6.52, 0.88)\n", "Colpani (6.03, 0.42); (6.43, 0.81)\n", "Pogba (5.94, 0.42); (6.02, 0.48)\n", "Chiesa (6.17, 0.54); (6.78, 1.15)\n", "Bandinelli (5.94, 0.45); (6.32, 0.79)\n", "Matic (6.11, 0.38); (6.41, 0.60)\n", "Fagioli (6.09, 0.52); (6.77, 1.16)\n", "Messias (6.00, 0.53); (6.52, 1.00)\n", "Arslan (5.99, 0.34); (6.16, 0.50)\n", "Ricci S. (6.16, 0.43); (6.60, 0.80)\n", "Ranocchia F. (6.08, 0.44); (6.54, 0.86)\n", "Verdi (6.08, 0.39); (6.40, 0.67)\n", "Sensi (5.99, 0.50); (6.28, 0.78)\n", "Barak (5.83, 0.42); (6.07, 0.66)\n", "Soriano (5.97, 0.31); (6.04, 0.38)\n", "Dominguez (6.09, 0.43); (6.38, 0.71)\n", "Vilhena (5.79, 0.51); (6.22, 0.91)\n", "Brozovic (6.13, 0.39); (6.48, 0.68)\n", "Cristante (5.92, 0.38); (6.00, 0.48)\n", "Thorstvedt (5.87, 0.44); (6.10, 0.67)\n", "De Ketelaere (5.87, 0.37); (6.00, 0.52)\n", "Saponara (6.02, 0.52); (6.48, 0.94)\n", "Vecino (5.94, 0.40); (6.05, 0.51)\n", "Locatelli (6.03, 0.32); (6.06, 0.34)\n", "Zaniolo (5.84, 0.46); (6.10, 0.73)\n", "Duda (5.91, 0.41); (5.97, 0.48)\n", "Maldini (5.93, 0.45); (6.35, 0.85)\n", "Marin (5.83, 0.53); (6.13, 0.89)\n", "Zalewski (5.99, 0.30); (6.07, 0.37)\n", "Bajrami (5.80, 0.47); (6.09, 0.74)\n", "Coulibaly L. (5.81, 0.52); (6.04, 0.81)\n", "Gonzalez J. (6.03, 0.44); (6.37, 0.74)\n", "De Roon (5.99, 0.32); (5.96, 0.30)\n", "Mandragora (5.92, 0.40); (6.07, 0.57)\n", "Wijnaldum (5.94, 0.41); (5.99, 0.44)\n", "Bourabia (5.88, 0.36); (5.87, 0.39)\n", "Sottil (6.07, 0.54); (6.66, 1.08)\n", "Aebischer (5.92, 0.42); (6.26, 0.74)\n", "Ederson D.s. (5.88, 0.42); (6.06, 0.62)\n", "Miretti (5.91, 0.32); (5.97, 0.38)\n", "Blin (5.99, 0.27); (5.97, 0.27)\n", "Hjulmand (6.05, 0.49); (6.24, 0.60)\n", "Cataldi (5.99, 0.30); (5.95, 0.27)\n", "Djuricic (5.64, 0.47); (5.99, 0.74)\n", "Linetty (5.88, 0.45); (6.17, 0.73)\n", "Haas (5.87, 0.39); (6.13, 0.65)\n", "Walace (5.92, 0.32); (5.89, 0.30)\n", "Agudelo (5.79, 0.32); (5.87, 0.41)\n", "Pobega (5.98, 0.46); (6.38, 0.82)\n", "Camara Ma. (6.12, 0.35); (6.24, 0.43)\n", "Paredes (5.79, 0.32); (5.70, 0.29)\n", "Ndombele' (5.95, 0.25); (5.91, 0.24)\n", "Nicolussi Caviglia (6.01, 0.48); (6.36, 0.78)\n", "Rovella (5.98, 0.44); (6.09, 0.53)\n", "Amrabat (5.88, 0.43); (5.89, 0.47)\n", "Tameze (5.84, 0.39); (5.86, 0.45)\n", "Gyasi (5.66, 0.50); (6.09, 0.83)\n", "Ilic (5.96, 0.41); (6.02, 0.45)\n", "Matheus Henrique (5.86, 0.42); (6.01, 0.59)\n", "Harroui (5.80, 0.38); (5.95, 0.56)\n", "Volpato (6.08, 0.53); (6.66, 1.09)\n", "Pickel (5.75, 0.36); (5.83, 0.48)\n", "Moro N. (5.95, 0.28); (5.99, 0.32)\n", "Duncan (5.88, 0.33); (5.90, 0.40)\n", "Machin (5.83, 0.44); (5.88, 0.53)\n", "Cuadrado (5.98, 0.46); (6.17, 0.61)\n", "Ekdal (5.81, 0.29); (5.73, 0.27)\n", "Meite' (5.76, 0.45); (5.85, 0.58)\n", "Schouten (5.93, 0.32); (5.90, 0.30)\n", "Obiang (5.91, 0.27); (5.90, 0.27)\n", "Kovalenko (5.90, 0.34); (6.01, 0.46)\n", "Crnigoj (5.91, 0.43); (6.17, 0.67)\n", "Basic (5.96, 0.27); (5.97, 0.31)\n", "Asllani (5.97, 0.26); (5.96, 0.27)\n", "Sabiri (5.71, 0.44); (5.92, 0.66)\n", "Terracciano F. (5.99, 0.27); (6.05, 0.34)\n", "Castagnetti (5.90, 0.25); (5.87, 0.25)\n", "Oudin (5.85, 0.30); (5.85, 0.32)\n", "Grassi (5.92, 0.29); (5.88, 0.26)\n", "Krunic (5.93, 0.32); (5.93, 0.34)\n", "Rincon (5.66, 0.40); (5.61, 0.41)\n", "Miguel Veloso (5.92, 0.32); (5.90, 0.34)\n", "Leris (5.68, 0.37); (5.71, 0.47)\n", "Esposito Sa. (5.83, 0.49); (5.93, 0.61)\n", "Henderson L. (5.84, 0.36); (5.95, 0.47)\n", "Lopez M. (5.89, 0.36); (5.87, 0.39)\n", "Cuisance (5.69, 0.35); (5.66, 0.39)\n", "Saelemaekers (5.90, 0.38); (6.06, 0.55)\n", "Maggiore (5.88, 0.35); (5.99, 0.48)\n", "Akpa Akpro (5.87, 0.44); (5.92, 0.50)\n", "Maleh (5.94, 0.36); (6.13, 0.57)\n", "Romero L. (6.09, 0.55); (6.71, 1.18)\n", "Ceide (5.92, 0.33); (5.95, 0.34)\n", "D'alessandro (5.99, 0.28); (6.06, 0.34)\n", "Benassi (5.77, 0.31); (5.82, 0.36)\n", "Gagliardini (5.88, 0.25); (5.85, 0.27)\n", "Vieira (5.66, 0.40); (5.73, 0.51)\n", "Bianco (5.95, 0.35); (5.97, 0.38)\n", "Vranckx (6.01, 0.39); (6.04, 0.38)\n", "Galdames (5.87, 0.44); (5.97, 0.56)\n", "Marcos Antonio (5.96, 0.23); (5.92, 0.22)\n", "Fazzini (5.78, 0.29); (5.70, 0.27)\n", "Sulemana I. (5.84, 0.28); (5.85, 0.31)\n", "Tahirovic (5.98, 0.27); (5.95, 0.26)\n", "Abildgaard (5.88, 0.42); (5.95, 0.52)\n", "Barberis (5.68, 0.37); (5.66, 0.38)\n", "Kastanos (5.82, 0.30); (5.79, 0.31)\n", "Vignato (5.90, 0.29); (5.89, 0.29)\n", "Valoti (5.82, 0.32); (5.73, 0.31)\n", "Winks (5.86, 0.49); (5.95, 0.59)\n", "Askildsen (5.65, 0.29); (5.66, 0.34)\n", "Bove (6.00, 0.35); (6.05, 0.38)\n", "Bohinen (5.75, 0.27); (5.64, 0.26)\n", "D'andrea (5.98, 0.36); (6.17, 0.52)\n", "Iling-Junior (5.96, 0.32); (5.94, 0.31)\n", "Cipot (5.80, 0.42); (5.87, 0.52)\n", "Bakayoko (5.80, 0.36); (5.69, 0.33)\n", "Gaetano (6.00, 0.34); (6.04, 0.37)\n", "Zurkowski (6.03, 0.54); (6.57, 1.06)\n", "Castrovilli (6.03, 0.47); (6.47, 0.86)\n", "Demme (6.03, 0.37); (6.26, 0.58)\n", "Darboe (5.92, 0.41); (5.94, 0.42)\n", "Urbanski (5.94, 0.37); (5.98, 0.42)\n", "Bertini (5.97, 0.42); (6.08, 0.49)\n", "Yepes (5.64, 0.42); (5.59, 0.40)\n", "Pyyhtia (5.94, 0.51); (6.11, 0.66)\n", "Trimboli (5.84, 0.44); (5.90, 0.52)\n", "Pafundi (5.92, 0.44); (5.99, 0.51)\n", "Helgason (5.70, 0.34); (5.67, 0.35)\n", "Adli (5.84, 0.35); (5.85, 0.42)\n", "Vignato S. (5.89, 0.32); (5.85, 0.32)\n", "Hrustic (5.72, 0.30); (5.67, 0.29)\n", "Samek (5.94, 0.42); (6.01, 0.48)\n", "Zerbin (6.01, 0.34); (6.05, 0.38)\n", "Ilkhan (5.78, 0.47); (5.81, 0.52)\n", "Degli Innocenti (5.84, 0.47); (5.90, 0.55)\n", "Acella (5.87, 0.44); (5.97, 0.56)\n", "Carboni V. (5.96, 0.38); (6.02, 0.44)\n", "Paoletti (5.99, 0.41); (6.01, 0.41)\n", "Malagrida (5.87, 0.42); (5.92, 0.49)\n", "Faticanti (5.91, 0.43); (5.97, 0.49)\n", "Osimhen (6.54, 0.71); (8.26, 2.71)\n", "Martinez L. (6.46, 0.71); (7.87, 2.29)\n", "Dybala (6.51, 0.69); (7.96, 2.30)\n", "Rafael Leao (6.43, 0.72); (7.84, 2.34)\n", "Lookman (6.50, 0.70); (8.07, 2.46)\n", "Immobile (6.46, 0.72); (7.93, 2.41)\n", "Vlahovic (6.34, 0.73); (7.66, 2.19)\n", "Arnautovic (6.36, 0.69); (7.63, 2.06)\n", "Dia (6.26, 0.72); (7.52, 2.07)\n", "Dzeko (6.34, 0.70); (7.60, 2.07)\n", "Milik (6.36, 0.63); (7.58, 1.94)\n", "Nzola (6.23, 0.71); (7.53, 2.08)\n", "Beto (6.18, 0.64); (7.23, 1.69)\n", "Giroud (6.25, 0.69); (7.38, 1.89)\n", "Abraham (6.30, 0.68); (7.41, 1.87)\n", "Deulofeu (6.39, 0.65); (7.59, 1.95)\n", "Lauriente' (6.32, 0.69); (7.51, 2.01)\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Simeone (6.41, 0.68); (7.76, 2.14)\n", "Lozano (6.29, 0.58); (7.26, 1.57)\n", "Correa (6.16, 0.48); (6.85, 1.20)\n", "Berardi (6.41, 0.72); (7.77, 2.28)\n", "Pedro (6.22, 0.56); (7.05, 1.41)\n", "Lukaku (6.02, 0.58); (6.74, 1.26)\n", "Sanabria (6.12, 0.57); (6.89, 1.33)\n", "Thauvin (6.44, 0.65); (7.75, 2.08)\n", "Cabral (6.02, 0.56); (6.67, 1.17)\n", "Hojlund (6.21, 0.63); (7.29, 1.72)\n", "Caprari (6.03, 0.54); (6.61, 1.08)\n", "Di Maria (6.38, 0.67); (7.48, 1.91)\n", "Piatek (6.03, 0.62); (7.01, 1.56)\n", "Rebic (6.16, 0.66); (7.21, 1.73)\n", "Bonazzoli (6.01, 0.50); (6.58, 1.03)\n", "Zapata D. (6.00, 0.53); (6.51, 1.01)\n", "Kouame' (6.04, 0.56); (6.65, 1.13)\n", "Gonzalez N. (6.30, 0.64); (7.35, 1.79)\n", "Brekalo (6.07, 0.57); (6.80, 1.27)\n", "Mota (6.15, 0.65); (7.18, 1.68)\n", "Kean (6.10, 0.60); (6.92, 1.43)\n", "Okereke (5.98, 0.56); (6.61, 1.13)\n", "Ceesay (5.99, 0.48); (6.45, 0.91)\n", "Colombo (6.13, 0.58); (6.96, 1.41)\n", "Dessers (5.99, 0.49); (6.46, 0.93)\n", "Muriel (6.28, 0.66); (7.34, 1.83)\n", "Pinamonti (5.88, 0.55); (6.47, 1.08)\n", "Di Francesco F. (6.01, 0.50); (6.46, 0.92)\n", "Jovic (5.81, 0.56); (6.39, 1.05)\n", "Origi (5.97, 0.57); (6.54, 1.09)\n", "Caputo (6.11, 0.60); (6.97, 1.44)\n", "Boga (6.49, 0.64); (7.74, 1.98)\n", "Cambiaghi (6.09, 0.48); (6.58, 0.92)\n", "Alvarez A. (6.00, 0.55); (6.65, 1.16)\n", "Banda (6.01, 0.39); (6.24, 0.60)\n", "Ciofani D. (6.05, 0.52); (6.74, 1.18)\n", "Petagna (5.74, 0.46); (6.02, 0.70)\n", "Barrow (5.99, 0.57); (6.78, 1.32)\n", "Djuric (5.96, 0.38); (6.18, 0.63)\n", "Henry (5.83, 0.52); (6.31, 0.94)\n", "Success (5.97, 0.31); (6.04, 0.45)\n", "Gabbiadini (5.76, 0.53); (6.30, 0.97)\n", "Zirkzee (6.04, 0.49); (6.57, 1.02)\n", "Lammers (5.71, 0.43); (5.95, 0.61)\n", "Satriano (5.85, 0.42); (6.09, 0.65)\n", "Kallon (5.87, 0.44); (6.20, 0.74)\n", "Nestorovski (6.11, 0.41); (6.54, 0.87)\n", "Raspadori (6.08, 0.46); (6.55, 0.92)\n", "Botheim (5.82, 0.47); (6.19, 0.79)\n", "Gytkjaer (5.81, 0.43); (6.12, 0.71)\n", "Solbakken (5.99, 0.40); (6.11, 0.50)\n", "Lasagna (5.73, 0.45); (5.98, 0.65)\n", "Belotti (5.70, 0.31); (5.76, 0.36)\n", "Pellegri (5.86, 0.42); (6.18, 0.71)\n", "Buonaiuto (5.94, 0.37); (6.11, 0.54)\n", "Verde (6.03, 0.50); (6.58, 1.00)\n", "Destro (5.98, 0.60); (6.81, 1.38)\n", "Seck (6.04, 0.31); (6.15, 0.40)\n", "Sansone (5.90, 0.46); (6.25, 0.79)\n", "Quagliarella (5.77, 0.38); (5.94, 0.55)\n", "Defrel (5.74, 0.47); (6.05, 0.73)\n", "Pjaca (5.86, 0.41); (6.02, 0.55)\n", "Gaich (5.72, 0.53); (6.23, 0.92)\n", "Soule' (6.09, 0.31); (6.23, 0.43)\n", "Tsadjout (5.85, 0.46); (6.17, 0.77)\n", "Piccoli (5.81, 0.27); (5.82, 0.33)\n", "Shomurodov (5.95, 0.47); (6.37, 0.87)\n", "Afena-Gyan (5.61, 0.34); (5.71, 0.43)\n", "Ngonge (5.85, 0.42); (5.96, 0.55)\n", "Karamoh (5.88, 0.34); (5.93, 0.40)\n", "Ibrahimovic (6.38, 0.65); (7.77, 2.11)\n", "Pussetto (5.77, 0.50); (6.20, 0.86)\n", "Cancellieri (5.82, 0.25); (5.83, 0.28)\n", "Valencia D. (5.77, 0.28); (5.82, 0.38)\n", "Oddei (5.89, 0.38); (5.90, 0.42)\n", "Braaf (5.76, 0.50); (6.15, 0.85)\n", "Raimondo (5.93, 0.39); (6.02, 0.50)\n", "Kaio Jorge (5.86, 0.28); (5.89, 0.32)\n", "De Luca (5.79, 0.46); (5.94, 0.62)\n", "Voelkerling Persson (5.99, 0.37); (6.10, 0.45)\n", "Montevago (5.70, 0.41); (5.77, 0.46)\n", "Krollis (5.81, 0.44); (5.97, 0.63)\n", "Vivaldo (5.91, 0.43); (6.01, 0.56)\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.2498070.5099505.8363370.6317076.0180640.3513760.4444771.9976216.3471690.802586-0.4453041.38182766.118824
Rossi F.PAtalantaAvg1006.2498070.5099505.8363370.6317076.0180640.3513760.4444771.9976216.3471690.802586-0.4453041.38182766.118824
SportielloPAtalantaAvg1006.2515290.6480995.4462710.7871106.0165310.5776490.2872881.9968946.1291200.963281-0.4985321.23441347.004265
MaehleDAtalantaAvg11906.0486610.4334746.4798660.8184225.9360800.4704990.1767821.3346985.7752240.9735220.4688531.9879170.000000
ScalviniDAtalantaAvg11806.0813650.4883786.4135590.8050356.1036270.594670-0.0277461.1447965.7989961.1149060.3750521.9859900.000000
............................................................
KallonAVeronaAvg10805.8666060.4351096.2031960.7397645.7688760.4826050.1498491.3406475.5607900.8675700.4771241.9890970.000000
DjuricAVeronaAvg10805.9596380.3816486.1815340.6312995.8881300.4332460.1223271.4206765.6690640.8167200.4175311.9896980.000000
BraafAVeronaAvg1055.7569740.4990566.1540460.8489135.6455430.5543090.1484771.1953965.4189901.0002500.4744551.9865930.000000
LasagnaAVeronaAvg11805.7338380.4452945.9754400.6546835.6513450.5047050.1211751.3129005.4377520.8347830.4269721.9893480.000000
NgongeAVeronaAvg1055.8474260.4205645.9567750.5513525.8139740.5009960.0493951.3162075.6109390.8807070.2761781.9886670.000000
\n", "

543 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.249807 0.509950 \n", "Rossi F. P Atalanta Avg 1 0 0 6.249807 0.509950 \n", "Sportiello P Atalanta Avg 1 0 0 6.251529 0.648099 \n", "Maehle D Atalanta Avg 1 1 90 6.048661 0.433474 \n", "Scalvini D Atalanta Avg 1 1 80 6.081365 0.488378 \n", "... ... ... ... ... ... ... ... ... \n", "Kallon A Verona Avg 1 0 80 5.866606 0.435109 \n", "Djuric A Verona Avg 1 0 80 5.959638 0.381648 \n", "Braaf A Verona Avg 1 0 5 5.756974 0.499056 \n", "Lasagna A Verona Avg 1 1 80 5.733838 0.445294 \n", "Ngonge A Verona Avg 1 0 5 5.847426 0.420564 \n", "\n", " FV FV std MV loc MV scale MV skewness \\\n", "player \n", "Musso 5.836337 0.631707 6.018064 0.351376 0.444477 \n", "Rossi F. 5.836337 0.631707 6.018064 0.351376 0.444477 \n", "Sportiello 5.446271 0.787110 6.016531 0.577649 0.287288 \n", "Maehle 6.479866 0.818422 5.936080 0.470499 0.176782 \n", "Scalvini 6.413559 0.805035 6.103627 0.594670 -0.027746 \n", "... ... ... ... ... ... \n", "Kallon 6.203196 0.739764 5.768876 0.482605 0.149849 \n", "Djuric 6.181534 0.631299 5.888130 0.433246 0.122327 \n", "Braaf 6.154046 0.848913 5.645543 0.554309 0.148477 \n", "Lasagna 5.975440 0.654683 5.651345 0.504705 0.121175 \n", "Ngonge 5.956775 0.551352 5.813974 0.500996 0.049395 \n", "\n", " MV tailweight FV loc FV scale FV skewness FV tailweight \\\n", "player \n", "Musso 1.997621 6.347169 0.802586 -0.445304 1.381827 \n", "Rossi F. 1.997621 6.347169 0.802586 -0.445304 1.381827 \n", "Sportiello 1.996894 6.129120 0.963281 -0.498532 1.234413 \n", "Maehle 1.334698 5.775224 0.973522 0.468853 1.987917 \n", "Scalvini 1.144796 5.798996 1.114906 0.375052 1.985990 \n", "... ... ... ... ... ... \n", "Kallon 1.340647 5.560790 0.867570 0.477124 1.989097 \n", "Djuric 1.420676 5.669064 0.816720 0.417531 1.989698 \n", "Braaf 1.195396 5.418990 1.000250 0.474455 1.986593 \n", "Lasagna 1.312900 5.437752 0.834783 0.426972 1.989348 \n", "Ngonge 1.316207 5.610939 0.880707 0.276178 1.988667 \n", "\n", " Clean Sheet % \n", "player \n", "Musso 66.118824 \n", "Rossi F. 66.118824 \n", "Sportiello 47.004265 \n", "Maehle 0.000000 \n", "Scalvini 0.000000 \n", "... ... \n", "Kallon 0.000000 \n", "Djuric 0.000000 \n", "Braaf 0.000000 \n", "Lasagna 0.000000 \n", "Ngonge 0.000000 \n", "\n", "[543 rows x 19 columns]" ] }, "execution_count": 96, "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", " 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", " \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": 97, "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": "a9687e92", "metadata": {}, "source": [ "Same code but considering previous season" ] }, { "cell_type": "code", "execution_count": 41, "id": "89e1dc82", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Meret (5.79, 0.46); (5.22, 0.60)\n", "Provedel (6.40, 0.38); (4.78, 0.71)\n", "Maignan (6.38, 0.38); (5.01, 0.67)\n", "Silvestri (6.40, 0.38); (4.53, 0.74)\n", "Sepe (6.38, 0.37); (4.77, 0.71)\n", "Szczesny (6.29, 0.39); (5.05, 0.66)\n", "Consigli (6.31, 0.37); (4.42, 0.76)\n", "Falcone (6.33, 0.41); (5.23, 0.64)\n", "Musso (6.39, 0.37); (4.71, 0.72)\n", "Vicario (6.40, 0.38); (4.57, 0.74)\n", "Rui Patricio (6.36, 0.38); (4.57, 0.73)\n", "Milinkovic-Savic V. (6.28, 0.36); (4.68, 0.72)\n", "Audero (6.32, 0.36); (4.39, 0.77)\n", "Montipo' (6.37, 0.36); (4.63, 0.73)\n", "Sportiello (6.33, 0.41); (5.58, 0.59)\n", "Skorupski (6.39, 0.39); (4.61, 0.73)\n", "Di Gregorio (6.13, 0.40); (4.30, 0.76)\n", "Perin (6.23, 0.41); (5.53, 0.59)\n", "Handanovic (6.44, 0.39); (4.66, 0.73)\n", "Tatarusanu (6.06, 0.43); (5.47, 0.59)\n", "Gollini (6.03, 0.41); (5.40, 0.60)\n", "Dragowski (5.66, 0.42); (3.79, 0.84)\n", "Terracciano (6.22, 0.34); (4.44, 0.75)\n", "Berisha (6.26, 0.43); (5.58, 0.59)\n", "Radu I. (5.33, 0.40); (3.14, 0.99)\n", "Cragno (6.36, 0.36); (4.65, 0.72)\n", "Luis Maximiano (6.05, 0.46); (5.19, 0.62)\n", "Onana (6.23, 0.37); (5.38, 0.62)\n", "Carnesecchi (6.27, 0.45); (5.50, 0.60)\n", "Mirante (6.38, 0.38); (5.01, 0.67)\n", "Sarr M. (6.27, 0.42); (4.63, 0.72)\n", "Lamanna (6.13, 0.40); (4.30, 0.76)\n", "Ujkani (6.40, 0.38); (4.57, 0.74)\n", "Pegolo (6.28, 0.36); (4.38, 0.76)\n", "Perilli (6.22, 0.33); (4.29, 0.78)\n", "Padelli (6.45, 0.40); (4.62, 0.73)\n", "Perisan (6.45, 0.41); (5.30, 0.63)\n", "Bardi (6.40, 0.38); (4.71, 0.72)\n", "Cordaz (6.44, 0.39); (4.66, 0.73)\n", "Pinsoglio (6.26, 0.40); (5.18, 0.64)\n", "Fiorillo (6.33, 0.36); (4.62, 0.74)\n", "Sirigu (6.36, 0.36); (4.96, 0.68)\n", "Cerofolini (6.09, 0.35); (4.64, 0.72)\n", "Rossi F. (6.38, 0.37); (4.78, 0.70)\n", "Contini (6.18, 0.34); (4.22, 0.80)\n", "Brancolini (6.40, 0.37); (4.83, 0.70)\n", "Bleve (6.40, 0.37); (4.83, 0.70)\n", "Berardi A. (6.33, 0.35); (4.49, 0.75)\n", "Russo A. (6.24, 0.37); (5.24, 0.63)\n", "Gemello (6.26, 0.43); (5.64, 0.59)\n", "Ravaglia (6.37, 0.36); (4.57, 0.74)\n", "Zoet (5.55, 0.33); (2.93, 1.10)\n", "Boer (6.36, 0.38); (4.57, 0.73)\n", "Adamonis (6.16, 0.40); (4.50, 0.73)\n", "Marfella (6.37, 0.37); (5.05, 0.67)\n", "Zovko (6.38, 0.37); (4.50, 0.75)\n", "Piana (6.40, 0.38); (4.53, 0.74)\n", "Bagnolini (6.04, 0.36); (3.94, 0.82)\n", "Svilar (6.24, 0.40); (5.38, 0.61)\n", "Sorrentino A. (6.13, 0.40); (4.30, 0.76)\n", "Ciezkowski (6.27, 0.42); (4.63, 0.72)\n", "Micai (6.41, 0.37); (4.91, 0.69)\n", "Chiesa M. (6.22, 0.33); (4.29, 0.78)\n", "Saro (6.27, 0.42); (4.63, 0.72)\n", "Smalling (6.16, 0.46); (6.51, 0.80)\n", "Hernandez T. (6.24, 0.60); (6.99, 1.34)\n", "Kim (6.28, 0.45); (6.62, 0.73)\n", "Bastoni S. (6.08, 0.49); (6.43, 0.82)\n", "Udogie (6.04, 0.56); (6.54, 1.08)\n", "Dumfries (6.18, 0.51); (6.86, 1.22)\n", "Romagnoli (5.99, 0.48); (6.00, 0.39)\n", "Rodrigo Becao (6.00, 0.52); (6.13, 0.63)\n", "Parisi (5.87, 0.40); (5.88, 0.34)\n", "Mazzocchi (5.81, 0.40); (5.83, 0.36)\n", "Bremer (6.21, 0.47); (6.40, 0.55)\n", "Demiral (6.02, 0.52); (6.06, 0.49)\n", "Valeri (6.08, 0.35); (6.40, 0.67)\n", "Dimarco (6.17, 0.46); (6.58, 0.85)\n", "Di Lorenzo (6.15, 0.41); (6.31, 0.49)\n", "Ibanez (5.81, 0.51); (5.87, 0.58)\n", "Tomori (6.09, 0.39); (6.16, 0.36)\n", "Toloi (6.03, 0.48); (6.15, 0.56)\n", "Gosens (6.07, 0.34); (6.17, 0.40)\n", "Rrahmani (6.23, 0.50); (6.63, 0.85)\n", "Kalulu (6.20, 0.49); (6.56, 0.80)\n", "Bijol (6.07, 0.51); (6.47, 0.91)\n", "Doig (6.16, 0.51); (6.72, 1.05)\n", "Mario Rui (6.03, 0.42); (6.13, 0.44)\n", "Spinazzola (6.02, 0.32); (6.02, 0.34)\n", "Lazzari (6.01, 0.51); (6.38, 0.91)\n", "Mancini (5.76, 0.50); (5.72, 0.40)\n", "Danilo (6.12, 0.42); (6.25, 0.48)\n", "Kyriakopoulos (5.78, 0.52); (5.74, 0.45)\n", "Vojvoda (5.95, 0.37); (6.00, 0.40)\n", "Scalvini (5.98, 0.38); (6.05, 0.41)\n", "Carlos Augusto (5.83, 0.45); (5.95, 0.58)\n", "Skriniar (6.15, 0.46); (6.35, 0.59)\n", "Schuurs (6.03, 0.36); (6.07, 0.34)\n", "Juan Jesus (6.12, 0.44); (6.36, 0.63)\n", "Bonucci (6.21, 0.56); (6.77, 1.10)\n", "Calabria (6.10, 0.35); (6.36, 0.60)\n", "Bastoni (6.16, 0.41); (6.32, 0.50)\n", "Depaoli (5.74, 0.40); (5.78, 0.48)\n", "Darmian (6.06, 0.37); (6.30, 0.64)\n", "Sernicola (5.96, 0.41); (6.27, 0.77)\n", "Mari' (6.02, 0.59); (6.27, 0.86)\n", "Martinez Quarta (5.76, 0.50); (5.73, 0.49)\n", "Maehle (6.03, 0.30); (6.07, 0.36)\n", "Olivera (6.17, 0.38); (6.48, 0.66)\n", "Biraghi (5.87, 0.57); (6.14, 0.87)\n", "Medel (5.75, 0.54); (5.69, 0.42)\n", "Patric (5.77, 0.56); (5.77, 0.56)\n", "Rodriguez R. (5.88, 0.39); (5.89, 0.33)\n", "Aina (5.88, 0.36); (5.89, 0.33)\n", "Cambiaso (5.88, 0.51); (5.94, 0.54)\n", "Perez N. (5.74, 0.41); (5.70, 0.35)\n", "Holm (5.93, 0.41); (6.14, 0.65)\n", "Baschirotto (6.15, 0.47); (6.56, 0.86)\n", "Dodo' (5.72, 0.41); (5.70, 0.39)\n", "Hysaj (5.70, 0.40); (5.70, 0.41)\n", "Faraoni (6.07, 0.44); (6.44, 0.81)\n", "Bianchetti (5.74, 0.41); (5.79, 0.47)\n", "Milenkovic (5.80, 0.51); (5.79, 0.47)\n", "Marusic (5.68, 0.48); (5.65, 0.46)\n", "Colley (5.78, 0.53); (5.73, 0.39)\n", "Toljan (5.81, 0.38); (5.80, 0.33)\n", "Celik (5.90, 0.35); (5.89, 0.32)\n", "Ampadu (5.77, 0.51); (5.71, 0.39)\n", "Singo (6.14, 0.54); (6.63, 1.00)\n", "Casale (5.82, 0.41); (5.79, 0.34)\n", "Daniliuc (5.83, 0.55); (5.78, 0.46)\n", "Pongracic (5.88, 0.42); (5.86, 0.33)\n", "Soppy (5.87, 0.33); (5.84, 0.30)\n", "Kiwior (5.78, 0.39); (5.76, 0.32)\n", "Posch (5.96, 0.59); (6.46, 1.09)\n", "Masina (5.98, 0.42); (6.23, 0.72)\n", "Ghiglione (5.72, 0.37); (5.69, 0.32)\n", "De Vrij (5.81, 0.36); (5.79, 0.31)\n", "Alex Sandro (5.83, 0.34); (5.79, 0.29)\n", "Ceccherini (5.76, 0.48); (5.78, 0.49)\n", "Fazio (5.69, 0.58); (5.64, 0.55)\n", "Rogerio (5.77, 0.40); (5.75, 0.35)\n", "Reca (5.75, 0.38); (5.72, 0.32)\n", "Gunter (5.73, 0.53); (5.67, 0.44)\n", "Djidji (5.82, 0.46); (5.79, 0.36)\n", "Augello (5.77, 0.40); (5.84, 0.46)\n", "Bellanova (5.82, 0.42); (5.85, 0.43)\n", "Erlic (5.84, 0.54); (5.95, 0.67)\n", "Ismajli (5.64, 0.53); (5.58, 0.43)\n", "Ebuehi (5.64, 0.38); (5.57, 0.32)\n", "Kasius (5.96, 0.32); (5.95, 0.31)\n", "Lucumi' (5.77, 0.39); (5.73, 0.32)\n", "Hien (5.67, 0.45); (5.62, 0.37)\n", "Acerbi (6.01, 0.53); (6.29, 0.80)\n", "Zappacosta (6.08, 0.39); (6.28, 0.56)\n", "Chiriches (5.71, 0.53); (5.65, 0.42)\n", "Gyomber (5.68, 0.52); (5.62, 0.42)\n", "Pezzella Giu. (5.95, 0.37); (5.98, 0.36)\n", "Ferrari G. (5.69, 0.55); (5.63, 0.47)\n", "Bereszynski (5.66, 0.42); (5.60, 0.36)\n", "Hateboer (5.78, 0.34); (5.77, 0.31)\n", "Karsdorp (5.96, 0.43); (6.01, 0.39)\n", "Nuytinck (5.98, 0.52); (6.03, 0.50)\n", "Lykogiannis (5.72, 0.35); (5.69, 0.31)\n", "Buongiorno (5.87, 0.40); (5.85, 0.33)\n", "Nikolaou (5.66, 0.44); (5.62, 0.35)\n", "Lazaro (5.83, 0.42); (5.86, 0.41)\n", "Gallo (5.86, 0.41); (5.82, 0.34)\n", "Ayhan (5.71, 0.57); (5.77, 0.67)\n", "Dest (5.84, 0.36); (5.83, 0.32)\n", "Stojanovic (5.75, 0.51); (5.71, 0.47)\n", "Birindelli (5.75, 0.32); (5.72, 0.28)\n", "Gendrey (5.77, 0.35); (5.71, 0.30)\n", "Ebosse (5.86, 0.33); (5.81, 0.29)\n", "Lochoshvili (5.81, 0.37); (5.80, 0.32)\n", "Bronn (5.85, 0.35); (5.81, 0.29)\n", "Thiaw (6.00, 0.40); (6.06, 0.42)\n", "Izzo (5.76, 0.35); (5.68, 0.30)\n", "D'ambrosio (6.13, 0.38); (6.27, 0.46)\n", "Rugani (5.94, 0.34); (5.93, 0.29)\n", "De Sciglio (6.06, 0.50); (6.32, 0.74)\n", "Luperto (5.74, 0.59); (5.66, 0.47)\n", "De Silvestri (5.83, 0.52); (6.09, 0.81)\n", "Djimsiti (5.89, 0.45); (5.93, 0.44)\n", "Palomino (6.07, 0.47); (6.15, 0.43)\n", "Bonifazi (5.64, 0.50); (5.62, 0.38)\n", "Hristov (5.69, 0.47); (5.85, 0.69)\n", "Donati (5.65, 0.42); (5.59, 0.35)\n", "Umtiti (5.82, 0.48); (5.79, 0.39)\n", "Kjaer (6.01, 0.31); (6.00, 0.31)\n", "Igor (5.72, 0.53); (5.67, 0.42)\n", "Okoli (5.65, 0.47); (5.62, 0.38)\n", "Soumaoro (5.74, 0.52); (5.69, 0.40)\n", "Caldirola (5.75, 0.48); (5.69, 0.37)\n", "Ballo-Toure' (5.73, 0.32); (5.69, 0.28)\n", "Bradaric (5.82, 0.40); (5.82, 0.34)\n", "De Winter (5.77, 0.53); (5.70, 0.39)\n", "Quagliata (5.94, 0.32); (5.96, 0.33)\n", "Ferrari A. (5.75, 0.48); (5.82, 0.59)\n", "Florenzi (6.11, 0.39); (6.34, 0.58)\n", "Sala (5.85, 0.39); (5.99, 0.55)\n", "Caldara (5.82, 0.55); (5.78, 0.49)\n", "Murru (5.61, 0.40); (5.65, 0.54)\n", "Marlon (5.62, 0.39); (5.55, 0.32)\n", "Walukiewicz (5.69, 0.44); (5.65, 0.34)\n", "Kumbulla (5.78, 0.34); (5.72, 0.29)\n", "Amian (5.71, 0.52); (5.66, 0.46)\n", "Ostigard (6.00, 0.38); (6.06, 0.36)\n", "Sambia (5.70, 0.39); (5.64, 0.32)\n", "Aiwu (5.93, 0.43); (5.98, 0.44)\n", "Ehizibue (5.87, 0.30); (5.80, 0.27)\n", "Hendry (5.98, 0.44); (6.03, 0.44)\n", "Marrone (5.51, 0.45); (5.45, 0.38)\n", "Radovanovic (5.77, 0.51); (5.84, 0.58)\n", "Murillo (5.63, 0.35); (5.52, 0.29)\n", "Venuti (5.81, 0.33); (5.78, 0.30)\n", "Magnani (5.77, 0.46); (5.73, 0.35)\n", "Terzic (5.94, 0.30); (5.91, 0.29)\n", "Gabbia (5.61, 0.47); (5.56, 0.39)\n", "Zortea (5.80, 0.38); (5.82, 0.42)\n", "Dawidowicz (5.75, 0.39); (5.72, 0.32)\n", "Pirola (5.82, 0.32); (5.73, 0.27)\n", "Carboni (5.62, 0.45); (5.57, 0.36)\n", "Lovato (5.82, 0.50); (5.78, 0.38)\n", "Tuia (5.76, 0.45); (5.80, 0.48)\n", "Amione (5.63, 0.35); (5.56, 0.30)\n", "Vasquez (5.89, 0.43); (5.93, 0.40)\n", "Zima (5.87, 0.35); (5.86, 0.31)\n", "Coppola D. (5.99, 0.36); (6.00, 0.34)\n", "Gatti (5.95, 0.45); (5.99, 0.38)\n", "Gila (5.81, 0.49); (5.78, 0.40)\n", "Cabal (5.82, 0.43); (5.83, 0.39)\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Sosa (5.64, 0.48); (5.57, 0.42)\n", "Conti (6.10, 0.55); (6.68, 1.13)\n", "Dermaku (5.90, 0.43); (5.93, 0.39)\n", "Tonelli (5.61, 0.47); (5.58, 0.38)\n", "Radu (5.65, 0.49); (5.59, 0.43)\n", "Paletta (5.82, 0.42); (5.83, 0.39)\n", "Fares (5.76, 0.36); (5.71, 0.32)\n", "Marchizza (5.64, 0.38); (5.57, 0.32)\n", "Romagna (5.85, 0.44); (5.87, 0.41)\n", "Ranieri L. (5.71, 0.37); (5.70, 0.38)\n", "Cetin (5.88, 0.52); (5.83, 0.40)\n", "Muldur (5.65, 0.42); (5.60, 0.36)\n", "Adopo (5.82, 0.44); (5.81, 0.38)\n", "Ferrer (5.86, 0.44); (5.86, 0.36)\n", "Ruggeri (5.85, 0.34); (5.84, 0.31)\n", "Antov (5.61, 0.51); (5.54, 0.43)\n", "Amey (5.95, 0.42); (6.01, 0.41)\n", "Ferrarini (5.82, 0.42); (5.83, 0.39)\n", "Kamenovic (6.19, 0.44); (6.40, 0.54)\n", "Vina (5.73, 0.48); (5.68, 0.39)\n", "Zanoli (5.93, 0.32); (5.91, 0.29)\n", "Zanotti (5.89, 0.39); (5.93, 0.41)\n", "Ruan (5.63, 0.56); (5.64, 0.39)\n", "Motoc (5.88, 0.41); (5.91, 0.38)\n", "Cacace (5.84, 0.35); (5.79, 0.29)\n", "Bayeye (5.92, 0.41); (5.97, 0.42)\n", "Ebosele (5.96, 0.44); (6.03, 0.42)\n", "Buta (5.92, 0.40); (5.97, 0.39)\n", "Ndiaye (5.93, 0.43); (5.98, 0.44)\n", "Abankwah (5.92, 0.40); (5.97, 0.39)\n", "Guessand A. (5.92, 0.40); (5.97, 0.39)\n", "Guarino (5.90, 0.43); (5.93, 0.40)\n", "Milinkovic-Savic (6.44, 0.62); (7.60, 1.86)\n", "Barella (6.33, 0.53); (6.93, 1.12)\n", "Kvaratskhelia (6.59, 0.70); (8.44, 2.82)\n", "Zaccagni (6.31, 0.59); (7.24, 1.55)\n", "Zielinski (6.23, 0.54); (6.91, 1.21)\n", "Luis Alberto (6.25, 0.62); (7.24, 1.62)\n", "Frattesi (6.03, 0.52); (6.46, 0.97)\n", "Politano (6.13, 0.41); (6.47, 0.72)\n", "Koopmeiners (6.24, 0.54); (6.86, 1.15)\n", "Vlasic (6.28, 0.56); (7.41, 1.76)\n", "Pereyra (6.12, 0.56); (6.67, 1.09)\n", "Felipe Anderson (6.23, 0.62); (7.34, 1.76)\n", "Calhanoglu (6.30, 0.64); (7.42, 1.80)\n", "Strefezza (6.34, 0.51); (7.12, 1.38)\n", "Diaz B. (6.12, 0.55); (6.74, 1.15)\n", "Pellegrini Lo. (6.25, 0.66); (7.62, 2.06)\n", "Zambo Anguissa (6.10, 0.37); (6.15, 0.36)\n", "Lobotka (6.23, 0.43); (6.55, 0.68)\n", "Malinovskyi (6.27, 0.59); (7.30, 1.67)\n", "Candreva (6.16, 0.67); (7.20, 1.71)\n", "Pasalic (6.24, 0.68); (7.77, 2.24)\n", "Bennacer (6.21, 0.44); (6.50, 0.69)\n", "Kostic (6.20, 0.49); (6.79, 1.07)\n", "Radonjic (6.27, 0.48); (7.03, 1.30)\n", "Samardzic (6.15, 0.47); (6.63, 0.95)\n", "Chiesa (6.25, 0.52); (7.04, 1.35)\n", "Lovric (6.19, 0.38); (6.53, 0.70)\n", "De Ketelaere (5.90, 0.34); (5.91, 0.36)\n", "Brozovic (6.17, 0.38); (6.38, 0.51)\n", "Pogba (5.93, 0.41); (5.99, 0.39)\n", "Bonaventura (6.10, 0.61); (6.68, 1.20)\n", "Sensi (5.84, 0.36); (5.93, 0.50)\n", "Bandinelli (5.84, 0.43); (5.94, 0.57)\n", "Ikone' (5.88, 0.40); (6.08, 0.65)\n", "Barak (6.20, 0.69); (7.64, 2.13)\n", "Mkhitaryan (6.21, 0.58); (6.99, 1.34)\n", "Pessina (5.85, 0.36); (5.86, 0.39)\n", "Tonali (6.28, 0.54); (6.88, 1.12)\n", "Arslan (5.93, 0.40); (5.99, 0.46)\n", "Lazovic (6.13, 0.39); (6.47, 0.73)\n", "Cristante (5.95, 0.48); (6.05, 0.53)\n", "Elmas (6.11, 0.39); (6.37, 0.63)\n", "Bajrami (6.24, 0.55); (7.04, 1.40)\n", "Vecino (6.06, 0.40); (6.33, 0.67)\n", "Paredes (5.72, 0.35); (5.66, 0.30)\n", "Mandragora (5.97, 0.41); (6.04, 0.47)\n", "Djuricic (5.78, 0.48); (6.05, 0.79)\n", "Lukic (6.07, 0.51); (6.47, 0.90)\n", "Soriano (5.86, 0.41); (5.85, 0.37)\n", "Zaniolo (5.91, 0.53); (6.20, 0.83)\n", "Sottil (6.01, 0.53); (6.53, 1.03)\n", "Traore' Hj. (6.18, 0.57); (7.13, 1.57)\n", "Messias (6.13, 0.60); (7.05, 1.52)\n", "Thorstvedt (5.95, 0.45); (6.28, 0.84)\n", "Cuadrado (6.25, 0.48); (6.63, 0.81)\n", "Locatelli (6.20, 0.48); (6.57, 0.81)\n", "Rabiot (5.77, 0.36); (5.74, 0.32)\n", "Dominguez (5.96, 0.41); (6.00, 0.39)\n", "Tameze (6.16, 0.44); (6.59, 0.87)\n", "Miranchuk (6.06, 0.56); (6.79, 1.28)\n", "Vilhena (5.73, 0.36); (5.76, 0.43)\n", "De Roon (6.00, 0.46); (6.24, 0.70)\n", "Verdi (6.25, 0.62); (7.47, 1.88)\n", "Walace (5.86, 0.41); (5.87, 0.36)\n", "Wijnaldum (5.89, 0.41); (5.91, 0.39)\n", "Mckennie (6.18, 0.51); (6.77, 1.08)\n", "Makengo (5.91, 0.48); (5.97, 0.49)\n", "Ricci S. (5.88, 0.39); (5.92, 0.36)\n", "Coulibaly L. (5.84, 0.45); (6.09, 0.75)\n", "Sabiri (6.04, 0.61); (6.92, 1.49)\n", "Miretti (6.06, 0.42); (6.14, 0.38)\n", "Colpani (6.10, 0.40); (6.54, 0.90)\n", "Haas (5.86, 0.37); (5.88, 0.36)\n", "Orsolini (6.14, 0.57); (7.08, 1.50)\n", "Matic (5.99, 0.32); (5.99, 0.32)\n", "Ascacibar (6.00, 0.37); (6.04, 0.38)\n", "Ederson D.s. (6.15, 0.54); (6.78, 1.19)\n", "Ciurria (5.89, 0.41); (6.01, 0.56)\n", "Gonzalez J. (6.05, 0.47); (6.48, 0.90)\n", "El Shaarawy (6.02, 0.46); (6.38, 0.84)\n", "Meite' (5.87, 0.36); (5.88, 0.34)\n", "Bourabia (6.17, 0.52); (6.95, 1.34)\n", "Ndombele' (5.92, 0.32); (5.91, 0.30)\n", "Henderson L. (5.96, 0.43); (6.18, 0.69)\n", "Maggiore (5.98, 0.45); (6.16, 0.63)\n", "Ilic (5.99, 0.41); (6.13, 0.52)\n", "Kovalenko (5.92, 0.44); (6.19, 0.72)\n", "Zalewski (5.83, 0.34); (5.80, 0.31)\n", "Pickel (5.88, 0.35); (5.97, 0.51)\n", "Ferguson (6.07, 0.51); (6.59, 1.02)\n", "Camara Ma. (6.10, 0.30); (6.18, 0.34)\n", "Saponara (6.21, 0.48); (6.77, 1.05)\n", "Rincon (5.77, 0.34); (5.76, 0.31)\n", "Cataldi (6.09, 0.44); (6.23, 0.51)\n", "Zurkowski (6.11, 0.52); (6.70, 1.11)\n", "Rovella (5.96, 0.38); (6.03, 0.46)\n", "Agudelo (5.93, 0.50); (6.31, 0.90)\n", "Amrabat (6.00, 0.38); (6.17, 0.56)\n", "Lopez M. (6.03, 0.46); (6.21, 0.60)\n", "Gyasi (5.88, 0.56); (6.36, 1.05)\n", "Pobega (6.15, 0.45); (6.50, 0.79)\n", "Harroui (5.84, 0.32); (5.82, 0.29)\n", "Ceide (5.96, 0.35); (5.97, 0.38)\n", "Baldanzi (6.25, 0.47); (7.03, 1.36)\n", "Blin (6.00, 0.30); (5.98, 0.30)\n", "Hjulmand (5.93, 0.53); (5.88, 0.42)\n", "D'alessandro (5.98, 0.30); (5.99, 0.36)\n", "Grassi (5.89, 0.44); (5.86, 0.34)\n", "Krunic (6.00, 0.32); (6.02, 0.35)\n", "Linetty (5.77, 0.32); (5.75, 0.30)\n", "Miguel Veloso (5.93, 0.48); (6.00, 0.51)\n", "Ekdal (5.74, 0.48); (5.73, 0.47)\n", "Schouten (6.01, 0.48); (6.24, 0.70)\n", "Villar (5.78, 0.32); (5.72, 0.28)\n", "Saelemaekers (6.00, 0.40); (6.15, 0.54)\n", "Vranckx (5.95, 0.39); (6.01, 0.39)\n", "Basic (5.83, 0.35); (5.84, 0.36)\n", "Aebischer (5.85, 0.30); (5.84, 0.29)\n", "Marcos Antonio (5.82, 0.32); (5.77, 0.28)\n", "Ranocchia F. (5.96, 0.41); (6.20, 0.68)\n", "Bistrovic (5.84, 0.31); (5.85, 0.32)\n", "Verre (5.67, 0.37); (5.62, 0.32)\n", "Gagliardini (6.10, 0.39); (6.38, 0.71)\n", "Barberis (5.72, 0.38); (5.71, 0.33)\n", "Leris (5.69, 0.35); (5.70, 0.41)\n", "Vieira (5.70, 0.34); (5.69, 0.34)\n", "Winks (5.85, 0.41); (5.90, 0.43)\n", "Castrovilli (5.97, 0.42); (6.14, 0.61)\n", "Maldini (6.11, 0.40); (6.71, 1.15)\n", "Marin (5.87, 0.51); (5.89, 0.48)\n", "Maleh (5.97, 0.37); (6.19, 0.65)\n", "Matheus Henrique (5.88, 0.39); (5.90, 0.34)\n", "Asllani (6.00, 0.39); (6.11, 0.49)\n", "Moro N. (5.84, 0.34); (5.83, 0.31)\n", "Oudin (6.01, 0.35); (6.09, 0.41)\n", "Duncan (5.92, 0.43); (6.10, 0.62)\n", "Molina S. (5.78, 0.38); (5.79, 0.37)\n", "Kastanos (5.83, 0.45); (5.83, 0.40)\n", "Valoti (5.78, 0.33); (5.72, 0.28)\n", "Gaetano (6.03, 0.36); (6.09, 0.39)\n", "Escalante (5.77, 0.42); (5.73, 0.35)\n", "Bohinen (5.82, 0.38); (5.84, 0.38)\n", "Terracciano F. (6.01, 0.30); (6.02, 0.34)\n", "Milanese (5.88, 0.44); (5.93, 0.44)\n", "Castagnetti (5.97, 0.33); (5.99, 0.34)\n", "Listkowski (5.93, 0.32); (5.91, 0.30)\n", "Adli (5.73, 0.33); (5.73, 0.32)\n", "Hrustic (5.66, 0.42); (5.61, 0.36)\n", "D'andrea (5.95, 0.34); (6.00, 0.43)\n", "Benassi (5.77, 0.32); (5.77, 0.33)\n", "Baez (5.92, 0.46); (5.97, 0.44)\n", "Vignato (5.87, 0.33); (5.87, 0.32)\n", "Obiang (5.86, 0.39); (5.84, 0.32)\n", "Askildsen (5.84, 0.33); (5.78, 0.29)\n", "Hongla (5.78, 0.37); (5.83, 0.45)\n", "Yepes (6.04, 0.33); (6.10, 0.35)\n", "Helgason (5.82, 0.33); (5.80, 0.29)\n", "Bondo (5.91, 0.42); (5.94, 0.37)\n", "Ellertsson (5.88, 0.38); (5.90, 0.34)\n", "Capezzi (5.93, 0.33); (5.92, 0.30)\n", "Jajalo (5.87, 0.33); (5.85, 0.30)\n", "Machin (5.84, 0.41); (5.86, 0.39)\n", "Bakayoko (5.80, 0.37); (5.74, 0.32)\n", "Scozzarella (5.84, 0.41); (5.86, 0.39)\n", "Fagioli (6.12, 0.46); (6.60, 0.94)\n", "Demme (6.00, 0.37); (6.19, 0.57)\n", "Akpa Akpro (5.90, 0.44); (5.95, 0.42)\n", "Darboe (5.90, 0.43); (6.01, 0.43)\n", "Bove (6.20, 0.36); (6.67, 0.90)\n", "Urbanski (5.92, 0.41); (5.96, 0.41)\n", "Bertini (5.94, 0.41); (5.99, 0.39)\n", "Cortinovis (5.85, 0.39); (5.89, 0.42)\n", "Romero L. (5.81, 0.31); (5.80, 0.31)\n", "Bianco (5.92, 0.40); (5.98, 0.46)\n", "Sher (5.96, 0.31); (5.94, 0.29)\n", "Nguiamba (6.04, 0.37); (6.08, 0.34)\n", "Volpato (6.23, 0.40); (7.16, 1.52)\n", "Praszelik (6.00, 0.30); (5.98, 0.30)\n", "Trimboli (5.85, 0.41); (5.90, 0.43)\n", "Pafundi (5.93, 0.40); (5.98, 0.40)\n", "Bjorkengren (5.94, 0.42); (6.00, 0.43)\n", "Vignato S. (5.88, 0.43); (5.91, 0.41)\n", "Samek (5.94, 0.42); (6.00, 0.43)\n", "Zerbin (5.95, 0.35); (5.99, 0.38)\n", "Ilkhan (5.75, 0.35); (5.71, 0.30)\n", "Degli Innocenti (5.94, 0.46); (5.99, 0.44)\n", "Fazzini (5.63, 0.48); (5.58, 0.38)\n", "Acella (5.95, 0.43); (6.03, 0.48)\n", "Tripi (5.92, 0.41); (5.95, 0.40)\n", "Garbett (5.92, 0.41); (5.97, 0.43)\n", "Iling-Junior (5.99, 0.50); (6.03, 0.45)\n", "Immobile (6.49, 0.72); (8.44, 2.88)\n", "Vlahovic (6.35, 0.70); (8.01, 2.47)\n", "Rafael Leao (6.46, 0.68); (8.11, 2.48)\n", "Martinez L. (6.32, 0.73); (8.24, 2.70)\n", "Dybala (6.33, 0.61); (7.56, 1.93)\n", "Arnautovic (6.23, 0.67); (7.74, 2.21)\n", "Beto (6.20, 0.69); (7.68, 2.18)\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Giroud (6.25, 0.68); (7.80, 2.27)\n", "Osimhen (6.39, 0.71); (8.15, 2.58)\n", "Deulofeu (6.42, 0.64); (7.86, 2.22)\n", "Lukaku (6.47, 0.71); (8.41, 2.84)\n", "Milik (6.18, 0.56); (7.02, 1.39)\n", "Pedro (6.26, 0.61); (7.42, 1.81)\n", "Abraham (6.23, 0.71); (7.87, 2.37)\n", "Berardi (6.46, 0.68); (8.20, 2.60)\n", "Dia (6.25, 0.69); (7.86, 2.33)\n", "Lookman (6.44, 0.65); (8.01, 2.39)\n", "Simeone (6.18, 0.73); (7.79, 2.32)\n", "Correa (6.13, 0.59); (7.15, 1.63)\n", "Zapata D. (6.39, 0.69); (8.22, 2.64)\n", "Dzeko (6.30, 0.68); (7.94, 2.38)\n", "Nzola (5.88, 0.43); (6.24, 0.84)\n", "Sanabria (6.12, 0.58); (7.16, 1.62)\n", "Muriel (6.36, 0.68); (7.99, 2.41)\n", "Rebic (6.06, 0.49); (6.59, 1.03)\n", "Bonazzoli (6.16, 0.60); (7.25, 1.71)\n", "Caprari (6.36, 0.64); (7.86, 2.24)\n", "Di Maria (6.08, 0.65); (6.81, 1.40)\n", "Lozano (6.19, 0.58); (7.16, 1.57)\n", "Ceesay (6.07, 0.55); (6.97, 1.44)\n", "Pinamonti (6.11, 0.65); (7.38, 1.91)\n", "Kouame' (6.19, 0.61); (7.36, 1.79)\n", "Lauriente' (6.28, 0.69); (7.47, 1.95)\n", "Jovic (6.02, 0.61); (6.88, 1.46)\n", "Barrow (6.11, 0.61); (7.09, 1.58)\n", "Henry (6.07, 0.63); (7.08, 1.64)\n", "Piatek (6.03, 0.52); (6.87, 1.36)\n", "Gonzalez N. (6.24, 0.64); (7.47, 1.89)\n", "Dessers (6.09, 0.49); (6.91, 1.34)\n", "Caputo (6.02, 0.64); (6.99, 1.58)\n", "Raspadori (6.11, 0.67); (7.15, 1.70)\n", "Lammers (5.92, 0.39); (6.09, 0.62)\n", "Okereke (6.00, 0.55); (6.62, 1.19)\n", "Cabral (6.08, 0.48); (6.86, 1.29)\n", "Gabbiadini (6.10, 0.65); (7.24, 1.78)\n", "Belotti (6.21, 0.66); (7.62, 2.11)\n", "Origi (6.03, 0.56); (6.70, 1.22)\n", "Botheim (5.97, 0.42); (6.39, 0.88)\n", "Alvarez A. (6.13, 0.60); (7.13, 1.62)\n", "Verde (6.25, 0.52); (7.14, 1.47)\n", "Destro (6.06, 0.65); (7.23, 1.80)\n", "Kean (6.02, 0.56); (6.70, 1.26)\n", "Pellegri (5.84, 0.33); (5.91, 0.54)\n", "Satriano (5.89, 0.45); (6.28, 0.89)\n", "Success (6.24, 0.59); (7.14, 1.49)\n", "Mota (5.84, 0.41); (6.25, 0.86)\n", "Banda (5.98, 0.36); (6.06, 0.45)\n", "Hojlund (6.01, 0.43); (6.54, 1.01)\n", "Lasagna (5.89, 0.40); (6.19, 0.78)\n", "Pjaca (5.99, 0.47); (6.45, 0.97)\n", "Gytkjaer (5.85, 0.37); (6.14, 0.74)\n", "Petagna (5.99, 0.54); (6.66, 1.23)\n", "Nestorovski (6.07, 0.46); (6.53, 0.95)\n", "Zanimacchia (5.97, 0.34); (6.06, 0.45)\n", "Piccoli (5.70, 0.39); (5.67, 0.34)\n", "Kallon (5.80, 0.36); (5.82, 0.40)\n", "Ciofani D. (6.13, 0.41); (6.85, 1.25)\n", "Di Francesco F. (6.13, 0.47); (6.73, 1.09)\n", "Boga (5.98, 0.38); (6.02, 0.39)\n", "Zirkzee (6.04, 0.53); (6.82, 1.31)\n", "Quagliarella (5.88, 0.47); (6.24, 0.85)\n", "Ibrahimovic (6.36, 0.65); (7.89, 2.28)\n", "Shomurodov (6.04, 0.51); (6.80, 1.30)\n", "Djuric (5.89, 0.30); (5.86, 0.30)\n", "Strelec (5.77, 0.38); (5.95, 0.66)\n", "Antiste (5.75, 0.37); (5.80, 0.49)\n", "Seck (5.94, 0.33); (6.04, 0.51)\n", "Buonaiuto (6.05, 0.36); (6.19, 0.46)\n", "Sansone (6.00, 0.46); (6.40, 0.86)\n", "Pussetto (5.99, 0.55); (6.67, 1.24)\n", "Cambiaghi (5.91, 0.30); (5.89, 0.31)\n", "Colombo (6.01, 0.49); (6.74, 1.24)\n", "Afena-Gyan (5.87, 0.54); (6.22, 0.91)\n", "Defrel (5.84, 0.42); (6.00, 0.63)\n", "Karamoh (6.03, 0.33); (6.11, 0.39)\n", "Cancellieri (6.19, 0.49); (6.76, 1.09)\n", "Tsadjout (6.03, 0.42); (6.20, 0.57)\n", "Rodriguez P. (5.92, 0.34); (5.94, 0.34)\n", "Valencia D. (5.68, 0.32); (5.70, 0.29)\n", "Edera (5.92, 0.43); (5.98, 0.47)\n", "Oddei (6.12, 0.31); (6.11, 0.31)\n", "Raimondo (5.95, 0.43); (6.02, 0.45)\n", "Kristoffersen (5.89, 0.43); (5.94, 0.41)\n", "Kaio Jorge (5.98, 0.36); (6.03, 0.39)\n", "De Luca (5.86, 0.44); (5.92, 0.46)\n", "Soule' (6.01, 0.45); (6.08, 0.39)\n", "Lazetic (5.97, 0.41); (6.05, 0.46)\n", "Voelkerling Persson (5.94, 0.44); (6.01, 0.45)\n", "Sanca (5.91, 0.37); (5.94, 0.36)\n" ] } ], "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_old['games'])\n", "\n", "for i in range(players.shape[0]):\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", " oldseason_ok = True\n", " \n", " try:\n", " [mean, std, dist] = vote_predict_NNb(player, team, oppteam, home = home, oldseason = True)\n", " games = max( players_old['games'][i], players_old['gk_games'][i] )\n", " mins = max( players_old['minutes'][i], players_old['gk_minutes'][i] )\n", " except:\n", " [mean, std, dist] = vote_predict_NNb(player, team, oppteam, home = home)\n", " oldseason_ok = False\n", " games = 0\n", " mins = 0\n", " \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", " 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 (not oldseason_ok):\n", " starter = -1\n", " voteperc = -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", " \n", " \n", "\n", "output = output.set_index('player')\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_season2122.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": 28, "id": "7300f3c2", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Terracciano: MV 6.30 ± 0.71; FV 4.72 + 1.43 (5.7% cs)\n", "Maignan: MV 6.27 ± 0.84; FV 5.66 + 1.16 (56.8% cs)\n", "Tatarusanu: MV 6.22 ± 0.78; FV 5.53 + 1.19 (45.2% cs)\n", "Handanovic: MV 5.89 ± 0.66; FV 3.40 + 1.88 (1.4% cs)\n", "Onana: MV 6.32 ± 0.73; FV 5.05 + 1.33 (11.7% cs)\n", "Sepe: MV 6.39 ± 0.74; FV 4.76 + 1.42 (6.4% cs)\n", "Di Gregorio: MV 5.83 ± 0.80; FV 3.91 + 1.59 (4.5% cs)\n", "Szczesny: MV 6.15 ± 0.77; FV 5.54 + 1.19 (47.8% cs)\n", "Audero: MV 6.34 ± 0.77; FV 5.27 + 1.28 (17.9% cs)\n", "Silvestri: MV 6.34 ± 0.71; FV 4.18 + 1.60 (2.7% cs)\n", "Carnesecchi: MV 6.17 ± 0.82; FV 5.58 + 1.17 (56.1% cs)\n", "Dragowski: MV 6.52 ± 0.82; FV 5.18 + 1.30 (13.1% cs)\n", "Milinkovic-Savic V.: MV 6.27 ± 0.77; FV 4.90 + 1.38 (12.4% cs)\n", "Sportiello: MV 6.32 ± 0.86; FV 5.06 + 1.31 (18.5% cs)\n", "Falcone: MV 6.34 ± 0.79; FV 5.47 + 1.21 (34.2% cs)\n", "Consigli: MV 6.12 ± 0.70; FV 4.86 + 1.35 (12.9% cs)\n", "Vicario: MV 6.32 ± 0.85; FV 5.64 + 1.17 (51.2% cs)\n" ] }, { "data": { "text/plain": [ "[array([6.31691631, 5.6403682 ]),\n", " array([0.42497158, 0.58689165], dtype=float32),\n", " [,\n", " ,\n", " ]]" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "predict_player('Terracciano', log = 1, plot = 0)\n", "predict_player('Maignan', log = 1, plot = 0)\n", "predict_player('Tatarusanu', log = 1, plot = 0)\n", "predict_player('Handanovic', log = 1, plot = 0)\n", "predict_player('Onana', log = 1, plot = 0)\n", "predict_player('Sepe', log = 1, plot = 0)\n", "predict_player('Di Gregorio', log = 1, plot = 0)\n", "predict_player('Szczesny', log = 1, plot = 0)\n", "predict_player('Audero', log = 1, plot = 0)\n", "predict_player('Silvestri', log = 1, plot = 0)\n", "predict_player('Carnesecchi', log = 1, plot = 0)\n", "predict_player('Dragowski', log = 1, plot = 0)\n", "predict_player('Milinkovic-Savic V.', log = 1, plot = 0)\n", "predict_player('Sportiello', log = 1, plot = 0)\n", "predict_player('Falcone', log = 1, plot = 0)\n", "predict_player('Consigli', log = 1, plot = 0)\n", "predict_player('Vicario', log = 1, plot = 0)" ] }, { "cell_type": "code", "execution_count": 36, "id": "bd126870", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Muriel: MV 6.20 ± 1.32; FV 7.29 + 3.53\n", "Tonali: MV 6.23 ± 0.95; FV 6.69 + 1.86\n", "Lobotka: MV 6.17 ± 0.72; FV 6.42 + 1.16\n", "Politano: MV 6.19 ± 0.77; FV 6.62 + 1.48\n", "Zapata D.: MV 6.09 ± 1.19; FV 7.18 + 3.36\n", "Frattesi: MV 6.23 ± 1.19; FV 7.37 + 3.58\n", "Gonzalez N.: MV 6.05 ± 1.07; FV 6.65 + 2.25\n", "Abraham: MV 6.20 ± 1.30; FV 7.66 + 4.26\n", "Pobega: MV 6.02 ± 0.68; FV 6.13 + 0.92\n", "Mario Rui: MV 6.10 ± 0.77; FV 6.25 + 0.98\n", "Cuadrado: MV 5.82 ± 0.95; FV 5.80 + 0.92\n", "Skriniar: MV 5.75 ± 0.68; FV 5.70 + 0.58\n", "Lukaku: MV 6.41 ± 1.42; FV 8.29 + 5.46\n" ] }, { "data": { "text/plain": [ "[array([6.41176047, 8.29456946]),\n", " array([0.70926785, 2.7289915 ], dtype=float32),\n", " [,\n", " ]]" ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ "predict_player('Muriel', plot = 0, log = 1)\n", "predict_player('Tonali', plot = 0, log = 1)\n", "predict_player('Lobotka', plot = 0, log = 1)\n", "predict_player('Politano', plot = 0, log = 1)\n", "predict_player('Zapata D.', plot = 0, log = 1)\n", "predict_player('Frattesi', plot = 0, log = 1)\n", "predict_player('Gonzalez N.', plot = 0, log = 1)\n", "predict_player('Abraham', plot = 0, log = 1)\n", "predict_player('Pobega', plot = 0, log = 1)\n", "predict_player('Mario Rui', plot = 0, log = 1)\n", "predict_player('Cuadrado', plot = 0, log = 1)\n", "predict_player('Skriniar', plot = 0, log = 1)\n", "predict_player('Lukaku', plot = 0, log = 1)" ] }, { "cell_type": "code", "execution_count": 35, "id": "4b9f5a7d", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Skriniar: MV 6.06 ± 0.88; FV 6.21 + 1.04\n", "Cuadrado: MV 6.11 ± 0.82; FV 6.33 + 1.20\n", "Bastoni: MV 6.10 ± 0.80; FV 6.23 + 0.95\n", "Barak: MV 6.08 ± 1.33; FV 7.10 + 3.33\n", "Politano: MV 6.08 ± 0.74; FV 6.35 + 1.22\n", "Smalling: MV 6.18 ± 0.92; FV 6.51 + 1.54\n", "Gosens: MV 6.02 ± 0.66; FV 6.08 + 0.75\n", "Skriniar: MV 5.75 ± 0.68; FV 5.70 + 0.58\n", "Cuadrado: MV 5.82 ± 0.95; FV 5.80 + 0.92\n", "Bastoni: MV 5.84 ± 0.91; FV 5.86 + 0.82\n", "Barak: MV 5.76 ± 0.70; FV 5.75 + 0.72\n", "Politano: MV 6.19 ± 0.77; FV 6.62 + 1.48\n", "Smalling: MV 6.17 ± 1.06; FV 6.60 + 1.91\n", "Gosens: MV 5.75 ± 0.65; FV 5.80 + 0.85\n" ] }, { "data": { "text/plain": [ "[array([5.75403311, 5.80380687]),\n", " array([0.3249786 , 0.42722106], dtype=float32),\n", " [,\n", " ]]" ] }, "execution_count": 35, "metadata": {}, "output_type": "execute_result" } ], "source": [ "predict_player('Skriniar', log = 1, oldseason= True)\n", "predict_player('Cuadrado', log = 1, oldseason= True)\n", "predict_player('Bastoni', log = 1, oldseason= True)\n", "predict_player('Barak', log = 1, oldseason= True)\n", "predict_player('Politano', log = 1, oldseason= True)\n", "predict_player('Smalling', log = 1, oldseason= True)\n", "predict_player('Gosens', log = 1, oldseason= True)\n", "\n", "predict_player('Skriniar', log = 1, oldseason= False)\n", "predict_player('Cuadrado', log = 1, oldseason= False)\n", "predict_player('Bastoni', log = 1, oldseason= False)\n", "predict_player('Barak', log = 1, oldseason= False)\n", "predict_player('Politano', log = 1, oldseason= False)\n", "predict_player('Smalling', log = 1, oldseason= False)\n", "predict_player('Gosens', log = 1, oldseason= False)" ] }, { "cell_type": "code", "execution_count": 34, "id": "10c7ad3e", "metadata": {}, "outputs": [ { "data": { "image/png": "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CAsLw549e3Dy5El88MEHZY4A8fDwwPTp03H48GGcOnUK48ePx/jx47F9+/ZiZY8ePYrFixejRYsWFbl1AMDMmTPNCVd5GAwG2Nvb47XXXis1OSvL22+/Df+iR3nfRSaT4amnnsIvv/yCs2fPYsWKFfjjjz9KTBStiUN7iWoBtRpYv17qKKxLrVBj/dM2dlNWdvdkd9WtopPrtWnTBhcvXsTGjRsxevRoAKZaicDAQNStW9dcbsCAAfD29saKFSswY8YM8/b8/HysXbsWs2fPLvUa06dPR79+/TBnzhzztrvPXZKIiAiL16+//jpWrlyJAwcOoHfv3ubtubm5GD16NJYsWYKPP/64XPf8IBwdHbFw4UIAwMGDB3Hr1q1yH/v7779jx44d+Omnn/D7779b7HN3d8dLL71kfh0cHIzJkydj7ty5Vom7NKwZISKyUUWT3UmxVCYJGj9+PJYvX25+HR0djQkTJliUUSgUGDNmDFasWGExy+z69euh1WrNicy9jEYjtmzZgoYNG6J3797w9vZG+/btsWnTpnLHJ4oidu7ciTNnzqBLly4W+15++WX079+/UrUU1enGjRt44YUX8P3338PBweG+5a9fv46NGzeia9euVRoXkxEiInooPPfcczhw4AAuXbqEy5cv4+DBg3j22WeLlZswYQIuXbqEPXv2mLdFR0djyJAhcHd3L/HcqampyM3NxSeffII+ffpgx44dGDx4MIYMGYK9e/eWGVdWVhacnJygVCrRv39/fP311+jZs6d5/48//ojY2FhERUWV+173798PJycn8zJ79mz88MMPxbZZkyiKGDduHCZNmoTw8PAyy44cORIODg4ICAiAi4sLli5datVY7sVmGqJaIC/P9qaDz9PmcTr4+3BwMP17S3XtivLy8kL//v2xcuVKiKKI/v37w8vLq1i5sLAwdOzYEdHR0ejWrRsuXLiA/fv3Y8eOHaWe22g0AgCeeuopTJ06FQDQqlUrHDp0CIsWLSrzL39nZ2fExcUhNzcXO3fuRGRkJOrWrYuIiAhcuXIFr7/+Onbs2FGh2UfDw8MtOo5+9dVXuHbtGj799FPzNg8Pj3Kfrzy+/vprZGdnY9q0afct+7///Q8zZszAmTNn8N577yEyMhILFiywajx3q3Aysm/fPsydOxexsbFITk7Gzz//XO5evAcPHkTXrl3RrFkz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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Rafael Leao: MV 6.34 ± 1.43; FV 7.95 + 4.79\n" ] }, { "data": { "text/plain": [ "[array([6.3442238 , 7.94607029]),\n", " array([0.71331024, 2.395806 ], dtype=float32),\n", " [,\n", " ]]" ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "predict_player('Rafael Leao', plot = 1, log = 1)" ] }, { "cell_type": "markdown", "id": "0a5de8a1", "metadata": {}, "source": [ "Code for predicting the probability distribution of total team points" ] }, { "cell_type": "code", "execution_count": 98, "id": "65f9a572", "metadata": {}, "outputs": [], "source": [ "squad = ['Szczesny',\n", " 'Demiral',\n", " 'Kim',\n", " 'Di Lorenzo',\n", " 'Valeri',\n", " 'Kostic',\n", " 'Frattesi',\n", " 'Barella',\n", " 'Strefezza',\n", " 'Rafael Leao',\n", " 'Hojlund']\n", "\n", "\n", "dist = [None] * len(squad)\n", "\n", "defenders = list([0]) * len(squad)\n", "\n", "\n", "for i in range(len(squad)):\n", " [X, y, dist[i]] = predict_player(squad[i], plot = 0, log = 0) \n", " \n", " if(players['r'][squad[i]] == 'D'):\n", " defenders[i] = 1" ] }, { "cell_type": "code", "execution_count": 99, "id": "2e78f674", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Avg Total Points = 76.45314080810547\n", "Avg Mod Points = 1.548\n", "Avg Clean Sheets = 0.34\n" ] } ], "source": [ "ITERS = 500\n", "\n", "MOD = True\n", "\n", "total_points = np.zeros(ITERS)\n", "clean_sheets = np.zeros(ITERS)\n", "mod_points = np.zeros(ITERS)\n", "\n", "mv_samples = [None] * len(squad)\n", "fv_samples = [None] * len(squad)\n", "\n", "for i in range(len(squad)):\n", " mv_samples[i] = dist[i][0].sample(ITERS)\n", " fv_samples[i] = dist[i][1].sample(ITERS)\n", " \n", "cs_samples = dist[0][2].sample(ITERS)\n", "\n", "for k in range(ITERS):\n", " d_points = list([0]) * len(squad)\n", " \n", " cleansheet = float(cs_samples[k])\n", " total_points[k] += cleansheet\n", " clean_sheets[k] += cleansheet\n", " \n", " for i in range(len(squad)): \n", " if(defenders[i] == 1):\n", " d_points[i] = float(mv_samples[i][k])\n", "\n", " total_points[k] += float(fv_samples[i][k])\n", " \n", " d_points.sort(reverse = True)\n", "\n", " if(MOD and d_points[3] > 0): # minimum 3 defenders to get MOD\n", " mod_avg = 0\n", " for j in range(3):\n", " mod_avg += round(d_points[j] * 2) / 2\n", " mod_avg /= 3\n", "\n", " if(mod_avg >= 7):\n", " mod_points[k] = 6\n", " elif(mod_avg >= 6.5):\n", " mod_points[k] = 3\n", " elif(mod_avg >= 6):\n", " mod_points[k] = 1\n", "\n", " total_points[k] += mod_points[k]\n", " \n", " \n", "print('Avg Total Points = ' + str(total_points.mean()))\n", "print('Avg Mod Points = ' + str(mod_points.mean()))\n", "print('Avg Clean Sheets = ' + str(clean_sheets.mean()))\n" ] }, { "cell_type": "code", "execution_count": 100, "id": "c5d752d8", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 100, "metadata": {}, "output_type": "execute_result" } ], "source": [ "loc_0 = total_points.mean()\n", "\n", "squad_model = tf.keras.Sequential(\n", " [\n", " tf.keras.layers.Dense(3),\n", " tfp.layers.DistributionLambda(\n", " lambda t: tfp.distributions.SinhArcsinh(loc= loc_0 + t[..., 0], scale = 1e-3 + tf.math.softplus(t[..., 1]), \n", " skewness = t[..., 2], tailweight = 0.8) # fixed tailweight seems ok\n", " )\n", " ]\n", ")\n", "\n", "def negloglik(y, distr):\n", " return -distr.log_prob(y)\n", "\n", "squad_model.compile(optimizer=tf.optimizers.Adam(learning_rate=1), loss=negloglik)\n", "\n", "dummy_input = np.zeros(total_points.shape)[:, np.newaxis]\n", "squad_model.fit(dummy_input, total_points, epochs=100, verbose=False)" ] }, { "cell_type": "code", "execution_count": 101, "id": "9754ec4c", "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "squad_points_dist = squad_model(np.zeros(1)[:, np.newaxis])\n", "\n", "\n", "x = np.arange(start = 0, stop = 200, step = 0.001)\n", "prb = squad_points_dist.prob(x)\n", "\n", "mn = total_points.mean()\n", "\n", "f, ax = plt.subplots(1, 2)\n", "\n", "ax[0].plot(x, prb)\n", "ax[0].fill_between(x, prb, color = 'lightblue')\n", "ax[0].vlines(x = mn, color = 'grey', ymin = 0, ymax = 3, linestyle = 'dashed', label = 'mean = ' + \"{:.2f}\".format(mn))\n", "\n", "ax[0].set_xlim([40, 120])\n", "ax[0].set_ylim([0, 0.12])\n", "\n", "ax[0].legend()\n", "\n", "#ax[0].hist(total_points, bins = 20, density = True)\n", "\n", "\n", "ax[1].text(0.1, 0.8, \"\\n\".join(squad), fontsize=10, transform=ax[1].transAxes, verticalalignment = 'top')\n", "\n", "text = \"\\n\".join(['Avg Total Points = ' + \"{:.2f}\".format(total_points.mean()), \n", " 'Avg Mod Points = ' + \"{:.2f}\".format(mod_points.mean()), \n", " 'Avg Clean Sheets = ' + \"{:.2f}\".format(clean_sheets.mean())])\n", "\n", "ax[1].text(0.5, 0.8, text, fontsize=10, transform=ax[1].transAxes, verticalalignment = 'top')\n", "\n", "ax[1].axis('off')\n", "\n", "\n", "\n", "plt.subplots_adjust(right=1.5)\n", "\n", "plt.show()" ] }, { "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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\n", "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 }