harshiv commited on
Commit
03e4bb7
1 Parent(s): 07d276e

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +22 -59
app.py CHANGED
@@ -1,64 +1,27 @@
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()
 
 
 
1
+ mport streamlit as st
 
2
  import pandas as pd
3
+ import joblib
4
 
5
+ # Load the pre-trained model
 
 
 
6
 
7
+ # Define the input widgets
8
+ age = st.slider('Age', 18, 99, 25)
9
+ gender = st.selectbox('Gender', ['Male', 'Female'])
10
+ smoker = st.selectbox('Smoker', ['Yes', 'No'])
11
+ region = st.selectbox('Region', ['Northeast', 'Northwest', 'Southeast', 'Southwest'])
12
+ bmi = st.number_input('BMI', min_value=10.0, max_value=50.0, step=0.1)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
13
 
14
+ # Define a function to make the prediction
15
+ def predict(age, gender, smoker, region, bmi):
16
+ data = pd.DataFrame({'age': [age],
17
+ 'sex': [gender],
18
+ 'smoker': [smoker],
19
+ 'region': [region],
20
+ 'bmi': [bmi]})
21
+ prediction = model.predict(data)[0]
22
+ return prediction
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
23
 
24
+ # Call the predict function and display the result
25
+ if st.button('Predict'):
26
+ result = predict(age, gender, smoker, region, bmi)
27
+ st.write('The predicted insurance cost is $', round(result, 2))