diff --git a/.DS_Store b/.DS_Store index fe13f73..b06a9fd 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/app/src/components/Hero.jsx b/app/src/components/Hero.jsx index 1aeb598..5e0ba49 100644 --- a/app/src/components/Hero.jsx +++ b/app/src/components/Hero.jsx @@ -342,10 +342,10 @@ const Hero = () => { @@ -355,23 +355,23 @@ const Hero = () => {
setActionType(event.target.value)} defaultValue={technique}>
@@ -379,10 +379,10 @@ const Hero = () => { onChange={event => setPossition(event.target.value)} defaultValue={shooterPossition}> diff --git a/app/src/flask-server/modele/__pycache__/modele.cpython-310.pyc b/app/src/flask-server/modele/__pycache__/modele.cpython-310.pyc index 903c3c6..5f6495d 100644 Binary files a/app/src/flask-server/modele/__pycache__/modele.cpython-310.pyc and b/app/src/flask-server/modele/__pycache__/modele.cpython-310.pyc differ 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 1b53ba2..1361d5f 100644 Binary files a/app/src/flask-server/modele/__pycache__/modele.cpython-39.pyc and b/app/src/flask-server/modele/__pycache__/modele.cpython-39.pyc differ diff --git a/app/src/flask-server/modele/modele.py b/app/src/flask-server/modele/modele.py index 0227562..029e211 100644 --- a/app/src/flask-server/modele/modele.py +++ b/app/src/flask-server/modele/modele.py @@ -5,10 +5,8 @@ import math import numpy as np # 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): - - # distance_to_goalM = sqrt(( (position_x**2) + (position_y**2))) - +def LogisticRegression_predict_proba(position_x, position_y, distance_to_goalM, angle, match_minute, Number_Intervening_Opponents, Number_Intervening_Teammates, isFoot, isHead): + # distance_to_goalM = sqrt(( (position_x**2) + (position_y**2))) model = load('regresja_logistyczna.joblib') X_new = pd.DataFrame(columns=['position_x', 'position_y', 'distance_to_goalM', 'angle','match_minute', 'Number_Intervening_Opponents','Number_Intervening_Teammates', 'isFoot', 'isHead']) X_new.loc[len(X_new.index)] = [position_x, position_y, distance_to_goalM, angle, match_minute, Number_Intervening_Opponents, Number_Intervening_Teammates, isFoot, isHead] @@ -132,7 +130,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', @@ -169,8 +167,10 @@ def xgboost_predict_proba_v2(shooter,goalkeeper,teamMatesList,opponentsList, min teamMatesList = zmienWMaciez(teamMatesList) opponentsList = zmienWMaciez(opponentsList) - number_of_players_opponents = len(teamMatesList) - number_of_players_teammates = len(opponentsList) + + # DO ROZBUDOWY + number_of_players_opponents = 3 + number_of_players_teammates = 3 # Bramkarz x_player_opponent_Goalkeeper = goalkeeper[0] y_player_opponent_Goalkeeper = goalkeeper[1] @@ -178,19 +178,16 @@ 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") - print(X_new.head) X_new.loc[len(X_new.index)] = [minute, position_name, shot_body_part_name, shot_technique_name,shot_type_name, shot_first_time, shot_one_on_one,shot_aerial_won, shot_deflected, 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], @@ -209,11 +206,16 @@ 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) # Pomocnicze Funkcje +# trzeba uzupelnic def sortNearestToShooter(playerList, shooter): return playerList @@ -230,14 +232,14 @@ def loc2angle(x, y): rads = math.pi + rads if rads < 0 else rads deg = math.degrees(rads) return deg - +# zamiana stringa odzielonego ',' na liste def konwertujDoListy(listaString): listaString = listaString.split(",") listaFloat = [] for elem in listaString: listaFloat.append(float(elem)) return listaFloat - +#Zamiana listy w formie [1x,1y,2x,2y,3x,3y...] do postaci maciezy [xi, yi] def zmienWMaciez(lista): maciez = [] for i in range(0,len(lista),2): @@ -245,5 +247,5 @@ def zmienWMaciez(lista): maciez.append(player) if(len(maciez) < 10): for i in range(len(maciez),11,1): - maciez.append([None,None]) - return maciez \ No newline at end of file + maciez.append([np.nan,np.nan]) + return maciez 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