ds_salary / app.py
Thanatcha's picture
Update app.py
6ffdadf
import joblib
import pandas as pd
import streamlit as st
Experience_dict = {'Entry-level':1,
'Mid-level':2,
'Senior-level':3,
'Executive-level':4
}
Company_size_dict = {'Small, less than 50 employees':1,
'Medium, 50 to 250 employees':2,
'Large, more than 250 employees':3
}
remote_ratio_dict = {'No remote work':1,
'Partially remote':2,
'Fully remote':3
}
model = joblib.load('model.joblib')
unique_values = joblib.load('unique_values.joblib')
unique_experience_level = unique_values["experience_level"]
unique_employment_type = unique_values["employment_type"]
unique_job_title = unique_values["job_title"]
unique_remote_ratio = unique_values["remote_ratio"]
unique_company_size = unique_values["company_size"]
def main():
st.title("Data Science Job Salaries")
with st.form("questionaire"):
experience_level = st.selectbox("The experience level in the job", options = unique_experience_level)
employment_type = st.selectbox("The type of employment for the role", options=unique_employment_type)
job_title = st.selectbox("The role worked", options=unique_job_title)
remote_ratio = st.selectbox("The overall amount of work done remotely", options=unique_remote_ratio)
company_size = st.selectbox("The average number of people that worked for the company", options=unique_company_size)
# clicked==True only when the button is clicked
clicked = st.form_submit_button("Predict Data Science Job Salaries")
if clicked:
result=model.predict(pd.DataFrame({"experience_level": [Experience_dict[experience_level]],
"employment_type" : [employment_type],
"job_title": [job_title],
"remote_ratio": [remote_ratio_dict[remote_ratio]],
"company_size": [Company_size_dict[company_size]]}))
# Show prediction
salary_in_usd = str(round(float(result),2))
st.success("Your predicted Data Science job salaries in USD is "+salary_in_usd)
if __name__ == "__main__":
main()