confusion_matrix#

sklearn.metrics.confusion_matrix(y_true, y_pred, *, метки=None, sample_weight=None, нормализовать=None)[источник]#

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

По определению матрица ошибок \(C\) такой, что \(C_{i, j}\) равно количеству наблюдений, известных как принадлежащих группе \(i\) и предсказано быть в группе \(j\).

Таким образом, в бинарной классификации количество истинно отрицательных равно \(C_{0,0}\), ложноотрицательные значения это \(C_{1,0}\), истинные положительные результаты — это \(C_{1,1}\) и ложные срабатывания - это \(C_{0,1}\).

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

Параметры:
y_truearray-like формы (n_samples,)

Истинные (правильные) целевые значения.

y_predarray-like формы (n_samples,)

Оценённые цели, возвращаемые классификатором.

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

Список меток для индексации матрицы. Может использоваться для переупорядочивания или выбора подмножества меток. Если None задано, те, которые появляются хотя бы один раз в y_true или y_pred используются в отсортированном порядке.

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

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

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

нормализовать{‘true’, ‘pred’, ‘all’}, по умолчанию=None

Нормализует матрицу ошибок по истинным (строки), предсказанным (столбцы) условиям или по всей популяции. Если None, матрица ошибок не будет нормализована.

Возвращает:
Cndarray формы (n_classes, n_classes)

Матрица ошибок, в которой элемент i-й строки и j-го столбца указывает количество выборок с истинной меткой i-го класса и предсказанной меткой j-го класса.

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

ConfusionMatrixDisplay.from_estimator

Построить матрицу ошибок для заданного оценщика, данных и метки.

ConfusionMatrixDisplay.from_predictions

Постройте матрицу ошибок по истинным и предсказанным меткам.

ConfusionMatrixDisplay

Визуализация матрицы ошибок.

confusion_matrix_at_thresholds

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

Ссылки

[1]

Статья в Википедии о матрице ошибок (Википедия и другие источники могут использовать другое соглашение для осей).

Примеры

>>> from sklearn.metrics import confusion_matrix
>>> y_true = [2, 0, 2, 2, 0, 1]
>>> y_pred = [0, 0, 2, 2, 0, 2]
>>> confusion_matrix(y_true, y_pred)
array([[2, 0, 0],
       [0, 0, 1],
       [1, 0, 2]])
>>> y_true = ["cat", "ant", "cat", "cat", "ant", "bird"]
>>> y_pred = ["ant", "ant", "cat", "cat", "ant", "cat"]
>>> confusion_matrix(y_true, y_pred, labels=["ant", "bird", "cat"])
array([[2, 0, 0],
       [0, 0, 1],
       [1, 0, 2]])

В бинарном случае мы можем извлечь истинно положительные и т.д. следующим образом:

>>> tn, fp, fn, tp = confusion_matrix([0, 1, 0, 1], [1, 1, 1, 0]).ravel().tolist()
>>> (tn, fp, fn, tp)
(0, 2, 1, 1)