# Model Card: Bloom Classifier ## Model Details - **Model Name:** bloom_classifier - **Model Version:** bloom_classifier_v2_baseline_001 - **Algorithm:** TF-IDF + LogisticRegression (multinomial) - **Framework:** scikit-learn - **Trained At:** 2026-05-21T05:59:09.626503+00:00 - **Seed:** 42 ## Intended Use Automatically classify questions by Bloom's taxonomy cognitive level. Used in the Bloom classification endpoint to predict one of 6 levels: Remember, Understand, Apply, Analyze, Evaluate, Create. ## Training Data - **Source:** training_bloom_classification.csv (synthetic dataset v2) - **Split Counts:** train=3912, validation=1033, test=875 - **Feature:** question_text (TF-IDF vectorized, max_features=8000, ngram_range=(1,2)) - **Target:** bloom_level (6 classes) ## Metrics ### Validation Set - Macro F1: 0.6434 - Weighted F1: 0.6634 ### Test Set - Macro F1: 0.6178 - Weighted F1: 0.6654 ## Known Limitations - Trained on synthetic data only — performance on real classroom questions is unknown. - Class imbalance: Create (~2%) and Evaluate (~4%) are rare; recall on these classes may be low. - TF-IDF features do not capture semantic similarity beyond n-gram overlap. - Macro F1 is the primary metric; accuracy alone would mask poor performance on rare classes. ## Fallback Behavior When the model is not loaded or confidence is below the threshold (0.55), the system falls back to keyword heuristic classification: define/list → Remember; explain → Understand; calculate/use → Apply; compare/contrast → Analyze; justify → Evaluate; design → Create.