Spaces:
Runtime error
Runtime error
| 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() | |