Sahitya77/IPLWinPredictor
0
1import streamlit as st2import pickle3import pandas as pd4pipe = pickle.load(open('pipe.pkl', 'rb'))5 6st.title('IPL Win Predictor')7teams=['Sunrisers Hyderabad',8 'Mumbai Indians',9 'Royal Challengers Bangalore',10 'Kolkata Knight Riders',11 'Kings XI Punjab',12 'Chennai Super Kings',13 'Rajasthan Royals',14 'Delhi Capitals']15 16cities = ['Hyderabad', 'Bangalore', 'Mumbai', 'Indore', 'Kolkata', 'Delhi',17 'Chandigarh', 'Jaipur', 'Chennai', 'Cape Town', 'Port Elizabeth',18 'Durban', 'Centurion', 'East London', 'Johannesburg', 'Kimberley',19 'Bloemfontein', 'Ahmedabad', 'Cuttack', 'Nagpur', 'Dharamsala',20 'Visakhapatnam', 'Pune', 'Raipur', 'Ranchi', 'Abu Dhabi',21 'Sharjah', 'Mohali', 'Bengaluru']22 23col1, col2 = st.columns(2)24 25with col1:26 batting_team = st.selectbox('Select the batting team',sorted(teams))27 28with col2:29 bowling_team = st.selectbox('Select the bowling team',sorted(teams))30 31selected_city = st.selectbox('Select host City',sorted(cities))32 33target = st.number_input('Target')34 35col3, col4, col5 = st.columns(3)36 37with col3:38 score = st.number_input('Score')39with col4:40 overs = st.number_input('Overs Completed')41with col5:42 wickets = st.number_input('Wickets out')43if st.button('Predict Probability'):44 runs_left = target-score45 balls_left = 120-(overs*6)46 wickets = 10-wickets47 crr = score/overs48 rrr = (runs_left*6)/balls_left49 input_df = pd.DataFrame({'batting_team':[batting_team],'bowling_team':[bowling_team],'city':[selected_city],'runs_left':[runs_left],'balls_left':[balls_left],'wickets':[wickets],'total_runs_x':[target],'crr':[crr],'rrr':[rrr]})50 st.table(input_df)51 52 result = pipe.predict_proba(input_df)53 loss = result[0][0]54 win = result[0][1]55 st.header(batting_team + "- " + str(round(win*100)) + "%")56 st.header(bowling_team + "- " + str(round(loss*100)) + "%")57 