Health_Tracker / app.py
rajababu15's picture
created app.py
f62a6e1
raw
history blame contribute delete
No virus
3.81 kB
import streamlit as st
import pandas as pd
import pickle
# Load the preprocessor and model from the pickle files
with open('preprocesor.pkl', 'rb') as file:
preprocessor = pickle.load(file)
with open('model.pkl', 'rb') as file:
model = pickle.load(file)
# Define the app
def run():
st.title("Model Testing App")
# Create inputs for all features
Timestamp = st.date_input("Timestamp")
Age = st.number_input("Age", min_value=0, max_value=100)
Gender = st.selectbox("Gender", ["Male", "Female", "M"])
Country = st.text_input("Country")
state = st.text_input("State")
self_employed = st.checkbox("Self Employed")
family_history = st.checkbox("Family History")
treatment = st.selectbox("Treatment", ["Yes", "No"])
work_interfere = st.selectbox("Work Interfere", ["Sometimes", "Never", "Often"])
no_employees = st.selectbox("No. of Employees", ["1-5", "6-25", "26-100", "100-500", "500-1000", "More than 1000"])
remote_work = st.checkbox("Remote Work")
tech_company = st.checkbox("Tech Company")
benefits = st.selectbox("Benefits", ["Yes", "No", "Don't know"])
care_options = st.selectbox("Care Options", ["Yes", "No", "Not sure"])
wellness_program = st.selectbox("Wellness Program", ["Yes", "No", "Don't know"])
seek_help = st.selectbox("Seek Help", ["Yes", "No", "Don't know"])
anonymity = st.selectbox("Anonymity", ["Yes", "No", "Don't know"])
leave = st.selectbox("Leave", ["Somewhat easy","Somewhat difficult","Very difficult","Don't know"])
mental_health_consequence = st.selectbox("Mental Health Consequence", ["Yes","No","Maybe"])
phys_health_consequence = st.selectbox("Physical Health Consequence", ["Yes","No","Maybe"])
coworkers = st.selectbox("Coworkers", ["Yes","No","Some of them"])
supervisor = st.selectbox("Supervisor", ["Yes","No","Some of them"])
mental_health_interview = st.selectbox("Mental Health Interview", ["Yes","No","Maybe"])
phys_health_interview = st.selectbox("Physical Health Interview", ["Yes","No","Maybe"])
mental_vs_physical = st.selectbox("Mental vs Physical", ["Yes","No","Don't know"])
obs_consequence = st.selectbox("Obs Consequence", ["Yes","No"])
# Create a new data point
new_data = pd.DataFrame({
"Timestamp": [Timestamp],
"Age": [Age],
"Gender": [Gender],
"Country": [Country],
"state": [state],
"self_employed": [self_employed],
"family_history": [family_history],
"treatment": [treatment],
"work_interfere": [work_interfere],
"no_employees": [no_employees],
"remote_work": [remote_work],
"tech_company": [tech_company],
"benefits": [benefits],
"care_options": [care_options],
"wellness_program": [wellness_program],
"seek_help": [seek_help],
"anonymity": [anonymity],
"leave": [leave],
"mental_health_consequence": [mental_health_consequence],
"phys_health_consequence": [phys_health_consequence],
"coworkers": [coworkers],
"supervisor": [supervisor],
"mental_health_interview": [mental_health_interview],
"phys_health_interview": [phys_health_interview],
"mental_vs_physical": [mental_vs_physical],
"obs_consequence": [obs_consequence]
})
# Preprocess the new data
new_data_transformed = preprocessor.transform(new_data.drop(columns=['treatment'],axis=1))
# Make a prediction
prediction = model.predict(new_data_transformed)[0]
if st.button('Predict'):
if prediction == 1:
result ='Yes'
st.success('The output is {}'.format(result))
else:
result ='No'
st.success('The output is {}'.format(result))
if __name__=='__main__':
run()