Study-Spot Verdict Classifier

This model classifies a short description of a campus location as Not good for studying (0) or Good for studying (1). It fine-tunes DistilBERT with norm-fit PEFT in AutoGluon MultiModal.

Inputs and outputs

Supply a pandas DataFrame with a text column. predict() returns 0 or 1.

Label Meaning
0 Not good for studying
1 Good for studying

Data and training

Source: Study-spot passages, short descriptions of CMU and Pittsburgh study locations. Published splits were used unchanged. Augmented variants appear in training only, and no parent_id crosses splits.

Partition Rows
Training 1,151
Validation 15 (originals)
Test 15 (originals)
Training setting Recorded value
Framework AutoGluon MultiModal 1.6.1
Text backbone distilbert-base-uncased, max 128 tokens
Fine-tuning mode norm_fit: 62,978 of 66.4 M parameters trainable (0.095%)
Optimizer Learning rate 2e-5, layerwise decay, weight decay 0.01
Batch size and epochs 8; 5 epochs (720 steps)
Search space None; fine-tuning mode chosen manually (bit_fit / norm_fit / full)
Checkpoint selection Best single epoch by validation accuracy (epoch 2)
Text augmentation Disabled
Seed 24679
Environment Colab CPU (2 vCPU, 12.7 GB RAM, no GPU); Linux; Python 3.13.15; PyTorch 2.11.0+cpu

Evaluation

Metric Validation Test
Accuracy 0.667 (10/15) 0.733 (11/15)
Weighted F1 0.664 0.731

Three of the four test errors were Not-good passages predicted as Good, and the fourth was the reverse. The misclassified Not-good passages mix praise with a negative verdict, which suggests the model tracks sentiment words more than the conclusion. Each prediction moves accuracy by about 7 points. Only 0.095% of weights were updated, and validation did not improve after epoch 2.

Load and predict

from huggingface_hub import snapshot_download
from autogluon.multimodal import MultiModalPredictor
import pandas as pd
 
path = snapshot_download("pcwoods/2026-24679-distilbert-study-spots", allow_patterns="automm/*")
predictor = MultiModalPredictor.load(f"{path}/automm")
print(predictor.predict(pd.DataFrame({"text": ["Quiet library with big tables."]})))

The automm/ folder also contains requirements.txt and model_notes.json.

Licensing and provenance

The model is released under Apache-2.0, matching DistilBERT. Refer to the dataset card for the data's terms.

AI usage disclosure

Claude was utilized to help modify an existing notebook template. Additionally, Claude was used to assist with model card creation.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for pcwoods/2026-24679-distilbert-study-spots

Finetuned
(12721)
this model

Dataset used to train pcwoods/2026-24679-distilbert-study-spots