Upload 3 files
Browse files- README.md +85 -0
- app.py +51 -0
- requirements.txt +9 -0
README.md
ADDED
|
@@ -0,0 +1,85 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
\#Student placement Prediction System
|
| 2 |
+
|
| 3 |
+
\#Overview
|
| 4 |
+
This project predicts whether a student will be placed based on Academic performances and skills-based features using Machine Learning
|
| 5 |
+
|
| 6 |
+
|
| 7 |
+
|
| 8 |
+
\#Features
|
| 9 |
+
-Data Preprocessing
|
| 10 |
+
-Random Forest model learning
|
| 11 |
+
-Prediction System
|
| 12 |
+
-Streamlit Web App
|
| 13 |
+
-real-time prediction
|
| 14 |
+
|
| 15 |
+
|
| 16 |
+
|
| 17 |
+
\#Tech Stack
|
| 18 |
+
-Python
|
| 19 |
+
-Pandas,NumPy
|
| 20 |
+
-Scikit-learn
|
| 21 |
+
-Streamlit
|
| 22 |
+
|
| 23 |
+
|
| 24 |
+
|
| 25 |
+
\#Input Features
|
| 26 |
+
-Gender
|
| 27 |
+
-10th Board and marks
|
| 28 |
+
-12th Board and marks
|
| 29 |
+
-Stream
|
| 30 |
+
-CGPA
|
| 31 |
+
-Internships
|
| 32 |
+
-Training
|
| 33 |
+
-Backlog
|
| 34 |
+
-Innovative
|
| 35 |
+
-Communications Skills
|
| 36 |
+
-Techincal Course
|
| 37 |
+
|
| 38 |
+
|
| 39 |
+
|
| 40 |
+
\#Output
|
| 41 |
+
-Placed/Not Placed
|
| 42 |
+
|
| 43 |
+
|
| 44 |
+
|
| 45 |
+
\#project structure
|
| 46 |
+
data/
|
| 47 |
+
sample.csv
|
| 48 |
+
notebooks/
|
| 49 |
+
eda:ipynb
|
| 50 |
+
src/
|
| 51 |
+
train-model.py
|
| 52 |
+
predict.py
|
| 53 |
+
app.py
|
| 54 |
+
requirements.txt
|
| 55 |
+
README.md
|
| 56 |
+
|
| 57 |
+
|
| 58 |
+
|
| 59 |
+
\#How to run
|
| 60 |
+
1.Install all dependencies
|
| 61 |
+
pip install -r requirements.txt
|
| 62 |
+
2.train the model
|
| 63 |
+
cd src/train\_model.py
|
| 64 |
+
3.Run the streamlit app
|
| 65 |
+
streamlit run app.py
|
| 66 |
+
|
| 67 |
+
|
| 68 |
+
|
| 69 |
+
\#Author
|
| 70 |
+
Nithyashree .L
|
| 71 |
+
|
| 72 |
+
|
| 73 |
+
|
| 74 |
+
|
| 75 |
+
|
| 76 |
+
title:StudentPlacement
|
| 77 |
+
|
| 78 |
+
colorFrom:blue
|
| 79 |
+
|
| 80 |
+
colorTo:purple
|
| 81 |
+
|
| 82 |
+
sdk:streamlit
|
| 83 |
+
|
| 84 |
+
app\_file:app.py
|
| 85 |
+
|
app.py
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import streamlit as st
|
| 2 |
+
import numpy as np
|
| 3 |
+
import joblib
|
| 4 |
+
|
| 5 |
+
#load the training the model
|
| 6 |
+
model=joblib.load("./models/models.pkl")
|
| 7 |
+
st.set_page_config(page_title="🎓Student Placement Prediction System",page_icon="🎓",layout="wide")
|
| 8 |
+
#tit
|
| 9 |
+
st.markdown("<h1 style='text-align: center;background-color:darkblue; color: white;'>🎓Student Placement Prediction System</h1>",unsafe_allow_html=True)
|
| 10 |
+
st.markdown("---")
|
| 11 |
+
st.sidebar.header("Student Details")
|
| 12 |
+
gender=st.selectbox("Gender",["Male","Female"])
|
| 13 |
+
tenth_board=st.selectbox("10th Board",["CBSE","Diploma","ICSE","ISE","Other state Board","State Board","WBBSE"])
|
| 14 |
+
tenth_marks=st.number_input("10th marks")
|
| 15 |
+
twelfth_board=st.selectbox("12th Board",["CBSE","Diploma","ISE","Other state Board","State Board","WBCHSE"])
|
| 16 |
+
twelfth_marks=st.number_input("12th marks")
|
| 17 |
+
stream=st.selectbox("Stream",["Civil Engineering","Computer Science and Engineering","Computer Science in AIML","Electronics and Communication Engineering","Information Technology","Mechanical Engineering","Production Engineering"])
|
| 18 |
+
cgpa=st.number_input("Cgpa")
|
| 19 |
+
internship=st.selectbox("Internships(Y/N)",["Yes","No"])
|
| 20 |
+
training=st.selectbox("Training(Y/N)",["Yes","No"])
|
| 21 |
+
backlog=st.number_input("Backlog in 5th sem")
|
| 22 |
+
innovative_project=st.selectbox("Innovative Project(Y/N)",["Yes","No"])
|
| 23 |
+
communication=st.slider("Communication Skills",0,5)
|
| 24 |
+
Course=st.selectbox("Technical Course(Y/N)",["Yes","No"])
|
| 25 |
+
|
| 26 |
+
st.markdown("📑Students Inputs Summary")
|
| 27 |
+
col1,col2,col3=st.columns(3)
|
| 28 |
+
col1.metric("10th Marks",tenth_marks)
|
| 29 |
+
col2.metric("12th Marks",twelfth_marks)
|
| 30 |
+
col3.metric("CGPA",cgpa)
|
| 31 |
+
st.markdown("---")
|
| 32 |
+
if st.button("Predict Placement"):
|
| 33 |
+
gender=1 if gender=="Male" else 0
|
| 34 |
+
tenth_board_encoded=["CBSE","Diploma","ICSE","ISE","Other state Board","State Board","WBBSE"].index(tenth_board)
|
| 35 |
+
twelfth_board_encoded=["CBSE","Diploma","ISE","Other state Board","State Board","WBCHSE"].index(twelfth_board)
|
| 36 |
+
stream_encoded=["Civil Engineering","Computer Science and Engineering","Computer Science in AIML","Electronics and Communication Engineering","Information Technology","Mechanical Engineering","Production Engineering"].index(stream)
|
| 37 |
+
internship=1 if internship=="Yes" else 0
|
| 38 |
+
training=1 if training=="Yes" else 0
|
| 39 |
+
backlog=1 if backlog>0 else 0
|
| 40 |
+
innovative_project=1 if innovative_project=="Yes" else 0
|
| 41 |
+
courses=1 if Course=="Yes" else 0
|
| 42 |
+
|
| 43 |
+
input_data=np.array([[gender,tenth_board_encoded,tenth_marks,twelfth_board_encoded,twelfth_marks,stream_encoded,cgpa,internship,training,backlog,innovative_project,communication,courses]])
|
| 44 |
+
prediction=model.predict(input_data)
|
| 45 |
+
|
| 46 |
+
if prediction[0]==1:
|
| 47 |
+
st.success("🎉🎉Student will be placed")
|
| 48 |
+
st.balloons()
|
| 49 |
+
else:
|
| 50 |
+
st.error("❌😒Student will not be placed")
|
| 51 |
+
st.snow()
|
requirements.txt
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
pandas
|
| 2 |
+
numpy
|
| 3 |
+
matplotlib
|
| 4 |
+
joblib
|
| 5 |
+
streamlit
|
| 6 |
+
scikit-learn
|
| 7 |
+
seaborn
|
| 8 |
+
jupyter
|
| 9 |
+
|