|
import streamlit as st |
|
import pandas as pd |
|
import joblib |
|
|
|
st.sidebar.header('Grade Challange 3') |
|
st.sidebar.write(""" |
|
Created by Wawan Setiawan S |
|
|
|
Use the sidebar to select input features. |
|
""") |
|
|
|
@st.cache |
|
def fetch_data(): |
|
df = pd.read_csv('h8dsft_P1G3_Wawan_Setiawan.csv') |
|
df['anaemia'] = df['anaemia'].replace({0: 'no', 1 : 'yes'}) |
|
df['diabetes'] = df['diabetes'].replace({0 : 'no', 1: 'yes'}) |
|
df['high_blood_pressure'] = df['high_blood_pressure'].replace({0 : 'no', 1: 'yes'}) |
|
df['smoking'] = df['smoking'].replace({0 : 'no', 1: 'yes'}) |
|
df['sex'] = df['sex'].replace({0 : 'female', 1: 'male'}) |
|
df['DEATH_EVENT'] = df['DEATH_EVENT'].astype(float) |
|
return df |
|
|
|
df = fetch_data() |
|
|
|
creatinine_phosphokinase = st.sidebar.slider('creatinine_phosphokinase', 30,8000) |
|
serum_creatinine = st.sidebar.slider('serum_creatinine', 0.0,10.0) |
|
serum_sodium = st.sidebar.slider('serum_sodium', 100., 150.) |
|
age = st.sidebar.slider('age', 1,100) |
|
time = st.sidebar.slider('time', 1.0, 300.0) |
|
smoking = st.sidebar.selectbox('smoking',['yes','no']) |
|
|
|
data = { |
|
'creatinine_phosphokinase': creatinine_phosphokinase, |
|
'serum_creatinine': serum_creatinine, |
|
'serum_sodium': serum_sodium, |
|
'age': age, |
|
'time': time, |
|
'smoking':smoking |
|
} |
|
|
|
input = pd.DataFrame(data, index=[0]) |
|
|
|
st.subheader('User Input') |
|
st.write(input) |
|
|
|
load_model = joblib.load("all_process.pkl") |
|
|
|
if st.button('Predict'): |
|
prediction = load_model.predict(input) |
|
|
|
if prediction == 1: |
|
prediction = 'Yes' |
|
else: |
|
prediction = 'No' |
|
|
|
st.write('Based on user input, the placement model predicted: ') |
|
st.write(prediction) |