Precision, Recall, F1-score

ΠžΡ†Π΅Π½ΠΊΠ° качСства классификаторов с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ Precision, Recall, F1-score

ΠŸΡ€ΠΈ ΠΎΡ†Π΅Π½ΠΊΠ΅ эффСктивности Ρ€Π°Π±ΠΎΡ‚Ρ‹ классификационных ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ, особСнно Π² Π·Π°Π΄Π°Ρ‡Π°Ρ… с нСсбалансированными классами, ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ Precision (Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ), Recall (ΠΏΠΎΠ»Π½ΠΎΡ‚Π°) ΠΈ F1-score (F1-ΠΌΠ΅Ρ€Π°). Π­Ρ‚ΠΈ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ всСстороннС ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ качСство классификатора ΠΈ Π²Ρ‹ΡΠ²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΡΠΈΠ»ΡŒΠ½Ρ‹Π΅ ΠΈ слабыС стороны.

Π’ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ (Precision)

Π’ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ опрСдСляСтся ΠΊΠ°ΠΊ доля ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ классифицированных ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² срСди всСх ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ², классифицированных ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅:

Precision = TP / (TP + FP)

Π“Π΄Π΅:

  • TP (True Positives) - количСство ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ², классифицированных ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅

  • FP (False Positives) - количСство ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ², ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½ΠΎ классифицированных ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅

Π§Π΅ΠΌ Π²Ρ‹ΡˆΠ΅ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ, Ρ‚Π΅ΠΌ мСньшС Π»ΠΎΠΆΠ½ΠΎΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… классификаций.

ΠŸΠΎΠ»Π½ΠΎΡ‚Π° (Recall)

ΠŸΠΎΠ»Π½ΠΎΡ‚Π° опрСдСляСтся ΠΊΠ°ΠΊ доля ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ классифицированных ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² срСди всСх истинно ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ²:

Recall = TP / (TP + FN)

Π“Π΄Π΅:

  • FN (False Negatives) - количСство ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ², ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½ΠΎ классифицированных ΠΊΠ°ΠΊ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅

Π§Π΅ΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΠΎΠ»Π½ΠΎΡ‚Π°, Ρ‚Π΅ΠΌ мСньшС Π»ΠΎΠΆΠ½ΠΎΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… классификаций.

F1-ΠΌΠ΅Ρ€Π°

F1-ΠΌΠ΅Ρ€Π° прСдставляСт собой гармоничСскоС срСднСС ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈ ΠΏΠΎΠ»Π½ΠΎΡ‚ΠΎΠΉ:

F1-score = 2 * (Precision * Recall) / (Precision + Recall)

F1-ΠΌΠ΅Ρ€Π° позволяСт сбалансировано ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ качСство классификатора, учитывая ΠΊΠ°ΠΊ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ, Ρ‚Π°ΠΊ ΠΈ ΠΏΠΎΠ»Π½ΠΎΡ‚Ρƒ. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ F1-ΠΌΠ΅Ρ€Ρ‹ Π»Π΅ΠΆΠΈΡ‚ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ‚ 0 Π΄ΠΎ 1, Π³Π΄Π΅ 1 соотвСтствуСт идСальной классификации.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ расчСта ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ Π½Π° Python

Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ расчСта ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ Precision, Recall ΠΈ F1-score для Π·Π°Π΄Π°Ρ‡ΠΈ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠΉ классификации:

from sklearn.metrics import precision_score, recall_score, f1_score

# Π˜ΡΡ‚ΠΈΠ½Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΊΠΈ
y_true = [0, 1, 0, 1, 0, 1, 0, 0, 1, 1]

# ΠŸΡ€Π΅Π΄ΡΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΊΠΈ
y_pred = [0, 0, 0, 1, 0, 1, 1, 0, 1, 1]

# ВычислСниС ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ
precision = precision_score(y_true, y_pred)
recall = recall_score(y_true, y_pred)
f1 = f1_score(y_true, y_pred)

print(f"Π’ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ (Precision): {precision:.2f}")
print(f"ΠŸΠΎΠ»Π½ΠΎΡ‚Π° (Recall): {recall:.2f}")
print(f"F1-ΠΌΠ΅Ρ€Π°: {f1:.2f}")

Π’Ρ‹Ρ…ΠΎΠ΄:

Π’ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ (Precision): 0.67
ΠŸΠΎΠ»Π½ΠΎΡ‚Π° (Recall): 0.75
F1-ΠΌΠ΅Ρ€Π°: 0.71

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ использовали Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ precision_score, recall_score ΠΈ f1_score ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ sklearn.metrics для расчСта ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ Π½Π° основС истинных ΠΈ прСдсказанных ΠΌΠ΅Ρ‚ΠΎΠΊ.

Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΡ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ

ΠŸΡ€ΠΈ Π°Π½Π°Π»ΠΈΠ·Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Precision, Recall ΠΈ F1-score слСдуСт ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ спСцифику Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈ трСбования ΠΊ классификатору. НапримСр, Π² Π·Π°Π΄Π°Ρ‡Π°Ρ…, Π³Π΄Π΅ Π²Π°ΠΆΠ½ΠΎ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π»ΠΎΠΆΠ½ΠΎΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ классификации (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, выявлСниС ΠΌΠΎΡˆΠ΅Π½Π½ΠΈΡ‡Π΅ΡΡ‚Π²Π°), ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½Π° высокая Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ (Precision). Π’ Π·Π°Π΄Π°Ρ‡Π°Ρ…, Π³Π΄Π΅ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Ρ‹ Π»ΠΎΠΆΠ½ΠΎΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ классификации (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, мСдицинская диагностика), ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Π°ΠΆΠ½Π΅Π΅ высокая ΠΏΠΎΠ»Π½ΠΎΡ‚Π° (Recall).

Для сбалансированной ΠΎΡ†Π΅Π½ΠΊΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ классификатора часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ F1-ΠΌΠ΅Ρ€Π°, которая ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΊΠ°ΠΊ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ, Ρ‚Π°ΠΊ ΠΈ ΠΏΠΎΠ»Π½ΠΎΡ‚Ρƒ.

ΠŸΡ€ΠΈ Π°Π½Π°Π»ΠΈΠ·Π΅ этих ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ Π²Π°ΠΆΠ½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° распрСдСлСниС классов Π² Π΄Π°Π½Π½Ρ‹Ρ…. Если классы сильно нСсбалансированы, высокая Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ ΠΈΠ»ΠΈ ΠΏΠΎΠ»Π½ΠΎΡ‚Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ достигнута Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π·Π° счСт прСдсказания ΠΏΡ€Π΅ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ класса. Π’ Ρ‚Π°ΠΊΠΈΡ… случаях F1-ΠΌΠ΅Ρ€Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ ΠΎΡ†Π΅Π½ΠΊΡƒ качСства классификации.

ΠœΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ Precision, Recall ΠΈ F1-score ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΌΠΎΡ‰Π½Ρ‹ΠΌΠΈ инструмСнтами для всСстороннСго Π°Π½Π°Π»ΠΈΠ·Π° эффСктивности классификационных ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ, особСнно Π² Π·Π°Π΄Π°Ρ‡Π°Ρ… с нСсбалансированными классами ΠΈΠ»ΠΈ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ трСбованиями ΠΊ Ρ‚ΠΈΠΏΠ°ΠΌ ошибок классификации.

Last updated