Views
No views yet
| Sample Size | Validation Loss | F1 Macro | F1 Micro | Hamming Loss |
|---|---|---|---|---|
| 700 samples | 0.108 | 0.895 | 0.939 | 0.026 |
1
2from sklearn.metrics import f1_score, hamming_loss
3
4def compute_metrics(eval_pred):
5 logits, labels = eval_pred
6 # Use sigmoid to get probabilities, then threshold at 0.5
7 probs = 1 / (1 + np.exp(-logits))
8 predictions = (probs > 0.5).astype(float)
9
10 return {
11 "f1_macro": f1_score(labels, predictions, average="macro"),
12 "f1_micro": f1_score(labels, predictions, average="micro"),
13 "hamming_loss": hamming_loss(labels, predictions)
14 }
151
2from transformers import pipeline
3from tqdm.auto import tqdm
4
5# Initialize the model
6model_id = "zastuck/roberta-base-bosnian-parliament-multilabel-v1"
7classifier = pipeline("text-classification", model=model_id, device=0, batch_size=32, top_k=None)
8
9# Utilizing HuggingFace Dataset Objects for efficient batching
10raw_scores = []
11for out in tqdm(classifier(KeyDataset(raw_dataset, "segment")), total=len(raw_dataset)):
12 # 'out' is a list: [{'label': 'PROCEDURAL', 'score': 0.9}, {'label': 'COLLECT_MEM', 'score': 0.1}, ...]
13 # Turn this into a dictionary: {'PROCEDURAL': 0.9, 'COLLECT_MEM': 0.1, ...}
14 label_dict = {item['label']: item['score'] for item in out}
15 raw_scores.append(label_dict)
161
2from transformers import AutoTokenizer, AutoModelForSequenceClassification, TrainingArguments, Trainer
3
4training_args = TrainingArguments(output_dir="./results",
5 eval_strategy="epoch",
6 save_strategy="epoch",
7 learning_rate=2e-5,
8 per_device_train_batch_size=8,
9 num_train_epochs=10,
10 weight_decay=0.01,
11 load_best_model_at_end=True,
12 metric_for_best_model="f1_macro")
131
2from transformers import AutoTokenizer, AutoModelForSequenceClassification, TrainingArguments, Trainer
3
4training_args = TrainingArguments(output_dir="./results",
5 eval_strategy="epoch",
6 save_strategy="epoch",
7 learning_rate=5e-6,
8 per_device_train_batch_size=7,
9 label_smoothing_factor=0.1,
10 num_train_epochs=10,
11 weight_decay=0.3,
12 load_best_model_at_end=True,
13 metric_for_best_model="f1_macro")
141@mastersthesis{stuck2026,
2 author = {Stuck, Zachary},
3 title = {Politics, Identity, and Ontological Security in Bosnia and Herzegovina},
4 school = {Charles University},
5 year = {2026},
6 address = {Prague},
7 month = {May},
8 note = {Advisor: doc. Aliaksei Kazharski, PhD.}
9}