multilabel_confusion_matrix#

sklearn.metrics.multilabel_confusion_matrix(y_true, y_pred, *, sample_weight=None, метки=None, поэлементно=False)[источник]#

Вычислить матрицу ошибок для каждого класса или образца.

Добавлено в версии 0.21.

Вычислить поклассовую (по умолчанию) или пообразцовую (samplewise=True) многометочную матрицу ошибок для оценки точности классификации и вывести матрицы ошибок для каждого класса или образца.

В матрице ошибок для многометочной классификации \(MCM\), количество истинно отрицательных результатов равно \(MCM_{:,0,0}\), ложноотрицательные значения это \(MCM_{:,1,0}\), истинные положительные результаты это \(MCM_{:,1,1}\) и ложные срабатывания - это \(MCM_{:,0,1}\).

Многоклассовые данные будут обрабатываться как бинаризованные в рамках преобразования «один против всех». Возвращаемые матрицы ошибок будут в порядке отсортированных уникальных меток в объединении (y_true, y_pred).

Подробнее в Руководство пользователя.

Параметры:
y_true{array-like, sparse matrix} формы (n_samples, n_outputs) или (n_samples,)

Истинные (правильные) значения цели. Разреженная матрица поддерживается только когда метки имеют многометочный тип.

y_pred{array-like, sparse matrix} формы (n_samples, n_outputs) или (n_samples,)

Оцененные целевые значения, возвращаемые классификатором. Разреженная матрица поддерживается только когда метки имеют многометочный тип.

sample_weightarray-like формы (n_samples,), по умолчанию=None

Веса выборок.

меткиarray-like формы (n_classes,), по умолчанию=None

Список классов или индексов столбцов для выбора некоторых (или для принудительного включения классов, отсутствующих в данных).

поэлементноbool, по умолчанию=False

В случае многометочной классификации это вычисляет матрицу ошибок для каждого образца.

Возвращает:
multi_confusionndarray формы (n_outputs, 2, 2)

Матрица ошибок 2x2, соответствующая каждому выходу во входных данных. При вычислении поклассовой multi_confusion (по умолчанию) n_outputs = n_labels; при вычислении построчной multi_confusion (samplewise=True) n_outputs = n_samples. Если labels определён, результаты будут возвращены в порядке, указанном в labels, в противном случае результаты будут возвращены в отсортированном порядке по умолчанию.

Смотрите также

confusion_matrix

Вычисление матрицы ошибок для оценки точности классификатора.

Примечания

The multilabel_confusion_matrix вычисляет поклассовые или построчные многометочные матрицы ошибок, а в многоклассовых задачах метки бинаризуются по принципу один-против-всех; тогда как confusion_matrix вычисляет одну матрицу ошибок для путаницы между каждой парой классов.

Примеры

Случай мультиметок-индикаторов:

>>> import numpy as np
>>> from sklearn.metrics import multilabel_confusion_matrix
>>> y_true = np.array([[1, 0, 1],
...                    [0, 1, 0]])
>>> y_pred = np.array([[1, 0, 0],
...                    [0, 1, 1]])
>>> multilabel_confusion_matrix(y_true, y_pred)
array([[[1, 0],
        [0, 1]],

       [[1, 0],
        [0, 1]],

       [[0, 1],
        [1, 0]]])

Многоклассовый случай:

>>> y_true = ["cat", "ant", "cat", "cat", "ant", "bird"]
>>> y_pred = ["ant", "ant", "cat", "cat", "ant", "cat"]
>>> multilabel_confusion_matrix(y_true, y_pred,
...                             labels=["ant", "bird", "cat"])
array([[[3, 1],
        [0, 2]],

       [[5, 0],
        [1, 0]],

       [[2, 1],
        [1, 2]]])