Spaces:
Sleeping
Sleeping
Commit
•
a0ae618
1
Parent(s):
dd29459
Upload 6 files
Browse files- .gitattributes +1 -0
- app.py +10 -0
- best_estimator.pkl +3 -0
- eda.py +76 -0
- prediksi.py +44 -0
- ranking.csv +3 -0
- 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
|