harshiv commited on
Commit
64a481a
1 Parent(s): 8bbae26

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +64 -0
app.py ADDED
@@ -0,0 +1,64 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ import pickle
3
+ import pandas as pd
4
+
5
+ # Load the trained models
6
+ rf_fullstk = pickle.load(open('rf_hacathon_fullstk.pkl', 'rb'))
7
+ rf_prodengg = pickle.load(open('rf_hacathon_prodengg.pkl', 'rb'))
8
+ rf_mkt = pickle.load(open('rf_hacathon_mkt.pkl', 'rb'))
9
+
10
+ # Define the function for prediction
11
+ def predict_placement(degree_p, internship, DSA, java, management, leadership, communication, sales, model):
12
+ data = pd.DataFrame({
13
+ 'degree_p': degree_p,
14
+ 'internship': internship,
15
+ 'DSA': DSA,
16
+ 'java': java,
17
+ 'management': management,
18
+ 'leadership': leadership,
19
+ 'communication': communication,
20
+ 'sales': sales
21
+ }, index=[0])
22
+ prediction = model.predict(data)[0]
23
+ probability = model.predict_proba(data)[0][1]
24
+ return prediction, probability
25
+
26
+ # Create the Streamlit app
27
+ def main():
28
+ st.title("Placement Prediction App")
29
+ st.sidebar.title("Options")
30
+ options = ["Full Stack Engineer", "Marketing", "Production Engineer"]
31
+ job_role = st.sidebar.selectbox("Select Job Role", options)
32
+
33
+ degree_p = st.slider("Degree Percentage", 0, 100, 50)
34
+ internship = st.radio("Internship", ["Yes", "No"])
35
+ DSA = st.radio("DSA Knowledge", [0, 1])
36
+ java = st.radio("Java Knowledge", [0, 1])
37
+
38
+ if job_role == "Full Stack Engineer":
39
+ management = st.slider("Management Skills", 0, 5, 0)
40
+ leadership = st.slider("Leadership Skills", 0, 5, 0)
41
+ communication = st.slider("Communication Skills", 0, 5, 0)
42
+ sales = st.slider("Sales Skills", 0, 5, 0)
43
+ prediction, probability = predict_placement(degree_p, internship, DSA, java, management, leadership, communication, sales, rf_fullstk)
44
+ elif job_role == "Marketing":
45
+ management = st.slider("Management Skills", 0, 5, 0)
46
+ leadership = st.slider("Leadership Skills", 0, 5, 0)
47
+ DSA = st.slider("DSA Knowledge", 0, 5, 0)
48
+ java = st.slider("Java Knowledge", 0, 5, 0)
49
+ prediction, probability = predict_placement(degree_p, internship, DSA, java, management, leadership, communication, sales, rf_mkt)
50
+ elif job_role == "Production Engineer":
51
+ communication = st.slider("Communication Skills", 0, 5, 0)
52
+ sales = st.slider("Sales Skills", 0, 5, 0)
53
+ management = st.slider("Management Skills", 0, 5, 0)
54
+ leadership = st.slider("Leadership Skills", 0, 5, 0)
55
+ prediction, probability = predict_placement(degree_p, internship, DSA, java, management, leadership, communication, sales, rf_prodengg)
56
+
57
+ if prediction == 1:
58
+ st.success("Placed")
59
+ st.success(f"You will be placed with a probability of {probability:.2f}")
60
+ else:
61
+ st.warning("Not Placed")
62
+
63
+ if __name__ == '__main__':
64
+ main()