Spec-Zone.ru › scikit-learn

confusion_matrix

sklearn.metrics.confusion_matrix(y_true, y_pred, *, labels=None, sample_weight=None, normalize=None)[исходный код]

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

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

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

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

Параметры:
y_trueмассивоподобный объект формы (n_samples,)

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

y_predмассивоподобный объект формы (n_samples,)

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

labelsмассивоподобный объект формы (n_classes,), по умолчанию None

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

sample_weightмассивоподобный объект формы (n_samples,), по умолчанию None

Веса образцов.

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

normalize{‘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)

Примеры в галерее

Визуализация с помощью объектов отображения

Оценка качества классификатора с помощью матрицы ошибок

Настройка порога принятия решения после обучения для обучения с учетом стоимости ошибок

Основные нововведения scikit-learn 1.5

Распространение меток для цифр: активное обучение

© 2007–2026 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.9/modules/generated/sklearn.metrics.confusion_matrix.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API