File size: 4,238 Bytes
252fac8
 
b4d716b
252fac8
 
 
 
b4d716b
252fac8
 
 
 
b9ba09c
252fac8
 
 
 
b4d716b
252fac8
 
 
 
b4d716b
 
 
 
 
af645e0
b4d716b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
252fac8
 
 
 
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
from flask import Flask, request
import joblib
import numpy as np
from flask_cors import CORS

app = Flask(__name__)

app.secret_key = "cricktech-abhi-2023"

CORS(app)

# Load the model
model = joblib.load('cricket_world_cup_score_prediction_model.pkl')


@app.route('/', methods=['GET'])
def main():
    return {'message': 'Welcome to CrickTech!!'}


@app.route('/prediction', methods=['POST'])
def prediction():
    if request.method == 'POST':
        data = request.get_json()
        batting_team = data.get('batting_team')
        bowling_team = data.get('bowling_team')
        score = score_predict(batting_team, bowling_team, runs=data.get('total_runs'), wickets=data.get('total_wickets'), overs=data.get('overs'), runs_last_5_overs=data.get('runs_last_5_overs'), wickets_last_5_overs=data.get('wickets_last_5_overs'))
        return {'success': True, 'prediction': str(score)}


def score_predict(batting_team, bowling_team, runs, 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 + [overs, runs, wickets, runs_last_5_overs, wickets_last_5_overs]
    prediction_array = np.array([prediction_array])
    pred = model.predict(prediction_array)
    return int(round(pred[0]))


if __name__ == '__main__':
    app.run()