abhicodes's picture
Rename app.txt to app.py
a2d9777
raw
history blame
4.79 kB
import gradio as gr
import joblib
import numpy as np
# Load the model
model = joblib.load('cricket_score_prediction_model.pkl')
# Create the inputs list with dropdown menus and sliders
inputs = [
gr.Dropdown(
choices=['Afghanistan', 'Australia', 'Bangladesh', 'England', 'India', 'Ireland', 'New Zealand', 'Pakistan',
'South Africa', 'Sri Lanka', 'West Indies', 'Zimbabwe'],
label="Batting Team"
),
gr.Dropdown(
choices=['Afghanistan', 'Australia', 'Bangladesh', 'England', 'India', 'Ireland', 'New Zealand', 'Pakistan',
'South Africa', 'Sri Lanka', 'West Indies', 'Zimbabwe'],
label="Bowling Team"
),
gr.Slider(minimum=0, maximum=400, step=1, label="Total Runs"),
gr.Slider(minimum=0, maximum=11, step=1, label="Total Wickets"),
gr.Slider(minimum=0.0, maximum=19.6, step=0.1, label="Overs"),
gr.Slider(minimum=0, maximum=200, step=1, label="Runs last 5 overs"),
gr.Slider(minimum=0, maximum=11,step=1, label="Wickets last 5 overs"),
]
# Create a function to make predictions
def predict_accident(
batting_team,
bowling_team,
total_runs,
total_wickets,
overs,
runs_last_5_overs,
wickets_last_5_overs
):
prediction_array = []
# Batting Team
if batting_team == 'Afghanistan':
prediction_array = prediction_array + [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
elif batting_team == 'Australia':
prediction_array = prediction_array + [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
elif batting_team == 'Bangladesh':
prediction_array = prediction_array + [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0]
elif batting_team == 'England':
prediction_array = prediction_array + [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0]
elif batting_team == 'India':
prediction_array = prediction_array + [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0]
elif batting_team == 'Ireland':
prediction_array = prediction_array + [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0]
elif batting_team == 'New Zealand':
prediction_array = prediction_array + [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0]
elif batting_team == 'Pakistan':
prediction_array = prediction_array + [0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0]
elif batting_team == 'South Africa':
prediction_array = prediction_array + [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0]
elif batting_team == 'Sri Lanka':
prediction_array = prediction_array + [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0]
elif batting_team == 'West Indies':
prediction_array = prediction_array + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0]
elif batting_team == 'Zimbabwe':
prediction_array = prediction_array + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1]
# Bowling Team
if bowling_team == 'Afghanistan':
prediction_array = prediction_array + [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
elif bowling_team == 'Australia':
prediction_array = prediction_array + [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
elif bowling_team == 'Bangladesh':
prediction_array = prediction_array + [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0]
elif bowling_team == 'England':
prediction_array = prediction_array + [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0]
elif bowling_team == 'India':
prediction_array = prediction_array + [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0]
elif bowling_team == 'Ireland':
prediction_array = prediction_array + [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0]
elif bowling_team == 'New Zealand':
prediction_array = prediction_array + [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0]
elif bowling_team == 'Pakistan':
prediction_array = prediction_array + [0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0]
elif bowling_team == 'South Africa':
prediction_array = prediction_array + [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0]
elif bowling_team == 'Sri Lanka':
prediction_array = prediction_array + [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0]
elif bowling_team == 'West Indies':
prediction_array = prediction_array + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0]
elif bowling_team == 'Zimbabwe':
prediction_array = prediction_array + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1]
prediction_array = prediction_array + [total_runs, total_wickets, overs, runs_last_5_overs, wickets_last_5_overs]
prediction_array = np.array([prediction_array])
prediction = model.predict(prediction_array)
label = f"Score Prediction: {(prediction[0])}"
return label
# Create the Gradio interface
title = "T20i Score Prediction"
description = "Predict the score of a T20i match."
output_label = [gr.Label(num_top_classes=4)]
gr.Interface(
fn=predict_accident,
inputs=inputs,
outputs=output_label,
title=title,
description=description,
).launch()