File size: 4,791 Bytes
cc5f87d
 
6f2f7b4
cc5f87d
 
6f2f7b4
cc5f87d
 
 
 
6f2f7b4
 
 
cc5f87d
 
6f2f7b4
 
 
cc5f87d
6f2f7b4
 
 
 
 
cc5f87d
 
 
 
 
6f2f7b4
 
 
 
 
 
 
cc5f87d
 
6f2f7b4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
cc5f87d
6f2f7b4
 
 
cc5f87d
6f2f7b4
cc5f87d
 
6f2f7b4
cc5f87d
6f2f7b4
 
cc5f87d
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
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()