A comprehensive machine learning application that predicts student placement status based on various academic and personal factors.
- Interactive Web Interface: Beautiful Streamlit-based UI with multiple pages
- Data Analysis: Comprehensive visualizations and insights
- Real-time Predictions: Instant placement predictions with confidence scores
- Model Performance: Detailed metrics and confusion matrix
- Responsive Design: Modern, user-friendly interface
- 🏠 Home: Overview with key metrics and insights
- 📊 Data Analysis: Interactive visualizations and data exploration
- 🎯 Predict Placement: Input form for making predictions
- 📈 Model Performance: Model evaluation metrics and confusion matrix
-
Clone or download the project files
-
Install dependencies:
pip install -r requirements.txt
-
Run the training script first (if not already done):
python placement_predictor.py
-
Launch the web application:
streamlit run app.py
-
Navigate to the "🎯 Predict Placement" page
-
Fill in the student details:
- CGPA: Cumulative Grade Point Average (6.0-10.0)
- Internships: Number of internships completed
- Projects: Number of projects completed
- Workshops/Certifications: Number of workshops/certifications
- Aptitude Test Score: Score in aptitude tests (0-100)
- Soft Skills Rating: Rating of soft skills (1.0-5.0)
- Extracurricular Activities: Yes/No
- Placement Training: Yes/No
- SSC Marks: Secondary School Certificate marks (0-100)
- HSC Marks: Higher Secondary Certificate marks (0-100)
-
Click "Predict Placement" to get results
- Placed: Student is predicted to get placed
- Not Placed: Student is predicted to not get placed
- Confidence Score: How confident the model is in its prediction
- Raw Prediction: The actual numerical prediction value
- Distribution Plots: Visualize CGPA distribution and placement status
- Correlation Analysis: See which features most influence placement
- Key Metrics: Average scores and placement rates
- Model Performance: Accuracy, precision, recall, and F1-score
- Algorithm: Random Forest Regressor
- Features: 11 student characteristics
- Target: Binary placement status (Placed/Not Placed)
- Preprocessing: One-hot encoding for categorical variables, standardization for numerical features
placement/
├── app.py # Streamlit web application
├── placement_predictor.py # Training script
├── placementdata .csv # Dataset
├── requirements.txt # Python dependencies
├── README.md # This file
├── placement_prediction.pkl # Trained model (generated)
├── transformer.pkl # Data transformer (generated)
└── scaler.pkl # Data scaler (generated)
- Framework: Streamlit for web interface
- Visualization: Plotly for interactive charts
- Machine Learning: Scikit-learn for model training
- Data Processing: Pandas for data manipulation
- Styling: Custom CSS for enhanced UI
- Model files not found: Run
python placement_predictor.pyfirst - Port already in use: Use
streamlit run app.py --server.port 8502 - Dependencies issues: Update pip and reinstall requirements
Feel free to contribute by:
- Adding new features
- Improving the UI/UX
- Enhancing the model performance
- Adding more visualizations
This project is open source and available under the MIT License.