Мы можем суммировать количество правильных и неправильных прогнозов в одной таблице, используя матрицу путаницы, и анализировать результаты наших моделей машинного обучения.

В этой статье я пишу свою реализацию матрицы путаницы с использованием Python и NumPy. Эта функция ниже может вычислить матрицу путаницы любого размера или количества классов.

Если вы не знаете, что такое матрица путаницы, посмотрите это потрясающее видео здесь.

import numpy as np
def confusion_matrix(true,pred):
  classes = set(true + pred)
  num_classes = len(classes)
  shape = (num_classes, num_classes)
  mat = np.zeros(shape)
  n = max(len(true),len(pred))
  for i in range(num_classes):
    for j in range(num_classes):
      for k in range(n):
        if true[k]-1 == i:
          if pred[k]-1 == j:
            mat[i][j] = mat[i][j] + 1
  return mat

Давайте попробуем это на примере:

actual = [1,1,2,3,4,1,5]
predicted = [1,2,2,3,4,6,5]
confusion_matrix(actual, predicted)

Это дает следующий результат:

array([[1., 1., 0., 0., 0., 1.],
       [0., 1., 0., 0., 0., 0.],
       [0., 0., 1., 0., 0., 0.],
       [0., 0., 0., 1., 0., 0.],
       [0., 0., 0., 0., 1., 0.],
       [0., 0., 0., 0., 0., 0.]])

Спасибо :D

Ссылка: https://www.linkedin.com/in/sai-disha-d-671a1519a/