shirokuniku commited on
Commit
a0ae618
1 Parent(s): dd29459

Upload 6 files

Browse files
Files changed (7) hide show
  1. .gitattributes +1 -0
  2. app.py +10 -0
  3. best_estimator.pkl +3 -0
  4. eda.py +76 -0
  5. prediksi.py +44 -0
  6. ranking.csv +3 -0
  7. requirements.txt +6 -0
.gitattributes CHANGED
@@ -33,3 +33,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ ranking.csv filter=lfs diff=lfs merge=lfs -text
app.py ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ import prediksi
3
+ import eda
4
+
5
+ navigation = st.sidebar.selectbox('Pilih halaman: ', ('EDA', 'Predict Player Return'))
6
+
7
+ if navigation == "EDA":
8
+ eda.run()
9
+ else:
10
+ prediksi.run()
best_estimator.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:5f5073c24cb0edd53710d1db71b4352a68ed376131c517d21a4f9555dd2c1028
3
+ size 426485
eda.py ADDED
@@ -0,0 +1,76 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ import pandas as pd
3
+ import seaborn as sns
4
+ import matplotlib.pyplot as plt
5
+ import plotly.express as px
6
+ from PIL import Image
7
+
8
+ # Set page config
9
+ st.set_page_config(
10
+ page_title = 'NBA_EDA',
11
+ layout='wide',
12
+ initial_sidebar_state='expanded'
13
+ )
14
+
15
+ # Create function for eda
16
+ def run():
17
+ # Create title
18
+ st.title('NBA Player Return Prediction')
19
+
20
+
21
+ # Create sub header
22
+ st.subheader('EDA untuk Analisis Dataset NBA')
23
+
24
+ # Add image
25
+ st.image('https://pbs.twimg.com/profile_images/1745324889009987584/JGBvQa17_200x200.png'
26
+ ,caption='NBA Logo')
27
+
28
+ # Create a description
29
+ st.write('Dibuat Oleh Daffa')
30
+ st.write('# Deskripsi 1')
31
+ st.write('## Deskripsi 2')
32
+ st.write('### Deskripsi 3')
33
+
34
+
35
+ # Magic Syntax
36
+ '''
37
+ Pada page kali ini, penulis akan melakukan eksplorasi sederhana,
38
+ Dataset yang digunakan adalah NBA dari tahun 2004.
39
+ Dataset ini berasal dari web kaggle.com
40
+ '''
41
+
42
+ # Create straight line
43
+ st.markdown('---')
44
+
45
+ # Show dataframe
46
+ df = pd.read_csv('ranking.csv')
47
+ st.dataframe(df)
48
+
49
+ # Create Barplot
50
+ st.write('### Plot WinPercentage')
51
+ popularity = df.groupby(['TEAM','G'])['W_PCT'].mean().sort_values().reset_index()
52
+ fig = plt.figure(figsize=(15,5))
53
+ sns.barplot(data=popularity, y='TEAM', orient='h', x='G')
54
+ st.pyplot(fig)
55
+ # Statement Barchart using Magic Syntax
56
+ '''
57
+ Medium ada xxxxx Low ada High ada xxxx...
58
+ '''
59
+ #
60
+
61
+ # Create Histogram
62
+ st.write('### Barplot Berdasarkan Losses')
63
+ fig = plt.figure(figsize=(15,5))
64
+ # definisikan popularitas
65
+ aw = df.groupby(['TEAM','L'])['W_PCT'].mean().sort_values().reset_index()
66
+ # buat graf dengan filter yang diinginkan
67
+ sns.barplot(data=aw, y='TEAM', orient='h', x='L')
68
+ st.pyplot(fig)
69
+
70
+ # Statement Histogram
71
+ '''
72
+ Age normal distribusi...
73
+ '''
74
+
75
+ if __name__ == '__main__':
76
+ run()
prediksi.py ADDED
@@ -0,0 +1,44 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Import libraries
2
+ import pickle
3
+ import json
4
+ import pandas as pd
5
+ import numpy as np
6
+ import streamlit as st
7
+
8
+ with open('best_estimator.pkl', 'rb') as file_1:
9
+ best_estimator = pickle.load(file_1)
10
+
11
+ def run():
12
+ with st.form(key = 'NBA Player Return Form'):
13
+
14
+ Teamid = st.number_input('TEAM_ID', min_value=0, max_value=9999999999, value = 0, placeholder="Type a number...", help='Nomor Team')
15
+ Seasonid = st.number_input('SEASON_ID', min_value=0, max_value=99999,value=0, placeholder="Type a number", help='Nomor Season')
16
+ Conference = st.text_input('Name of Conference', value= 'West')
17
+ Team = st.text_input('Name of Team', value= 'Phoenix')
18
+ Game = st.number_input('Number of Games', min_value=0, value = None, placeholder="Type a number...", help='Berapa Game Dalam Season')
19
+ Win = st.number_input('Number of Win', min_value=0, value = None, placeholder="Type a number...", help='Berapa Win Dalam Season')
20
+ Loss = st.number_input('Number of Loss', min_value=0, value = None, placeholder="Type a number...", help='Berapa Loss Dalam Season')
21
+ WinPercentage = st.number_input('Win %', min_value=0.01, value = None, placeholder="Type a number...", help='Berapa Win %')
22
+ submitted = st.form_submit_button('Predict')
23
+
24
+ df_inf = {
25
+ 'TEAM_ID': Teamid,
26
+ 'SEASON_ID': Seasonid,
27
+ 'CONFERENCE': Conference,
28
+ 'TEAM': Team,
29
+ 'G': Game,
30
+ 'W': Win,
31
+ 'L': Loss,
32
+ 'W_PCT': WinPercentage,
33
+ }
34
+ df_inf = pd.DataFrame([df_inf])
35
+
36
+ if submitted:
37
+ pred = best_estimator.predict(df_inf)
38
+ if pred == 1:
39
+ st.write('Will Return')
40
+ else:
41
+ st.write('Will not Return')
42
+
43
+ if __name__ == '__main__':
44
+ run()
ranking.csv ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:61b082d15cd46c93bc2e16db29af8708ea0be753c26c6c6f0611fb8f8d26ba92
3
+ size 15446241
requirements.txt ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ streamlit
2
+ pandas
3
+ seaborn
4
+ matplotlib
5
+ numpy
6
+ scikit-learn==1.3.0