From 0b3e58f05e4c9771649a265c2affca725c48c2c7 Mon Sep 17 00:00:00 2001 From: LukaszChrostowski Date: Mon, 8 Jan 2024 22:32:55 +0100 Subject: [PATCH] some work --- .DS_Store | Bin 8196 -> 8196 bytes .../modele/__pycache__/modele.cpython-39.pyc | Bin 2823 -> 5897 bytes app/src/flask-server/modele/modele.py | 16 +++++++++++----- app/src/flask-server/server.py | 2 +- 4 files changed, 12 insertions(+), 6 deletions(-) diff --git a/.DS_Store b/.DS_Store index fe13f732f99701c649b4849676d8df95bcbb8a9e..4b2dabf0f183b068696d0d561ff32d7cec30e8b7 100644 GIT binary patch delta 37 ncmZp1XmQxESAgBvL`T8M(sJ^B5&O-|f>)Vg0-NuPsB!}U-UkZ& delta 37 ncmZp1XmQxESAgBXR7b(s$YSz+5&O-|f>)Vg0-NuPsB!}U+};Z6 diff --git a/app/src/flask-server/modele/__pycache__/modele.cpython-39.pyc b/app/src/flask-server/modele/__pycache__/modele.cpython-39.pyc index 1b53ba2fb8bf524983480e9574d766f190000aaf..1361d5f805fa44938d3fc9bdfe172056de3b6b98 100644 GIT binary patch literal 5897 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 XVFu{|>gjBHKK&$Zq;>q0>D0dgpWVZc delta 381 zcmeCwYZv27X znvAzta`F>X{6LK2!lIIm_naAJqc~j>OA_6R5_3~;G3Vqb1BukUTdbLRDXA4vlkJ!! zSXh91CxB(x$ z&lsyV^Rmb?GO};hX60qk;|0nWF@gww5Fr2}1c8L6bCC>)Eej&#K!iMyn9L(6KRJa@ zj*)$G9iPPH*?e-7k8$o36$i;nfCx!AAvJj|mlUJmDKS7%O^ztGto)>$%%mbF zAUBGwATci`vA9SG$hpOmn^=-j#0=6b4I)4qkjw&`Dg{!=VFUDQX-=vg$jM;e@i1~Q J@-TC70|0-3QK0|; diff --git a/app/src/flask-server/modele/modele.py b/app/src/flask-server/modele/modele.py index fa1960f..b821860 100644 --- a/app/src/flask-server/modele/modele.py +++ b/app/src/flask-server/modele/modele.py @@ -1,7 +1,9 @@ from joblib import load import pandas as pd from math import sqrt +import numpy as np import math +from sklearn.preprocessing import LabelEncoder # Funkcja zwraca prawdopodobieĊ„stwo zdobycia gola def LogisticRegression_predict_proba(position_x, position_y, distance_to_goalM, angle, match_minute, Number_Intervening_Opponents, Number_Intervening_Teammates, isFoot, isHead): @@ -100,7 +102,7 @@ def xgboost_predict_proba_v2(shooter,goalkeeper,teamMatesList,opponentsList, min 'shot_open_goal','shot_follows_dribble', 'shot_redirect', 'x1', 'y1','number_of_players_opponents', 'number_of_players_teammates','angle', 'distance', - 'x_player_opponent_Goalkeeper', + 'x_player_opponent_Goalkeeper', 'x_player_opponent_8', 'x_player_opponent_1', 'x_player_opponent_2','x_player_opponent_3', 'x_player_opponent_4','x_player_opponent_5', 'x_player_opponent_6', 'x_player_teammate_2','x_player_opponent_9', 'x_player_opponent_10', @@ -146,8 +148,8 @@ def xgboost_predict_proba_v2(shooter,goalkeeper,teamMatesList,opponentsList, min shot_one_on_one = True if number_of_players_opponents == 1 else False # TeamMate goalkeppe - x_player_teammate_Goalkeeper = None - y_player_teammate_Goalkeeper = None + x_player_teammate_Goalkeeper = np.nan + y_player_teammate_Goalkeeper = np.nan #Reszta Zawodnikow print("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA") @@ -158,7 +160,7 @@ def xgboost_predict_proba_v2(shooter,goalkeeper,teamMatesList,opponentsList, min shot_open_goal,shot_follows_dribble, shot_redirect, shooter[0], shooter[1],number_of_players_opponents, number_of_players_teammates,angle, distance, - x_player_opponent_Goalkeeper, + x_player_opponent_Goalkeeper, opponentsList[8][0], opponentsList[0][0], opponentsList[1][0], opponentsList[2][0], opponentsList[3][0], opponentsList[4][0], opponentsList[5][0], opponentsList[6][0], opponentsList[7][0], teamMatesList[8][0], @@ -177,6 +179,10 @@ def xgboost_predict_proba_v2(shooter,goalkeeper,teamMatesList,opponentsList, min teamMatesList[8][1], teamMatesList[9][1], x_player_teammate_Goalkeeper, y_player_teammate_Goalkeeper, shot_kick_off] + + categorical_columns = ['position_name', 'shot_technique_name', 'shot_type_name', 'number_of_players_opponents', 'number_of_players_teammates', 'shot_body_part_name'] # list all your object columns here + # X_new = pd.get_dummies(X_new, columns=categorical_columns) + X_new[categorical_columns] = X_new[categorical_columns].astype('category') return model.predict_proba(X_new)[0][1].round(2) @@ -213,5 +219,5 @@ def zmienWMaciez(lista): maciez.append(player) if(len(maciez) < 10): for i in range(len(maciez),11,1): - maciez.append([None,None]) + maciez.append([np.nan,np.nan]) return maciez \ No newline at end of file diff --git a/app/src/flask-server/server.py b/app/src/flask-server/server.py index 797d647..9e81cf8 100644 --- a/app/src/flask-server/server.py +++ b/app/src/flask-server/server.py @@ -50,7 +50,7 @@ def get_model(): print("bramkarz: " + str(goalkepper) ) response = xgboost_predict_proba_v2(shooter = shooter, - opponentsList = opponentsList, teamMatesList = teamMatesList ,minute = 20, position_name = position_name, shot_body_part_name = body_part, shot_technique_name = technique, + opponentsList = opponentsList, teamMatesList = teamMatesList, minute = 20, position_name = position_name, shot_body_part_name = body_part, shot_technique_name = technique, shot_type_name = acionType, shot_first_time = False, shot_aerial_won = False, shot_deflected = False, shot_open_goal = False, shot_follows_dribble = False, shot_redirect = False, shot_kick_off = False, goalkeeper= goalkepper