logo

Матриця плутанини в машинному навчанні

в машинне навчання , класифікація — це процес класифікації даного набору даних за різними категоріями. У машинному навчанні для вимірювання ефективності моделі класифікації ми використовуємо матриця плутанини . Завдяки цьому посібнику зрозумійте значення матриці плутанини.

Що таке матриця плутанини?

А матриця плутанини це матриця, яка підсумовує продуктивність моделі машинного навчання на наборі тестових даних. Це засіб відображення кількості точних і неточних випадків на основі прогнозів моделі. Він часто використовується для вимірювання продуктивності моделей класифікації, які спрямовані на прогнозування категорійної мітки для кожного вхідного екземпляра.

Матриця відображає кількість екземплярів, створених моделлю на тестових даних.



  • Справжні позитиви (TP): відбувається, коли модель точно передбачає позитивну точку даних.
  • Справжні негативи (TN) : виникає, коли модель точно передбачає негативну точку даних.
  • Помилкові спрацьовування (FP) : виникає, коли модель неправильно прогнозує позитивну точку даних.
  • помилковий негативи (FN) : виникає, коли модель неправильно передбачає негативну точку даних.

Навіщо нам потрібна матриця плутанини?

При оцінці продуктивності моделі класифікації матриця плутанини є важливою. Він пропонує ретельний аналіз істинно позитивних, істинно негативних, хибнопозитивних і хибнонегативних прогнозів, сприяючи більш глибокому розумінню моделі згадування, точність, точність, і загальна ефективність в класовій відзнаці. Якщо в наборі даних є нерівномірний розподіл класів, ця матриця особливо корисна для оцінки продуктивності моделі за межами основних показників точності.

Давайте розберемося в матриці плутанини на прикладах:

Матриця плутанини для бінарної класифікації

Матриця плутанини 2X2 показана нижче для розпізнавання зображень із зображенням собаки або зображенням не собаки.

Фактичний

Пес

Не собака

Передбачив

Пес

Справжній позитив
(TP)

Хибно позитивний
(FP)

Не собака

Помилково негативний
(FN)

Справжній негатив
(TN)

  • Справжній позитивний (TP): Це загальні підрахунки, які мають як прогнозовані, так і фактичні значення, є Dog.
  • Істинно негативний (TN): Це загальні підрахунки, які мають як прогнозовані, так і фактичні значення, не є собакою.
  • Хибнопозитивний результат (FP): Це загальна кількість підрахунків, які передбачають собаку, а насправді не собаку.
  • Помилково негативний (FN): Це загальна кількість підрахунків, які передбачають не собаку, хоча насправді це собака.

Приклад задач бінарної класифікації

Індекс

преіті зінта

1

2

3

4

5

6

7

8

9

10

Фактичний

Пес

Пес

Пес

Не собака

Пес

Не собака

Пес

Пес

Не собака

Не собака

Передбачив

Пес

Не собака

Пес

Не собака

Пес

Пес

Пес

Пес

Не собака

Не собака

Результат

місто

FN

місто

TN

місто

FP

місто

місто

TN

TN

  • Фактична кількість собак = 6
  • Фактичний не собака підраховує = 4
  • Справжня позитивна кількість = 5
  • Кількість хибних позитивних результатів = 1
  • Справжні негативні підрахунки = 3
  • Підрахунок хибних негативних = 1

Передбачив

Пес

Не собака


Фактичний

Пес

Справжній позитив
(TP =5)

Помилково негативний
(FN =1)

Не собака

Хибно позитивний
(FP=1)

Справжній негатив
(TN=3)

Показники на основі даних матриці плутанини

1. Точність

Точність використовується для вимірювання продуктивності моделі. Це відношення загальної кількості правильних випадків до загальної кількості випадків.

Accuracy = frac {TP+TN}{TP+TN+FP+FN}

Для наведеного вище випадку:

Точність = (5+3)/(5+3+1+1) = 8/10 = 0,8

2. Точність

Точність є показником того, наскільки точними є позитивні прогнози моделі. Він визначається як відношення істинно позитивних прогнозів до загальної кількості позитивних прогнозів, зроблених моделлю.

ext{Precision} = frac{TP}{TP+FP}

Для наведеного вище випадку:

Точність = 5/(5+1) =5/6 = 0,8333

3. Пригадайте

Відкликати вимірює ефективність моделі класифікації в ідентифікації всіх відповідних екземплярів із набору даних. Це відношення кількості справжніх позитивних (TP) випадків до суми справжніх позитивних і хибно негативних (FN) випадків.

ext{Recall} = frac{TP}{TP+FN}

Для наведеного вище випадку:

Згадайте = 5/(5+1) =5/6 = 0,8333

Примітка: Ми використовуємо точність, коли хочемо звести до мінімуму помилкові спрацьовування, що має вирішальне значення в таких сценаріях, як виявлення електронної пошти зі спамом, коли неправильна класифікація повідомлення, яке не є спамом, як спам, коштує дорого. І ми використовуємо відкликання, коли мінімізація хибно-негативних результатів є важливою, як у медичних діагнозах, де виявлення всіх фактичних позитивних випадків є критичним, навіть якщо це призводить до деяких хибно-позитивних результатів.

4. Оцінка F1

F1-оцінка використовується для оцінки загальної ефективності моделі класифікації. Це гармонійне середнє значення точності та пригадування,

ext{F1-Score} = frac {2 cdot Precision cdot Recall}{Precision + Recall}

Для наведеного вище випадку:

Оцінка F1: = (2* 0,8333* 0,8333)/( 0,8333+ 0,8333) = 0,8333

Ми збалансовуємо точність і запам’ятовування за допомогою оцінки F1, коли необхідний компроміс між мінімізацією помилкових спрацьовувань і помилково негативних результатів, наприклад, у системах пошуку інформації.

5. Специфіка:

Специфічність є ще одним важливим показником в оцінці моделей класифікації, зокрема в бінарній класифікації. Він вимірює здатність моделі правильно визначати негативні випадки. Специфічність також відома як істинний негативний показник.

ext{Specificity} = frac{TN}{TN+FP}

Специфічність=3/(1+3)​=3/4=0,75

6. Помилка типу 1 і типу 2

Помилка 1 типу

Помилка типу 1 виникає, коли модель передбачає позитивний випадок, але насправді він є негативним. На точність впливають хибні спрацьовування, оскільки це співвідношення справжніх спрацьовувань до суми істинних спрацьовувань і хибнопозитивних спрацьовувань.

ext{Type 1 Error} = frac{FP}{TN+FP}

Наприклад, у сценарії зали суду помилка типу 1, яку часто називають хибним позитивним результатом, виникає, коли суд помилково засуджує особу як винну, хоча насправді вона невинна у передбачуваному злочині. Ця серйозна помилка може мати глибокі наслідки, що призведе до неправомірного покарання невинної особи, яка не вчиняла даного правопорушення. Запобігання помилкам типу 1 у судочинстві має першочергове значення для забезпечення точного звернення правосуддя та захисту невинних осіб від невиправданої шкоди та покарання.

Помилка 2 типу

Помилка типу 2 виникає, коли модель не може передбачити позитивний випадок. На запам'ятовування безпосередньо впливають хибні негативи, оскільки це відношення справжніх позитивних результатів до суми справжніх позитивних і хибних негативних результатів.

У контексті медичного тестування помилка типу 2, часто відома як хибнонегативний результат, виникає, коли діагностичний тест не вдається виявити наявність захворювання у пацієнта, який його справді має. Наслідки такої помилки значні, оскільки це може призвести до запізнілої діагностики та подальшого лікування.

ext{Type 2 Error} = frac{FN}{TP+FN}

Точність наголошує на мінімізації помилкових спрацьовувань, тоді як відкликання фокусується на мінімізації помилкових негативів.

Реалізація матриці плутанини для двійкової класифікації за допомогою Python

Крок 1. Імпортуйте необхідні бібліотеки

Python import numpy as np from sklearn.metrics import confusion_matrix,classification_report import seaborn as sns import matplotlib.pyplot as plt>

Крок 2. Створіть масив NumPy для фактичних і прогнозованих міток

Python actual = np.array( ['Dog','Dog','Dog','Not Dog','Dog','Not Dog','Dog','Dog','Not Dog','Not Dog']) predicted = np.array( ['Dog','Not Dog','Dog','Not Dog','Dog','Dog','Dog','Dog','Not Dog','Not Dog'])>

Крок 3: Обчисліть матрицю плутанини

Python cm = confusion_matrix(actual,predicted)>

Крок 4: Побудуйте матрицю плутанини за допомогою морської теплової карти

Python cm = confusion_matrix(actual,predicted) sns.heatmap(cm, annot=True, fmt='g', xticklabels=['Dog','Not Dog'], yticklabels=['Dog','Not Dog']) plt.xlabel('Prediction',fontsize=13) plt.ylabel('Actual',fontsize=13) plt.title('Confusion Matrix',fontsize=17) plt.show()>

Вихід :

крок 5: Звіт про класифікації на основі показників плутанини

Python print(classification_report(actual, predicted))>

Вихід :

precision recall f1-score support Dog 0.83 0.83 0.83 6 Not Dog 0.75 0.75 0.75 4 accuracy 0.80 10 макрос. 0.79 0.79 0.79 10 зваж.

Матриця плутанини для багатокласової класифікації

Тепер розглянемо, що є три класи. Матриця плутанини 3X3 показана нижче для зображення, яке має три класи.

Тут TP= Істинне позитивне, FP= Хибне позитивне, FN= Хибне негативне.

ІндексФактичнийПередбачивмістоFPFN
1кішкакішка100
2ПесПес100
3КіньПес011
4кішкакішка100
5ПесПес100
6кішкакішка100
7ПесПес100
8КіньКінь100
9КіньКінь100
10кішкаПес011
  • Справжні позитиви (TP): 8 (1+1+0+1+1+1+1+1+1+0)
  • Помилкові спрацьовування (FP): 2 (0+0+1+0+0+0+0+0+0+1)
  • Хибно негативні (FN): 2 (0+0+1+0+0+0+0+0+0+1)

Матриця плутанини 3X3 показана нижче для трьох класів.

Передбачив

кішка

Пес

Кінь


Фактичний

кішка

місто

FP

FN

Пес

FP

місто

FN

Кінь

FN

FP

місто

Резюме по класу:

  • Для кота: [TP=3,FP=0,FN=1]
    • Індекс 1: Справді позитивний (фактичний кіт, прогнозований кіт)
    • Індекс 4: Справді позитивний (фактичний кіт, прогнозований кіт)
    • Індекс 6: Справді позитивний (фактичний кіт, прогнозований кіт)
    • Індекс 10: хибно-негативний (справжній кіт, передбачений собака)
  • Для собаки: [TP=3,FP=2,FN=0]
    • Індекс 2: Справді позитивний (собака фактична, собака передбачена)
    • Індекс 5: Справді позитивний (собака фактична, собака передбачена)
    • Індекс 7: Справді позитивний (собака фактична, собака передбачена)
    • Індекс 10: Хибно-позитивний (справжній кіт, передбачуваний собака)
    • Індекс 3: Хибнопозитивний результат (фактичний кінь, передбачуваний собакою)
  • Для коня: [TP=2,FP=0,FN=1]
    • Індекс 8: Справді позитивний (фактичний кінь, прогнозований кінь)
    • Індекс 9: Справді позитивний (фактичний кінь, прогнозований кінь)
    • Індекс 3: хибно-негативний (фактичний кінь, передбачений собакою)

Тоді матриця плутанини матиме вигляд:

Передбачив

кішка

Пес

Кінь


Фактичний

кішка

TP(3)

FP(1)

FN(0)

Пес

FN(0)

TP(3)

FN(1)

Кінь

FN(1)

FP(1)

TP(2)

Реалізація матриці плутанини для двійкової класифікації за допомогою Python

Крок 1. Імпортуйте необхідні бібліотеки

Python import numpy as np from sklearn.metrics import confusion_matrix, classification_report import seaborn as sns import matplotlib.pyplot as plt>

Крок 2. Створіть масив NumPy для фактичних і прогнозованих міток

Python actual = np.array( ['Cat', 'Dog', 'Horse', 'Cat', 'Dog', 'Cat', 'Dog', 'Horse', 'Horse', 'Cat']) predicted = np.array( ['Cat', 'Dog', 'Dog', 'Cat', 'Dog', 'Cat', 'Dog', 'Horse', 'Horse', 'Dog'])>

Крок 3: Обчисліть матрицю плутанини

Python cm = confusion_matrix(actual,predicted)>

Крок 4: Побудуйте матрицю плутанини за допомогою морської теплової карти

Python cm = confusion_matrix(actual,predicted) sns.heatmap(cm, annot=True, fmt='g', xticklabels=['Cat', 'Dog', 'Horse'], yticklabels=['Cat', 'Dog', 'Horse']) plt.xlabel('Prediction', fontsize=13) plt.ylabel('Actual', fontsize=13) plt.title('Confusion Matrix', fontsize=17) plt.show()>

Вихід:

крок 5: Звіт про класифікації на основі показників плутанини

Python print(classification_report(actual, predicted))>

Вихід :

підтримка оцінки точності пригадування f1 Кішка 1,00 0,75 0,86 4 Собака 0,60 1,00 0,75 3 Кінь 1,00 0,67 0,80 3 точність 0,80 10 макросреднє 0,87 0,81 0,80 10 зважене середнє 0,88 0,80 0,8 1 10

Висновок

Підсумовуючи, матриця плутанини є важливим інструментом для оцінки ефективності моделей класифікації. Уявлення про точність, точність, запам’ятовуваність і загальну ефективність моделі в класифікації екземплярів забезпечуються завдяки ретельному аналізу істинно позитивних, істинно негативних, хибнопозитивних і хибнонегативних прогнозів, які вона пропонує. У статті наведено приклади для ілюстрації обчислення кожного показника та обговорено його важливість. Він також продемонстрував, як матриці плутанини можуть бути реалізовані в Python для сценаріїв бінарної та багатокласової класифікації. Практикуючі спеціалісти можуть приймати обґрунтовані рішення щодо продуктивності моделі, особливо коли вони мають справу з незбалансованим розподілом класів, розуміючи та застосовуючи ці показники.

Поширені запитання щодо матриці плутанини

Q. Як інтерпретувати матрицю плутанини?

Матриця плутанини підсумовує продуктивність моделі класифікації із записами, що представляють істинно позитивні, істинно негативні, хибнопозитивні та хибнонегативні випадки, забезпечуючи розуміння точності та помилок моделі.

Q. Які переваги використання матриці плутанини?

Матриця плутанини забезпечує всебічну оцінку ефективності моделі класифікації, пропонуючи розуміння справжніх позитивних результатів, справжніх негативних результатів, помилкових позитивних результатів і помилкових негативних результатів, допомагаючи детальному аналізу, що перевищує базову точність.

Q. Які приклади застосування матриці плутанини?

Матриці плутанини знаходять застосування в різних сферах, включаючи медичну діагностику (виявлення справжніх/хибних позитивних/негативних результатів захворювань), виявлення шахрайства, аналіз настроїв і оцінку точності розпізнавання зображень.

Q. Що таке діаграма матриці плутанини?

Діаграма матриці плутанини наочно представляє продуктивність моделі класифікації. Він відображає справжні позитивні, справжні негативні, помилкові позитивні та помилкові негативні значення у форматі структурованої матриці.

Q. Які три значення матриці плутанини?

Три значення матриці плутанини: справжнє позитивне (правильно передбачені позитивні випадки), справжнє негативне (правильно передбачені негативні випадки) і хибнопозитивні (неправильно передбачені позитивні випадки).