How fadhil2005/tugas_sp-2_prediksi_nilai_akhir_siswa works
This repository provides a student-grade prediction product through a Streamlit interface and a separate FastAPI backend serving a browser page and authenticated API. The main workflow is entering student attributes, obtaining a five-class grade prediction with class probabilities, and viewing population comparisons and model diagnostics. The API exposes corresponding prediction and information endpoints. The graph reflects the shown call paths; the contents of index.html and the training script were not sampled, so their internal behavior is not inferred.
Main entry points: app.py Streamlit application · model_loader.py Streamlit model loader · modelservice.py API model service · server.py FastAPI routes and sessions
Components 13
Streamlit experience
- Streamlit application
app.py - Student input form
app.py - Grade and probabilities
app.py - Population comparison
app.py - Model diagnostics panel
app.py
Prediction and diagnostics
- Streamlit model loader
utils/model_loader.py - API model service
modelservice.py
HTTP API
- Browser page
index.html - FastAPI routes and sessions
server.py
Model and data
- User credentials
users.json - Trained model and feature columns
model.pkl - Student performance dataset
Student_performance_data _.csv
Other components
- Student or evaluator
Connections 14
- Student or evaluator → Streamlit application: uses
README.md - Streamlit application → Student input form: presents
app.py - Student input form → Streamlit model loader: requests prediction
app.py - Streamlit model loader → Grade and probabilities: returns grade and probabilities
app.py - Streamlit application → Streamlit model loader: loads diagnostics
app.py - Streamlit application → Model diagnostics panel: shows metrics
app.py - Streamlit application → Population comparison: shows comparison
app.py - Streamlit model loader → Trained model and feature columns: loads
utils/model_loader.py - Streamlit model loader → Student performance dataset: reads
utils/model_loader.py - Browser page → FastAPI routes and sessions: served by
server.py - FastAPI routes and sessions → User credentials: checks credentials
server.py - FastAPI routes and sessions → API model service: requests prediction or info
server.py - API model service → Trained model and feature columns: loads
modelservice.py - API model service → Student performance dataset: reads for info
modelservice.py