import streamlit as st import pickle import pandas as pd # Load the trained models rf_fullstk = pickle.load(open('rf_hacathon_fullstk.pkl', 'rb')) rf_prodengg = pickle.load(open('rf_hacathon_prodengg.pkl', 'rb')) rf_mkt = pickle.load(open('rf_hacathon_mkt.pkl', 'rb')) # Define the function for prediction def predict_placement(degree_p, internship, DSA, java, management, leadership, communication, sales, model): data = pd.DataFrame({ 'degree_p': degree_p, 'internship': internship, 'DSA': DSA, 'java': java, 'management': management, 'leadership': leadership, 'communication': communication, 'sales': sales }, index=[0]) prediction = model.predict(data)[0] probability = model.predict_proba(data)[0][1] return prediction, probability # Create the Streamlit app def main(): st.title("Placement Prediction App") st.sidebar.title("Options") options = ["Full Stack Engineer", "Marketing", "Production Engineer"] job_role = st.sidebar.selectbox("Select Job Role", options) degree_p = st.slider("Degree Percentage", 0, 100, 50) internship = st.radio("Internship", ["Yes", "No"]) DSA = st.radio("DSA Knowledge", [0, 1]) java = st.radio("Java Knowledge", [0, 1]) if job_role == "Full Stack Engineer": management = st.slider("Management Skills", 0, 5, 0) leadership = st.slider("Leadership Skills", 0, 5, 0) communication = st.slider("Communication Skills", 0, 5, 0) sales = st.slider("Sales Skills", 0, 5, 0) prediction, probability = predict_placement(degree_p, internship, DSA, java, management, leadership, communication, sales, rf_fullstk) elif job_role == "Marketing": management = st.slider("Management Skills", 0, 5, 0) leadership = st.slider("Leadership Skills", 0, 5, 0) DSA = st.slider("DSA Knowledge", 0, 5, 0) java = st.slider("Java Knowledge", 0, 5, 0) prediction, probability = predict_placement(degree_p, internship, DSA, java, management, leadership, communication, sales, rf_mkt) elif job_role == "Production Engineer": communication = st.slider("Communication Skills", 0, 5, 0) sales = st.slider("Sales Skills", 0, 5, 0) management = st.slider("Management Skills", 0, 5, 0) leadership = st.slider("Leadership Skills", 0, 5, 0) prediction, probability = predict_placement(degree_p, internship, DSA, java, management, leadership, communication, sales, rf_prodengg) if prediction == 1: st.success("Placed") st.success(f"You will be placed with a probability of {probability:.2f}") else: st.warning("Not Placed") if __name__ == '__main__': main()