Chalkashlik matritsasi
Chalkashlik matritsasi nima?
Bu modeldagi xatolar qayerda qilinganligini baholash uchun tasniflash muammolarida foydalaniladigan jadval.
Qatorlar natijalar bo‘lishi kerak bo‘lgan haqiqiy classlarni ifodalaydi. Ustunlar esa biz qilgan bashoratlarni ifodalaydi. Ushbu jadval yordamida qaysi bashoratlar noto‘g‘ri ekanligini aniqlash oson.
Chalkashlik matritsasi yaratish
Chalkashlik matritsalari logistik regressiyadan bashorat qilish orqali yaratilishi mumkin.
Hozircha biz NumPy yordamida haqiqiy va taxmin qilingan qiymatlarni yaratamiz:
import numpy
Keyinchalik biz "haqiqiy" va "bashorat qilingan" qiymatlar uchun raqamlarni yaratishimiz kerak.
actual = numpy.random.binomial(1, 0.9, size = 1000)
predicted = numpy.random.binomial(1, 0.9, size = 1000)
Chalkashlik matritsasini yaratish uchun biz sklearn modulidan o‘lchovlarni import qilishimiz kerak.
from sklearn import metrics
Ko‘rsatkichlar import qilingandan so‘ng, biz chalkashlik matritsasi funksiyasidan haqiqiy va taxmin qilingan qiymatlarimizda foydalanishimiz mumkin.
confusion_matrix = metrics.confusion_matrix(actual, predicted)
Ko‘proq tushunarli vizual displey yaratish uchun jadvalni chalkashlik matritsali displeyga aylantirishimiz kerak.
cm_display = metrics.ConfusionMatrixDisplay(confusion_matrix = confusion_matrix, display_labels = [0,
1])
Displeyni vizualizatsiya qilish uchun matplotlib dan pyplot import qilishimiz kerak.
import matplotlib.pyplot as plt
Nihoyat, syujetni ko‘rsatish uchun biz pyplotdan plot() va show() funksiyalaridan foydalanishimiz mumkin.
cm_display.plot()
plt.show()
To‘liq misolni amalda ko‘ring:
Misol
import matplotlib.pyplot as plt
import numpy
from sklearn import metrics
actual = numpy.random.binomial(1,.9,size = 1000)
predicted = numpy.random.binomial(1,.9,size = 1000)
confusion_matrix = metrics.confusion_matrix(actual, predicted)
cm_display = metrics.ConfusionMatrixDisplay(confusion_matrix = confusion_matrix, display_labels = [0, 1])
cm_display.plot()
plt.show()
Natija

Natijalar tushuntirildi
Yaratilgan chalkashlik matritsasi to‘rt xil kvadrantga ega:
Haqiqiy salbiy (yuqori-chap kvadrant) noto‘g‘ri musbat (yuqori-o‘ng kvadrant) noto‘g‘ri salbiy (pastki-chap kvadrant) haqiqiy ijobiy (pastki o‘ng kvadrant)
To‘g‘ri qiymatlar to‘g‘ri bashorat qilinganligini anglatadi, noto‘g‘ri - xato yoki noto‘g‘ri bashorat borligini bildiradi.
Endi biz chalkashlik matritsasini yaratdik, biz model sifatini aniqlash uchun turli xil o‘lchovlarni hisoblashimiz mumkin. Birinchidan, aniqlikni ko‘rib chiqaylik.
Yaratilgan ko‘rsatkichlar
Matritsa bizga tasniflash modelimizni baholashga yordam beradigan ko‘plab foydali ko‘rsatkichlarni taqdim etadi.
Turli xil o‘lchovlarga quyidagilar kiradi: Aniqlik, Aniqlik, Sezuvchanlik (eslab qolish), O‘ziga xoslik va quyida tavsiflangan F ball.
Aniqlik
Aniqlik model qanchalik to‘g‘ri ekanligini o‘lchaydi.
Qanday hisoblash kerak
(Haqiqiy ijobiy + haqiqiy salbiy) / Jami bashoratlar
Aniqlik
Bashorat qilingan ijobiy narsalarning necha foizi haqiqatan ham ijobiy?
Qanday hisoblash kerak
Haqiqiy ijobiy / (haqiqiy ijobiy + noto‘g‘ri ijobiy)
Aniqlik to‘g‘ri bashorat qilingan salbiy holatlarni baholamaydi:
Sezuvchanlik (eslab qolish)
Barcha ijobiy holatlarning necha foizi ijobiy prognoz qilingan?
Sezuvchanlik (ba’zan Recall deb ataladi) modelning ijobiy tomonlarini bashorat qilishda qanchalik yaxshi ekanligini o‘lchaydi.
Bu shuni anglatadiki, u haqiqiy ijobiy va noto‘g‘ri salbiylarga qaraydi (bular salbiy deb noto‘g‘ri bashorat qilingan ijobiy).
Qanday hisoblash kerak
Haqiqiy ijobiy / (haqiqiy ijobiy + noto‘g‘ri salbiy)
Model nimanidir ijobiy deb bashorat qilishini tushunishda sezgirlik yaxshi:
O‘ziga xoslik
Model salbiy natijalarni bashorat qilishda qanchalik yaxshi?
O‘ziga xoslik sezgirlikka o‘xshaydi, lekin unga salbiy natijalar nuqtai nazaridan qaraydi.
Qanday hisoblash kerak
Haqiqiy salbiy / (haqiqiy salbiy + noto‘g‘ri ijobiy)
Bu Recall ning teskarisi bo‘lgani uchun biz qarama-qarshi pozitsiya belgisini olib, recall_score funksiyasidan foydalanamiz:
F ball
F-bal aniqlik va sezgirlikning "harmonik o‘rtacha"sidir.
U noto‘g‘ri ijobiy va noto‘g‘ri salbiy holatlarni ko‘rib chiqadi va muvozanatsiz ma’lumotlar to‘plami uchun yaxshi.
Qanday hisoblash kerak
2 * ((Precision * Sensitivity) / (Precision + Sensitivity))
Bu ball Haqiqiy Salbiy qiymatlarni hisobga olmaydi:
Barcha hisob-kitoblar bitta:
Misol
#metrics
print({"Accuracy":Accuracy,"Precision":Precision,"Sensitivity_recall":Sensitivity_recall,"Specificity":Specificity,"F1_score":F1_score})
Misolni ishga tushirish »
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
