まとめ
- Συγκεντρώνουμε τα βασικά metrics για ταξινόμηση και τις διαφορές μεταξύ δυαδικής, πολυκλασικής και πολυετικετικής ταξινόμησης.
- Βλέπουμε συνολικά δείκτες από πίνακα σύγχυσης, κατώφλια, πιθανότητες και κατάταξη.
- Δίνουμε οδηγίες για επιλογή συνόλου δεικτών και για σωστή αναφορά αποτελεσμάτων.
Κεφάλαιο 3 #
Επισκόπηση δεικτών ταξινόμησης #
Η αξιολόγηση ταξινόμησης εξαρτάται από την ισορροπία κλάσεων, το κατώφλι, την αξιοπιστία των πιθανοτήτων και την ποιότητα των κορυφαίων προτάσεων. Εδώ συγκεντρώνουμε τις κύριες οικογένειες δεικτών και οδηγίες επιλογής ανά χρήση.
Κατηγορίες δεικτών #
1. Βασισμένοι στον πίνακα σύγχυσης #
- Accuracy (Accuracy): συνολική ακρίβεια, αλλά υπερεκτιμάται σε ανισορροπία κλάσεων.
- Precision / Recall / F1 (Precision/Recall, F1): επιλέγουμε ανάλογα με το κόστος των σφαλμάτων.
- Specificity / Sensitivity (Specificity/Sensitivity): κρίσιμα σε ιατρικές εφαρμογές.
- Macro / Micro / Weighted averaging (Στρατηγικές averaging): τρόποι σύνοψης σε πολυκλασικά προβλήματα.
2. Κατώφλι και κατάταξη #
- Precision-Recall curve / PR-AUC (PR): χρήσιμο όταν η θετική κλάση είναι σπάνια.
- ROC curve / ROC-AUC (ROC-AUC): συνολική διαχωριστική ικανότητα.
- Top-k Accuracy / Hit Rate (Top-k Accuracy, Hit Rate): σημαντικό σε συστάσεις/αναζήτηση.
3. Πιθανοτικές/βαθμονόμηση #
- Log Loss (Log Loss): ανταμείβει καλά βαθμονομημένες πιθανότητες.
- Brier Score (Brier Score): μαζί με καμπύλες βαθμονόμησης για αξιοπιστία πιθανοτήτων.
- Calibration curves: σύγκριση προβλεπόμενων πιθανοτήτων με πραγματικές συχνότητες.
4. Δείκτες για ανισορροπία κλάσεων #
- Balanced Accuracy (Balanced Accuracy): μέσος όρος ανά κλάση.
- Cohen’s Kappa / MCC (Cohen’s κ, MCC): πιο σταθεροί σε ανισορροπία.
Πώς αλλάζουν οι δείκτες με το κατώφλι #
import matplotlib.pyplot as plt
import numpy as np
from sklearn.datasets import make_classification
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import precision_score, recall_score, f1_score
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
X, y = make_classification(
n_samples=2000,
n_features=12,
n_informative=4,
weights=[0.85, 0.15],
random_state=42,
)
X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.3, stratify=y, random_state=42
)
scaler = StandardScaler()
model = LogisticRegression(max_iter=2000)
model.fit(scaler.fit_transform(X_train), y_train)
prob = model.predict_proba(scaler.transform(X_test))[:, 1]
thresholds = np.linspace(0.05, 0.95, 19)
precision, recall, f1 = [], [], []
for t in thresholds:
y_pred = (prob >= t).astype(int)
precision.append(precision_score(y_test, y_pred, zero_division=0))
recall.append(recall_score(y_test, y_pred, zero_division=0))
f1.append(f1_score(y_test, y_pred, zero_division=0))
fig, ax = plt.subplots(figsize=(6.8, 4))
ax.plot(thresholds, precision, label="Precision", color="#2563eb")
ax.plot(thresholds, recall, label="Recall", color="#dc2626")
ax.plot(thresholds, f1, label="F1", color="#0d9488")
ax.set_xlabel("Threshold")
ax.set_ylabel("Score")
ax.set_title("Effect of threshold on classification metrics")
ax.set_ylim(0, 1.05)
ax.grid(alpha=0.3)
ax.legend()
plt.tight_layout()

Όσο μειώνεται το κατώφλι, το recall ανεβαίνει αλλά το precision πέφτει. Μπορούμε να επιλέξουμε κατώφλι όπου το F1 κορυφώνεται.
Σημεία για αναφορά και λειτουργία #
- Συνόδευσε πάντα με πίνακα σύγχυσης
Φαίνεται καθαρά ο τύπος των λαθών ανά κλάση. - Τεκμηρίωσε την επιλογή κατωφλίου
Χρησιμοποίησε PR curve ή γράφημα threshold-score. - Έλεγξε τη βαθμονόμηση πιθανοτήτων
Αν οι πιθανότητες χρησιμοποιούνται σε αποφάσεις, αξιολόγησε με Brier Score. - Λάβε υπόψη την ανισορροπία κλάσεων
Χρησιμοποίησε Balanced Accuracy ή MCC, όχι μόνο Accuracy. - Παρακολούθηση drift
Παρακολούθησε Precision/Recall, PR-AUC, ROC-AUC στον χρόνο.
Γρήγορη αναφορά #
| Οπτική | Κύριοι δείκτες | Σχετική σελίδα | Σημείωση |
|---|---|---|---|
| Συνολική ακρίβεια | Accuracy / Balanced Accuracy | Accuracy / Balanced Accuracy | Χρήσιμη η Balanced Accuracy σε ανισορροπία |
| FP vs FN | Precision / Recall / Fβ | Precision-Recall / F1 | Συνδυάζεται με επιλογή κατωφλίου |
| Ποιότητα κατάταξης | PR-AUC / ROC-AUC / Top-k | PR curve / ROC-AUC / Top-k Accuracy | Κατάλληλο για ανισορροπία ή recommendation |
| Βαθμονόμηση | Log Loss / Brier Score | Log Loss / Brier Score | Όταν οι πιθανότητες οδηγούν αποφάσεις |
| Ανθεκτικότητα | MCC / Cohen’s κ | MCC / Cohen’s κ | Σταθερό σε ανισορροπία |
Checklist #
- Συνδυάστηκαν δείκτες για ανισορροπία κλάσεων
- Τεκμηριώθηκε το κατώφλι (PR/ROC, κόστος)
- Ελέγχθηκε η βαθμονόμηση πιθανοτήτων
- Συγκρίθηκαν κατανομές αξιολόγησης και παραγωγής
- Ορίστηκαν σταθερά baseline metrics για updates