Thitikarn/Student_performance_Prediction
0
1import joblib2import pandas as pd3import streamlit as st 4 5EDU_DICT = {'Preschool': 1,6 '1st-4th': 2,7 '5th-6th': 3,8 '7th-8th': 4,9 '9th': 5,10 '10th': 6,11 '11th': 7,12 '12th': 8,13 'HS-grad': 9, 14 'Some-college': 10,15 'Assoc-voc': 11,16 'Assoc-acdm': 12,17 'Bachelors': 13,18 'Masters': 14,19 'Prof-school': 15,20 'Doctorate': 1621 }22 23model = joblib.load('model.joblib')24unique_values = joblib.load('unique_values.joblib')25 26unique_class = unique_values["workclass"]27unique_education = unique_values["education"]28unique_marital_status = unique_values["marital.status"]29unique_relationship = unique_values["relationship"]30unique_occupation = unique_values["occupation"]31unique_sex = unique_values["sex"]32unique_race = unique_values["race"]33unique_country = unique_values["native.country"]34 35def main():36 st.title("Adult Income Analysis")37 38 with st.form("questionaire"):39 age = st.slider("Age", min_value=10, max_value=100)40 workclass = st.selectbox("Workclass", unique_class)41 education = st.selectbox("Education", unique_education)42 Marital_Status = st.selectbox("Marital Status", unique_marital_status)43 occupation = st.selectbox("Occupation", unique_occupation)44 relationship = st.selectbox("Relationship", unique_relationship)45 race = st.selectbox("Race", unique_race)46 sex = st.selectbox("Sex", unique_sex)47 hours_per_week = st.slider("Hours per week", min_value=1, max_value=100)48 native_country = st.selectbox("Country", unique_country)49 50 clicked = st.form_submit_button("Predict income")51 if clicked:52 result=model.predict(pd.DataFrame({"age": [age],53 "workclass": [workclass],54 "education": [EDU_DICT[education]],55 "marital.status": [Marital_Status],56 "occupation": [occupation],57 "relationship": [relationship],58 "race": [race],59 "sex": [sex],60 "hours.per.week": [hours_per_week],61 "native.country": [native_country]}))62 result = '>50K' if result[0] == 1 else '<=50K'63 st.success('The predicted income is {}'.format(result))64 65if __name__=='__main__':66 main()67 