Spaces:
Sleeping
Sleeping
| # import libraries | |
| import streamlit as st | |
| import pandas as pd | |
| import numpy as np | |
| import pickle | |
| # load model | |
| with open('model.pkl', 'rb') as file: | |
| model = pickle.load(file) | |
| # judul | |
| st.title('FIFA 2022 Player Rating Prediction') | |
| def run(): | |
| # buat form untuk input data | |
| with st.form("my_form"): | |
| st.write("Form Data Pemain") | |
| nama = st.text_input(label = "Nama", | |
| help = "Masukkan nama lengkap pemain", | |
| placeholder="Contoh: Cristiano Ronaldo") | |
| usia = st.number_input(label = "Usia", | |
| help = "Masukkan usia pemain", | |
| min_value=16, max_value= 60, | |
| step = 1, placeholder= 'Contoh: 25', | |
| value=None) | |
| height = st.number_input(label = "Tinggi", | |
| help = "Masukkan tingg pemain dalam cm", | |
| min_value=140, max_value= 250, | |
| step = 10, placeholder= 'Contoh: 175', | |
| value=None) | |
| weight = st.number_input(label = "Berat", | |
| help = "Masukkan berat pemain dalam kg", | |
| min_value=40, max_value= 150, | |
| step = 1, placeholder= 'Contoh: 75', | |
| value=None) | |
| price = st.number_input(label = "Harga", | |
| help = "Masukkan harga pemain dalam euro", | |
| min_value=0, | |
| step = 10000, placeholder= 'Contoh: 7500000', | |
| value=None) | |
| st.write('___') | |
| attacking = st.select_slider(label = "Attacking Work Rate", | |
| options = ['Low', 'Medium', 'High'], | |
| help = "Pilih tingkat kinerja serang pemain") | |
| defense = st.select_slider(label = "Defensive Work Rate", | |
| options = ['Low', 'Medium', 'High'], | |
| help = "Pilih tingkat kinerja bertahan pemain") | |
| st.write('___') | |
| pace = st.slider(label = "Pace", | |
| min_value=0, max_value=100, value = 50, | |
| help = "Pilih tingkat pace pemain") | |
| shooting = st.slider(label = "Shooting", | |
| min_value=0, max_value=100, value = 50, | |
| help = "Pilih tingkat shooting pemain") | |
| passing = st.slider(label = "passing", | |
| min_value=0, max_value=100, value = 50, | |
| help = "Pilih tingkat passing pemain") | |
| dribbling = st.slider(label = "dribbling", | |
| min_value=0, max_value=100, value = 50, | |
| help = "Pilih tingkat dribbling pemain") | |
| defending = st.slider(label = "defending", | |
| min_value=0, max_value=100, value = 50, | |
| help = "Pilih tingkat defending pemain") | |
| physicality = st.slider(label = "physicality", | |
| min_value=0, max_value=100, value = 50, | |
| help = "Pilih tingkat physicality pemain") | |
| # Every form must have a submit button. | |
| submitted = st.form_submit_button("Submit") | |
| if submitted: | |
| st.write('hasil input data') | |
| # dataframe | |
| dict = { | |
| 'Name': nama, | |
| 'Age': usia, | |
| 'Height': height, | |
| 'Weight': weight, | |
| 'Price': price, | |
| 'AttackingWorkRate': 'High', | |
| 'DefensiveWorkRate': 'Low', | |
| 'PaceTotal': pace, | |
| 'ShootingTotal': shooting, | |
| 'PassingTotal': passing, | |
| 'DribblingTotal': dribbling, | |
| 'DefendingTotal': defending, | |
| 'PhysicalityTotal': physicality} | |
| df = pd.DataFrame([dict]) | |
| st.dataframe(df, hide_index=True) | |
| # prediksi | |
| result = model.predict(df) | |
| # tampilkan hasil | |
| st.write(f'# Predicted Rating {nama}:', round(result[0],ndigits=None)) |