zeel sheladiya
v1.0 done
8fb8334
raw
history blame
5.03 kB
import gradio as gr
import pandas as pd
import random
from keras.models import load_model
import tensorflow as tf
import numpy as np
data = pd.read_pickle("merged_all_table.pkl", compression='bz2')
home_team_id = sorted(data["home_team_long_name"].unique())
away_team_id = sorted(data["away_team_long_name"].unique())
nn_model = load_model('models/nn_model.h5')
def main_process(model, Home_team, Away_team):
home_temp = data[data["home_team_long_name"] == Home_team]
home_temp = home_temp[["home_team_overall_score", "home_total_goal", "home_players_avg_overall_rating", "home_players_avg_overall_score", "home_players_avg_ideal_body_rate", "home_total_win", "home_total_loose", "home_total_draw", "league_home_total_win", "league_home_total_loose", "league_home_total_draw"]]
print("Home Team Data Geathring ✅")
away_temp = data[data["away_team_long_name"] == Away_team]
away_temp = away_temp[["away_team_overall_score", "away_total_goal", "away_players_avg_overall_rating", "away_players_avg_overall_score", "away_players_avg_ideal_body_rate", "away_total_win", "away_total_loose", "away_total_draw", "league_away_total_win", "league_away_total_loose", "league_away_total_draw"]]
print("Away Team Data Geathring ✅")
table = pd.concat([home_temp.mean(), away_temp.mean()], axis=0)
table = table[["home_team_overall_score", "away_team_overall_score", "home_total_goal", "away_total_goal", "home_players_avg_overall_rating", "home_players_avg_overall_score", "home_players_avg_ideal_body_rate", "away_players_avg_overall_rating", "away_players_avg_overall_score", "away_players_avg_ideal_body_rate", "home_total_win", "home_total_loose", "home_total_draw", "away_total_win", "away_total_loose", "away_total_draw", "league_home_total_win", "league_home_total_loose", "league_home_total_draw", "league_away_total_win", "league_away_total_loose", "league_away_total_draw"]]
print("Table Concatination ✅")
X = table.to_frame().T
pred = model.predict(X)
predicted_labels = np.argmax(pred)
print("Data Prediction ✅")
print(predicted_labels)
return predicted_labels
def predict(Home_team, Away_team, Model_name):
if Home_team == "":
raise gr.Error("Home Team is required, Please Select The Home Team!")
if Away_team == "":
raise gr.Error("Away Team is required, Please Select The Away Team!")
if Model_name == "":
raise gr.Error("Model is required, Please Select The Model!")
if Model_name == "Simple Nueral Network Model":
model = nn_model
prediction = main_process(model, Home_team, Away_team)
if prediction == 0:
return "🥳 Home Team Win 🎉"
if prediction == 1:
return "🥳 Away Team Win 🎉"
if prediction == 2:
return "😑 Match Draw 😑"
# markup table for markdown
# # Members:
# | Students Name | Student ID |
# | :--- | :----: |
# | Zeel Karshanbhai Sheladiya | 500209119 |
# | Ravikumar Chandrakantbhai Patel | 500196861 |
# | Dharma Teja Reddy Bandreddi | 500209454 |
# | Sai Charan Reddy Meda | 500201602 |
# | Aditya Babu | 500209122 |
# | Sudip Bhattarai | 500198055 |
# | NOMAN FAZAL MUKADAM | 500209115 |
# | Leela Prasad Kavuri | 500209550 |
# | Vamsi Dasari | 500200775 |
with gr.Blocks() as demo:
gr.Markdown("""
# Subject: Data Science Project Management and Requirement Gathering 02 (Group 4)
[![GitHub](https://img.shields.io/badge/github-%23121011.svg?style=for-the-badge&logo=github&logoColor=white)](https://github.com/ravi7522/Football-Prediction)
""")
with gr.Row():
gr.Label("⚽️ Football Prediction ⚽️", container=False)
with gr.Row():
with gr.Column():
dd_home_team = gr.Dropdown(
label="Home Team",
choices=home_team_id,
info="Select Your Home Team:",
multiselect=False,
)
with gr.Column():
dd_away_team = gr.Dropdown(
label="Away Team",
choices=away_team_id,
info="Select Your Away Team:",
multiselect=False,
)
with gr.Row():
with gr.Column():
dd_model = gr.Dropdown(
label="Model ( Feature Under Construction 🚧 )",
choices=["Simple Nueral Network Model"],
info="Select Your Model:",
multiselect=False,
)
with gr.Row():
predict_btn = gr.Button(value="Predict")
with gr.Row():
Answer = gr.Label("👋 Hello, Let us predict the Football Match 💁‍♂️", container=False)
predict_btn.click(
predict,
inputs=[
dd_home_team,
dd_away_team,
dd_model,
],
outputs=[Answer],
)
demo.launch()