-
Notifications
You must be signed in to change notification settings - Fork 0
/
Cricket_stream.py
113 lines (101 loc) · 6.18 KB
/
Cricket_stream.py
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
110
111
112
113
from pycaret.classification import load_model, predict_model
import streamlit as st
import pandas as pd
import datetime
model = load_model('Scrap_cricket_model')
st.markdown(
"""
<style>
.sidebar .sidebar-content
{
background-image: linear-gradient(lightblue,orange);
color: white;
}
</style>
""",unsafe_allow_html=True,
)
st.markdown(
'''
<style>body{
background-color: lightblue;
}</style>''',unsafe_allow_html=True
)
st.markdown('<style>h1{color: Blue;}</style>', unsafe_allow_html=True)
def predict(model, input_df):
predictions_df = predict_model(estimator=model, data=input_df)
predictions = predictions_df['Label'][0]
score = predictions_df['Score'][0]
return [predictions,score]
def run():
from PIL import Image
image = Image.open('indian_team-2.jpg')
image_sidebar = Image.open('indian_team-1.jpg')
st.image(image,use_column_width=True)
add_selectbox = st.sidebar.selectbox(
"How would you like to predict?",
("Online", "Batch"))
st.sidebar.info('This app was created to predict the chances of the Indian team to win or lose with an accuracy of 80%')
st.sidebar.success('''Data was scraped from the following website -
http://www.howstat.com/cricket/Statistics/Matches
/MatchListCountry_ODI.asp?A=IND''')
st.sidebar.image(image_sidebar,use_column_width=True)
st.title("Predicting ODI match Result")
if add_selectbox == 'Online':
date = st.date_input('Match Date', datetime.date(2021,1,1))
Versus = st.selectbox('Versus', ['England', 'New Zealand', 'Pakistan', 'West Indies',
'Sri Lanka', 'Australia', 'Zimbabwe', 'Bangladesh', 'South Africa',
'United Arab Emirates', 'Kenya', 'Singapore', 'Netherlands',
'Namibia', 'Bermuda', 'Ireland', 'Scotland', 'Hong Kong',
'Afghanistan'])
First_Batting = st.selectbox('First Batting',[Versus,'India'])
Ground = st.selectbox('Ground',['AMI Stadium','Adelaide Oval','Albion Sports Complex','Antigua Recreation Ground','Arbab Niaz Stadium',
'Arnos Vale Ground','Arun Jaitley Stadium','Ayub National Stadium','Bangabandhu National Stadium','Barabati Stadium',
'Barkatullah Khan Stadium','Barsapara Cricket Stadium','Basin Reserve','Bay Oval','Bellerive Oval','Boland Park',
'Bourda','Brabourne Stadium','Brisbane Cricket Ground','Buffalo Park','Captain Roop Singh Stadium','Carisbrook',
'City Oval','Civil Service Cricket Club','County Ground (Bristol)','County Ground (Chelmsford)','County Ground (Hove)',
'Cricket, Skating & Curling Club','Darren Sammy National Cricket Stadium','Dr YS Rajasekhara Reddy Cricket Stadium','Dubai International Cricket Stadium',
'Eden Gardens','Eden Park','Edgbaston','Gaddafi Stadium','Galle International Stadium','Gandhi Sports Complex Ground',
'Gandhi Stadium','Grace Road','Green Park','Greenfield International Stadium','Gymkhana Club Ground','Harare Sports Club','Harrup Park',
'Headingley','Himachal Pradesh Cricket Association Stadium','Holkar Cricket Stadium',
'Ibn-e-Qasim Bagh Stadium','Indira Gandhi Stadium','Indira Priyadarshini Stadium','JSCA International Stadium Complex',
'Jawaharlal Nehru Stadium (Delhi)','Jinnah Stadium (Gujwranwala)','Jinnah Stadium (Sialkot)','Kallang Ground',
'Keenan Stadium','Kennington Oval','Kensington Oval','Khan Shaheb Osman Ali Stadium','Kingsmead',
'Kinrara Academy Oval','Lal Bahadur Shastri Stadium',"Lord's",'M Chinnaswamy Stadium','MA Aziz Stadium','MA Chidambaram Stadium',
'Madhavrao Scindia Cricket Ground','Maharashtra Cricket Association Stadium','Mahinda Rajapaksha International Cricket Stadium',
'Mangaung Oval','Manuka Oval','McLean Park','Melbourne Cricket Ground',
'Moti Bagh Stadium','Multan Cricket Stadium','Nahar Singh Stadium','Narendra Modi Stadium','National Stadium (Karachi)',
'Nehru Stadium (Guwahati)','Nehru Stadium (Indore)','Nehru Stadium (Kochi)','Nehru Stadium (Margao)','Nehru Stadium (Pune)','Nevill Ground',
'Newlands','Niaz Stadium','North Tasmania Cricket Association Ground',
'Old Trafford','Owen Delany Park',
'P Sara Oval','Padang Cricket Ground','Pallekele International Cricket Stadium','Providence Stadium','Punjab Cricket Association IS Bindra Stadium',
"Queen's Park (Old)","Queen's Park Oval",'Queens Sports Club',
'Queenstown Events Centre','R Premadasa Stadium','Rajiv Gandhi International Stadium',
'Rangiri Dambulla International Stadium','Rawalpindi Cricket Stadium','Reliance Stadium','Riverside Ground',
'Sabina Park',
'Sardar Vallabhai Patel Stadium','Saurashtra Cricket Association Stadium','Sawai Mansingh Stadium','Sector 16 Stadium','Seddon Park','Sharjah Cricket Stadium','Sheikh Zayed Stadium','Sher-I-Kashmir Stadium','Shere Bangla National Stadium','Sinhalese Sports Club Ground','Sir Vivian Richards Stadium','Sophia Gardens',"St George's Park",'SuperSport Park', 'Sydney Cricket Ground','The Cooper Associates County Ground',
'The Rose Bowl','Titwood','Trent Bridge','Tyronne Fernando Stadium','University Stadium','VRA Ground',
'Vidarbha Cricket Association Ground','Vidarbha Cricket Association Stadium','WACA Ground','Wanderers Stadium','Wankhede Stadium','Warner Park','Westpac Stadium','Willowmoore Park','Zafar Ali (Sahiwal) Stadium'])
Target_Runs = st.number_input('Target Runs',max_value=700, value=150)
output=""
result =""
input_dict={'Date':date,'Versus':Versus,'First Batting':First_Batting,'Ground':Ground,'Target Runs':Target_Runs}
input_df = pd.DataFrame([input_dict])
if st.button("Predict"):
output = predict(model=model, input_df=input_df)
perc = int((output[1]*8.0)*10)
if output[0]=='1.0':
result = "win"
st.success('India will {} the match with {}% success rate'.format(result,perc))
if output[0]=='0.0':
result = "lose"
st.success('India will {} the match'.format(result,perc))
if add_selectbox == 'Batch':
file_upload = st.file_uploader("Upload csv file for predictions", type=["csv"])
if file_upload is not None:
data = pd.read_csv(file_upload)
predictions = predict_model(estimator=model,data=data)
st.write(predictions)
def main():
run()
if __name__ == "__main__":
main()