🟑 ROC-AUC кривая. ΠœΠ΅Ρ‚Ρ€ΠΈΠΊΠ° ΠΎΡ†Π΅Π½ΠΊΠΈ качСства ΠΌΠΎΠ΄Π΅Π»ΠΈ классификации Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ

Π”Π° Ρ‡Π΅Π³ΠΎ Ρ‚Π°ΠΌ Π΄Π΅Π»Π°Ρ‚ΡŒ пост, Π±Π΅Ρ€Π΅ΡˆΡŒ sklearn, дСлаСшь ΠΈΠΌΠΏΠΎΡ€Ρ‚ ΠΈΠ· metrics ΠΈ ΠΏΠΎΠ³Π½Π°Π». Π§Π΅ΠΌ Π±Π»ΠΈΠΆΠ΅ ΠΊ 1, Ρ‚Π΅ΠΌ Π»ΡƒΡ‡ΡˆΠ΅ => Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ. Но Π΄Π°Π²Π°ΠΉΡ‚Π΅ Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ΡŒΡΡ Π±ΠΎΠ»Π΅Π΅ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΡŽ.

❓ ROC-AUC β€” это Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ наши ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ классы ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ больший скор, Ρ‡Π΅ΠΌ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅. πŸ”½ ΠŸΡ€ΠΈΠΌΠ΅Ρ€: ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρƒ нас Π΅ΡΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ Ρ‚Π°Π±Π»ΠΈΡ†Π°.

| object | score value | y | |--------|-------------|---| | A | 0.92 | 1 | | B | 0.81 | 1 | | C | 0.74 | 0 | | D | 0.63 | 1 | | E | 0.41 | 0 | | F | 0.27 | 0 | | G | 0.18 | 0 | | H | 0.05 | 1 |

✏️ Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΡ€ΠΎΠ³Π° (Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ значСния) Π² отсортированной ΠΏΠΎ скору Ρ‚Π°Π±Π»ΠΈΡ†Π΅ вычислим ΠΏΠΎ строкам значСния:

Для 1 строки считаСм ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΏΠΎΠΏΠ°Π΄Π°ΡŽΡ‚ Π² score >= 0.92 β€” это ΠΎΠ΄ΠΈΠ½ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ класс. Π‘Ρ€Π΅Π΄ΠΈ всСх ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… (4) => TPR = 1/4. ΠŸΡ€ΠΈ этом ΠΌΡ‹ рассмотрСли Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ класса => FPR = 0.

Для 2 строки считаСм ΡƒΠΆΠ΅ Π΄Π²Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° A, B. Π­Ρ‚ΠΎ ΠΎΠ±Π° ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… класса. Π‘Ρ€Π΅Π΄ΠΈ всСх ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… (4) => TPR = 2/4 = 1/2. Пока Ρ‡Ρ‚ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² с классом 0 Π½Π΅ попалось.

Для 3 строки считаСм ΡƒΠΆΠ΅ Ρ‚Ρ€ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° A, B, C. Π‘ΠΌΠΎΡ‚Ρ€ΠΈΠΌ Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ со скором >= 0.74. TPR ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ = 1/2, Π° Π²ΠΎΡ‚ FPR увСличился, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π·Π°Π»Π΅Ρ‚Π΅Π» Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ с ΠΌΠ΅Ρ‚ΠΊΠΎΠΉ 0. Π‘Ρ€Π΅Π΄ΠΈ всСх ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… классов (4) => FPR = 1/4.

Π”Π°Π»Π΅Π΅ считаСм TPR, FPR для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· строк (Бколько ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΌΡ‹ отнСсли ΠΊ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ классу ΠΈΠ· всСх Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² класса).

По сути, ΠΌΡ‹ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅ΠΌ Π½Π° вопрос: Π’ ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… случаях скор, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ ΠΏΠΎ ΠΌΠΎΠ΄Π΅Π»ΠΈ для ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… классов Π²Ρ‹ΡˆΠ΅, Ρ‡Π΅ΠΌ для ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ….

ГрафичСски это выглядит ΠΊΠ°ΠΊ ΡΡ‚ΡƒΠΏΠ΅Π½ΡŒΠΊΠΈ (ΠΏΠΎ оси X β€” FPR, ΠΏΠΎ оси Y β€” TPR). ΠŸΡ€ΠΈ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΈ ΠΏΠΎ Ρ‚Ρ€Π΅ΡˆΡ…ΠΎΠ»Π΄Π°ΠΌ для отнСсСния ΠΊ классам смотрим ΠΊΠ°ΠΊ ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ значСния TPR ΠΈ FPR, кстати Π΅Ρ‰Π΅ Π΅ΡΡ‚ΡŒ значСния Ρ‚Ρ€Π΅ΡˆΡ…ΠΎΠ»Π΄ΠΎΠ² Π² самой Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ sklearn.

🧠 Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ само Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅:

НуТно Π²Π·ΡΡ‚ΡŒ всС сочСтания ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΈ Π½Π΅Π³Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… классов ΠΈ ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ Π² ΠΊΠ°ΠΊΠΈΡ… случаях Π²Ρ‹ΡˆΠ΅. Для нашСго случая это:

1. A > C, A > E, A > F, A > G (ΠΏΠΎΠ».) 2. B > C, B > E, B > F, B > G (ΠΏΠΎΠ».) 3. C > D, C > H (Π½Π΅Π³.) 4. D > E, D > F, D > G (ΠΏΠΎΠ».) 5. E > H (Π½Π΅Π³.) 6. F > H (Π½Π΅Π³.) 6. G > H (Π½Π΅Π³.).

Π‘Ρ‡ΠΈΡ‚Π°Π΅ΠΌ количСство всСх сочСтаний: 16 Π‘Ρ‡ΠΈΡ‚Π°Π΅ΠΌ количСство ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Ρ… срСди ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ…: 11 ROC-AUC = 11/16 = 0.6875

βœ‹ ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΡ Π² ML

1. НС ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Π΅Ρ‚ Ρ†Π΅Π½Ρƒ ошибок (FP = FN ΠΏΠΎ ваТности) 2. НС Π΄Π°Ρ‘Ρ‚ ΠΏΠΎΡ€ΠΎΠ³ для принятия Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ 3. ЛомаСтся ΠΏΡ€ΠΈ сильном дисбалансС 4. Π˜Π³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠ°Π»ΠΈΠ±Ρ€ΠΎΠ²ΠΊΡƒ вСроятностСй 5. Одно число скрываСт Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ошибки

🐍 Как ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ для Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠΈ

1. Если Π΅ΡΡ‚ΡŒ модСль ΠΈ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π΅ΡΡ‚ΡŒ Π»ΠΈ сигнал Π² Π΄Π°Π½Π½Ρ‹Ρ… (ROC-AUC > 0.5). Π’ΠΎ Π΅ΡΡ‚ΡŒ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π»ΠΈ наши ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ модСль Ρ‚Π°ΠΊΡƒΡŽ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½Π° Π±Ρ‹Π»Π° Π»ΡƒΡ‡ΡˆΠ΅ случайности.

2. ΠŸΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ Ρ„ΠΈΡ‡ΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠ°ΡŽΡ‚ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ TP ΠΈ FP. НапримСр, ΠΏΡ€ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ Ρ„ΠΈΡ‡ΠΈ ROC-AUC увСличился => появился Π½ΠΎΠ²Ρ‹ΠΉ сигнал.

3. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° эвристики ΠΏΡ€ΠΎΡ‚ΠΈΠ² ΠΌΠΎΠ΄Π΅Π»ΠΈ. ΠžΠΏΡ€Π°Π²Π΄Π°Π½ΠΎ Π»ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ML-ΠΌΠΎΠ΄Π΅Π»ΠΈ Π² ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅ ΠΈΠ»ΠΈ достаточно эвристику.

4. Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ сСгмСнтов / источников сигнала. Π—Π°Π΄Π°Ρ‡Π°: ΠΏΠΎΠ½ΡΡ‚ΡŒ, Π³Π΄Π΅ модСль Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.

5. ΠžΡ†Π΅Π½ΠΊΠ° классификации ΠΏΠΎ нСдСлям. ПонимаСм, Ρ‡Ρ‚ΠΎ ROC-AUC ΠΏΠΎ нСдСлям Π΄Π΅Π³Ρ€Π°Π΄ΠΈΡ€ΡƒΠ΅Ρ‚ => Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ большС ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΎΠ² для обобщСния.

6. Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚Π°Ρ€Π³Π΅Ρ‚ΠΎΠ². Один Ρ‚Π°Ρ€Π³Π΅Ρ‚ Π»ΡƒΡ‡ΡˆΠ΅ отдСляСтся => ΠΎΠ½ Π±ΠΎΠ»Π΅Π΅ прСдсказуСм ΠΈ устойчив

Если ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎ: ROC-AUC ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π½Π° вопрос Π΅ΡΡ‚ΡŒ Π»ΠΈ сигнал, Π° Π½Π΅ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

ΠŸΠΎΠ½Ρ€Π°Π²ΠΈΠ»ΡΡ пост? Π‘Ρ‚Π°Π²ΡŒΡ‚Π΅ 🐳****, ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ!

@zasql_python

🟑 ROC-AUC кривая. ΠœΠ΅Ρ‚Ρ€ΠΈΠΊΠ° ΠΎΡ†Π΅Π½ΠΊΠΈ качСства ΠΌΠΎΠ΄Π΅Π»ΠΈ классификации Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ
Π”Π° Ρ‡Π΅Π³ΠΎ Ρ‚Π°ΠΌ Π΄Π΅Π»Π°Ρ‚ΡŒ пост, Π±Π΅Ρ€Π΅ΡˆΡŒ sklearn, дСлаСшь ΠΈΠΌΠΏΠΎΡ€Ρ‚ ΠΈΠ· metrics ΠΈ ΠΏΠΎΠ³Π½Π°Π». Π§Π΅ΠΌ Π±Π»ΠΈΠΆΠ΅ ΠΊ 1, Ρ‚Π΅ΠΌ Π»ΡƒΡ‡ΡˆΠ΅ => Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ | Π‘Π΅Ρ‚ΠΊΠ° β€” ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ ΡΠ΅Ρ‚ΡŒ ΠΎΡ‚ hh.ru