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]]])