agunggst commited on
Commit
b43cb9f
·
verified ·
1 Parent(s): 0034a2d

Update prediction.py

Browse files
Files changed (1) hide show
  1. prediction.py +78 -78
prediction.py CHANGED
@@ -1,79 +1,79 @@
1
- import streamlit as st
2
- import pandas as pd
3
- import numpy as np
4
- import pickle
5
- import json
6
-
7
- with open('model.pkl', 'rb') as file_1: #rb =read binary
8
- model = pickle.load(file_1)
9
-
10
- with open('scaler.pkl', 'rb') as file_2:
11
- scaler = pickle.load(file_2)
12
-
13
- with open('encoder.pkl', 'rb') as file_3:
14
- encoder = pickle.load(file_3)
15
-
16
- with open('num.txt', 'r') as file_4:
17
- num = json.load(file_4)
18
-
19
- with open('cat.txt', 'r') as file_5:
20
- cat = json.load(file_5)
21
-
22
- def run():
23
- # membuat form
24
- with st.form(key='form_fifa_2022'):
25
- name = st.text_input('Name', placeholder='--nama-pemain--')
26
- age = st.number_input('Age', min_value=16, max_value=52, value=24, step=1, help='Usia pemain')
27
- height = st.number_input('Height', min_value=100, max_value=220, value=185, step=1, help='Tinggi pemain')
28
- weight = st.number_input('Weight', min_value=60, max_value=100, value=80, step=1, help='Berat badan pemain')
29
- value_eur = st.slider('ValueEur', min_value=500000, max_value=2000000, value=1000000, step=1, help='Harga pemain')
30
- st.markdown('---')
31
- attacking_work_rate = st.selectbox('Pilih kategori attacking work rate: ', options=('Low', 'Medium', 'High'), index=0)
32
- defensive_work_rate = st.selectbox('Pilih kategori defensive work rate: ', options=('Low', 'Medium', 'High'), index=1)
33
- st.markdown('---')
34
- pace_total = st.number_input('PaceTotal', min_value=60, max_value=100, value=80, step=1)
35
- shooting_total = st.number_input('ShootingTotal', min_value=60, max_value=100, value=80, step=1)
36
- passing_total = st.number_input('PassingTotal', min_value=60, max_value=100, value=80, step=1)
37
- dribbling_total = st.number_input('DribblingTotal', min_value=60, max_value=100, value=80, step=1)
38
- defending_total = st.number_input('DefendingTotal', min_value=60, max_value=100, value=80, step=1)
39
- physicality_total = st.number_input('PhysicalityTotal', min_value=60, max_value=100, value=80, step=1)
40
- st.markdown('---')
41
- submitted = st.form_submit_button('Predict!')
42
-
43
- # Create data inference
44
- df_inf = {'Name': name,
45
- 'Age':age,
46
- 'Height':height,
47
- 'Weight':weight,
48
- 'ValueEUR':value_eur,
49
- 'AttackingWorkRate':attacking_work_rate,
50
- 'DefensiveWorkRate':defensive_work_rate,
51
- 'PaceTotal':pace_total,
52
- 'ShootingTotal':shooting_total,
53
- 'PassingTotal':passing_total,
54
- 'DribblingTotal':dribbling_total,
55
- 'DefendingTotal':defending_total,
56
- 'PhysicalityTotal':physicality_total}
57
-
58
- # Convert to Dataframe pandas
59
- df_inf = pd.DataFrame([df_inf])
60
- df_inf = df_inf.rename(columns= {'ValueEUR':'Price'})
61
- st.dataframe(df_inf)
62
- df_inf_num = df_inf[num]
63
- df_inf_cat = df_inf[cat]
64
-
65
- # Feature scaling and encoding
66
- df_inf_num_scaled = scaler.transform(df_inf_num)
67
- df_inf_cat_encoded = encoder.transform(df_inf_cat)
68
-
69
- # Concat
70
- df_inf_final = np.concatenate([df_inf_num_scaled,df_inf_cat_encoded],axis=1)
71
-
72
- if submitted:
73
- prediction = model.predict(df_inf_final)
74
-
75
- st.write(f'## Prediction score: {'%.2f' % prediction[0]}')
76
-
77
-
78
- if __name__ == '__main__':
79
  run()
 
1
+ import streamlit as st
2
+ import pandas as pd
3
+ import numpy as np
4
+ import pickle
5
+ import json
6
+
7
+ with open('model.pkl', 'rb') as file_1: #rb =read binary
8
+ model = pickle.load(file_1)
9
+
10
+ with open('scaler.pkl', 'rb') as file_2:
11
+ scaler = pickle.load(file_2)
12
+
13
+ with open('encoder.pkl', 'rb') as file_3:
14
+ encoder = pickle.load(file_3)
15
+
16
+ with open('num.txt', 'r') as file_4:
17
+ num = json.load(file_4)
18
+
19
+ with open('cat.txt', 'r') as file_5:
20
+ cat = json.load(file_5)
21
+
22
+ def run():
23
+ # membuat form
24
+ with st.form(key='form_fifa_2022'):
25
+ name = st.text_input('Name', placeholder='--nama-pemain--')
26
+ age = st.number_input('Age', min_value=16, max_value=52, value=24, step=1, help='Usia pemain')
27
+ height = st.number_input('Height', min_value=100, max_value=220, value=185, step=1, help='Tinggi pemain')
28
+ weight = st.number_input('Weight', min_value=60, max_value=100, value=80, step=1, help='Berat badan pemain')
29
+ value_eur = st.slider('ValueEur', min_value=500000, max_value=2000000, value=1000000, step=1, help='Harga pemain')
30
+ st.markdown('---')
31
+ attacking_work_rate = st.selectbox('Pilih kategori attacking work rate: ', options=('Low', 'Medium', 'High'), index=0)
32
+ defensive_work_rate = st.selectbox('Pilih kategori defensive work rate: ', options=('Low', 'Medium', 'High'), index=1)
33
+ st.markdown('---')
34
+ pace_total = st.number_input('PaceTotal', min_value=60, max_value=100, value=80, step=1)
35
+ shooting_total = st.number_input('ShootingTotal', min_value=60, max_value=100, value=80, step=1)
36
+ passing_total = st.number_input('PassingTotal', min_value=60, max_value=100, value=80, step=1)
37
+ dribbling_total = st.number_input('DribblingTotal', min_value=60, max_value=100, value=80, step=1)
38
+ defending_total = st.number_input('DefendingTotal', min_value=60, max_value=100, value=80, step=1)
39
+ physicality_total = st.number_input('PhysicalityTotal', min_value=60, max_value=100, value=80, step=1)
40
+ st.markdown('---')
41
+ submitted = st.form_submit_button('Predict!')
42
+
43
+ # Create data inference
44
+ df_inf = {'Name': name,
45
+ 'Age':age,
46
+ 'Height':height,
47
+ 'Weight':weight,
48
+ 'ValueEUR':value_eur,
49
+ 'AttackingWorkRate':attacking_work_rate,
50
+ 'DefensiveWorkRate':defensive_work_rate,
51
+ 'PaceTotal':pace_total,
52
+ 'ShootingTotal':shooting_total,
53
+ 'PassingTotal':passing_total,
54
+ 'DribblingTotal':dribbling_total,
55
+ 'DefendingTotal':defending_total,
56
+ 'PhysicalityTotal':physicality_total}
57
+
58
+ # Convert to Dataframe pandas
59
+ df_inf = pd.DataFrame([df_inf])
60
+ df_inf = df_inf.rename(columns= {'ValueEUR':'Price'})
61
+ st.dataframe(df_inf)
62
+ df_inf_num = df_inf[num]
63
+ df_inf_cat = df_inf[cat]
64
+
65
+ # Feature scaling and encoding
66
+ df_inf_num_scaled = scaler.transform(df_inf_num)
67
+ df_inf_cat_encoded = encoder.transform(df_inf_cat)
68
+
69
+ # Concat
70
+ df_inf_final = np.concatenate([df_inf_num_scaled,df_inf_cat_encoded],axis=1)
71
+
72
+ if submitted:
73
+ prediction = model.predict(df_inf_final)
74
+
75
+ st.write(f'## Prediction score: {prediction[0]}')
76
+
77
+
78
+ if __name__ == '__main__':
79
  run()