How navneet-nitin/student-performance-prediction-system works
This is a small Streamlit application that turns student lifestyle inputs into a bounded exam-score prediction. The principal workflow is input collection and schedule validation, categorical encoding and feature ordering, scaling, model inference, then score-range presentation. The README documents the broader dataset analysis and training workflow, but those files are absent from the supplied tree, so they are not represented as runtime components. Connections shown here are supported by app.py or explicit README statements.
Main entry points: app.py Habit inputs · feature_names.pkl Feature names · scaler.pkl Fitted scaler · model.pkl Linear regression model
Components 11
Prediction app
- Habit inputs
app.py - Schedule validation
app.py - Category mapping
app.py - Feature assembly
app.py - Feature scaling
app.py - Score inference
app.py - Score display
app.py
Model artifacts
- Feature names
feature_names.pkl - Fitted scaler
scaler.pkl - Linear regression model
model.pkl
Other components
- Student
Connections 12
- Student → Habit inputs: enters habits
app.py - Habit inputs → Schedule validation: checks hours
app.py - Habit inputs → Category mapping: selects categories
app.py - Category mapping → Feature assembly: encodes values
app.py - Habit inputs → Feature assembly: supplies values
app.py - Feature names → Feature assembly: orders columns
app.py - Feature assembly → Feature scaling: transforms inputs
app.py - Fitted scaler → Feature scaling: scales features
app.py - Feature scaling → Score inference: passes scaled data
app.py - Linear regression model → Score inference: predicts score
app.py - Score inference → Score display: bounds and displays
app.py - Score display → Student: shows prediction
app.py