Я использую матрицу путаницы, чтобы проверить производительность моего классификатора.
Я использую Scikit-Learn, я немного запутался. Как я могу интерпретировать результат от
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]])
Как я могу принять решение, являются ли эти прогнозируемые значения хорошими или нет.
predictive-models
prediction
confusion-matrix
user3378649
источник
источник
Ответы:
Матрица путаницы - это способ подсчета количества ошибочных классификаций, т. Е. Количества предсказанных классов, которые оказались в неправильном классификационном бункере на основе истинных классов.
Хотя sklearn.metrics.confusion_matrix предоставляет числовую матрицу, я считаю более полезным генерировать «отчет» с использованием следующего:
что приводит к:
Это позволяет нам увидеть, что:
y_true
иy_pred
из промежуточных итогов "Все"Этот метод также работает для текстовых меток, и для большого количества выборок в наборе данных его можно расширить для предоставления отчетов в процентах.
Выходные данные тогда:
где числа теперь представляют процент (а не количество случаев) результатов, которые были классифицированы.
Хотя обратите внимание, что
sklearn.metrics.confusion_matrix
вывод может быть непосредственно визуализирован с помощью:источник
AssertionError: arrays and names must have the same length
y_pred = pd.Series(...)
. Это должно работать сейчас.На оси ординат по оси Y имеются действительные значения, а по оси X - значения, заданные предиктором. Следовательно, числа на диагонали - это количество правильных предсказаний. А элементы диагонали являются неверными предсказаниями.
В твоем случае:
источник
Я хотел бы указать графически необходимость понять это. Это простая матрица, которую нужно хорошо понять, прежде чем делать выводы. Итак, вот упрощенная объяснимая версия приведенных выше ответов.
источник