A comprehensive Streamlit web application that predicts student academic performance using machine learning models. The system provides both individual and batch predictions for student results and marks.
- Result Prediction Model: Predicts whether a student will Pass (1) or Fail (0)
- Marks Prediction Model: Predicts numerical marks for students
- Individual Result Prediction (Pass/Fail)
- Individual Marks Prediction (Numerical marks)
- Batch Analysis (10 students with historical data and future predictions)
- Real-time predictions for single students
- Interactive input forms with sliders and select boxes
- Confidence scores and performance categories
- Visual progress bars and performance indicators
- 10 Sample Students with 3 years of historical data
- One-click predictions for next academic year
- Dual predictions: Both results AND marks
- Comprehensive analytics and performance distribution
- Multiple view modes: Summary, Detailed Marks, Full Details
- Pass/Fail statistics and probabilities
- Performance categorization (Excellent, Good, Average, Needs Improvement)
- Subject-wise marks analysis
- Historical trend visualization
- Risk assessment for at-risk students
- Python 3.7+
- pip package manager
git clone <repository-url>
cd student-performance-predictorpip install -r requirements.txtEnsure you have both trained model files in the project directory:
student_result_model.pkl- Result prediction modelstudent_marks_model.pkl- Marks prediction model
streamlit run app.pyThe application will open in your default web browser at http://localhost:8501
student-performance-predictor/
โ
โโโ app.py # Main Streamlit application
โโโ student_result_model.pkl # Result prediction model
โโโ student_marks_model.pkl # Marks prediction model
โโโ README.md # This documentation
โโโ requirements.txt # Python dependencies
- Navigate to the "Result Prediction" tab
- Fill in student details:
- Year, Gender, Attendance percentage
- Study hours per day
- Extra activity level
- Subject marks (Math, Science, English, Social Studies)
- Click "Predict Result" to get Pass/Fail prediction
- Go to the "Marks Prediction" tab
- Provide student information:
- Year, Gender, Attendance
- Study hours, Previous year marks
- Parent education level
- Click "Predict Marks" for numerical marks prediction
- Select the "Batch Analysis" tab
- View 10 sample students with 3 years of historical data
- Select individual students to see detailed history
- Click "Predict Next Year Results & Marks" for batch predictions
- Explore different views: Summary, Detailed Marks, Student Details
- Download complete predictions as CSV
{
'Year': int,
'Gender': ['Male', 'Female'],
'Attendance': int (0-100),
'Study_Hours': float,
'Extra_Activity': ['Low', 'Medium', 'High'],
'Math': int (0-100),
'Science': int (0-100),
'English': int (0-100),
'Social': int (0-100)
}{
'year': str,
'gender': ['Male', 'Female'],
'attendance': int (0-100),
'study_hours': float,
'previous_year_marks': int (0-100),
'parent_education': ['High School', 'Graduate', 'Post Graduate', 'Doctorate']
}- PASS โ : Student is predicted to pass
- FAIL โ: Student is predicted to fail
- Pass Probability: Confidence percentage (0-100%)
- Excellent ๐: 80+ marks
- Good ๐: 60-79 marks
- Average ๐ช: 40-59 marks
- Needs Improvement ๐: Below 40 marks
- Excellent (80-100 marks): Outstanding performance
- Good (60-79 marks): Solid performance
- Average (40-59 marks): Room for improvement
- Needs Improvement (0-39 marks): Requires attention
- Streamlit: Web application framework
- Pandas: Data manipulation and analysis
- Joblib: Model serialization and loading
- Scikit-learn: Machine learning models (assumed)
- Responsive Design: Works on desktop and mobile
- Real-time Predictions: Instant results
- Data Caching: Optimized performance
- Error Handling: Graceful error management
- Export Functionality: Download predictions as CSV
- Identify at-risk students early
- Plan targeted interventions
- Monitor class performance trends
- Generate performance reports
- Self-assessment and goal setting
- Understand performance factors
- Identify areas for improvement
- Institutional performance analysis
- Resource allocation planning
- Curriculum improvement insights
Note: This application requires pre-trained machine learning models (student_result_model.pkl and student_marks_model.pkl) to function properly. Ensure these files are in the same directory as the application.