How andykang98/drop-mooc-prediction works
Drop-MOOC-Prediction is a batch machine-learning project that predicts whether MOOC enrollments will become dropouts. Its documented workflow loads course, enrollment, event-log, and label data; derives and transforms behavioral features; then trains classifiers and reports test metrics. The graph separates feature families and model strategies while keeping their shared implementation paths. Relationships are limited to calls visible in the excerpts or workflow statements in the README; unsampled implementation details are not inferred.
Main entry points: preprocess.py Preprocessor · main.py Prediction runner · read_data.py Dataset loaders · data KDD data files
Components 14
Data inputs
- KDD data files
data - Dataset loaders
read_data.py
Feature engineering
- Preprocessor
preprocess.py - Event counts
preprocess.py - Weekly sessions
preprocess.py - Study coverage
preprocess.py - Feature transform
preprocess.py
Prediction and evaluation
- Prediction runner
main.py - Random forest
main.py - Logistic regression
main.py - XGBoost
main.py - Voting classifier
main.py - Test metrics
main.py
Other components
- Operator
Connections 16
- Operator → Prediction runner: runs
README.md - KDD data files → Dataset loaders: loaded by
README.md - Prediction runner → Preprocessor: creates
main.py - Preprocessor → Dataset loaders: loads data
preprocess.py - Preprocessor → Event counts: extracts
preprocess.py - Preprocessor → Weekly sessions: extracts
preprocess.py - Preprocessor → Study coverage: extracts
preprocess.py - Preprocessor → Feature transform: transforms
preprocess.py - Prediction runner → Random forest: runs
main.py - Prediction runner → Logistic regression: runs
main.py - Prediction runner → XGBoost: runs
main.py - Prediction runner → Voting classifier: runs
main.py - Random forest → Test metrics: reports
main.py - Logistic regression → Test metrics: reports
main.py - XGBoost → Test metrics: reports
main.py - Voting classifier → Test metrics: reports
main.py