В машинном обучении матрица путаницы часто используется для оценки эффекта модели классификации. В матрице путаницы есть несколько индикаторов оценки. Эти показатели оценки могут оценить плюсы и минусы результатов классификации с разных точек зрения. Следующее содержание детализировано с помощью простого теоретического обзора и представления примеров и объясняет метрики оценки матриц путаницы в моделях классификации и их использование.

1. Основная концепция матрицы путаницы

Для модели классификации (здесь в качестве примера используется только простейшая двойная классификация, предполагающая наличие только двух категорий 0 и 1) окончательные результаты различения представляют собой не что иное, как четыре случая:

Фактический 0 был правильно предсказан как 0, фактический 0 был неправильно предсказан как 1, фактический 1 был неправильно предсказан как 0, а фактический 1 был правильно предсказан как 1.

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

Затем в приведенной выше матрице: четыре квадранта представляют четыре вида результатов дискриминации:

Верхний левый угол называется True Positive (TP): образец на самом деле положительный, и модель предсказывает положительный результат;

Верхний правый угол называется ложноотрицательным (FN): образец на самом деле положительный, но модель предсказывает, что он отрицательный;

Нижний левый угол называется ложноположительным (FP): фактический класс образца отрицательный, но модель предсказывает, что он будет положительным;

Нижний правый угол называется True Negative (TN): фактический класс образца отрицательный, и модель предсказывает его отрицательным.

Четыре квадранта матрицы путаницы имеют очевидные правила. Диагональная линия из левого верхнего угла в правый нижний угол соответствует правильному прогнозу (начиная с T), другая диагональная линия соответствует ошибке прогноза (начиная с F), а верхний и нижний левый квадранты — прогнозам. Истинная категория (заканчивается на P), правый верхний и нижний квадранты предсказывают неправильные категории (заканчивается на N).

2. Показатели оценки:

2.1 Точность классификации (то есть доля всех правильно классифицированных классификаций, также известная как уровень распознавания)

(TP + TN)/(TP + TN + FN + FN)

2.2 Уровень отзыва — отзыв (также называемый уровнем чувствительности)

Значение коэффициента отзыва относится к: доле правильно идентифицированных положительных образцов в фактическом количестве положительных образцов.

Отзыв = TP/(TP + FN)

2.3 Точность

Значение коэффициента точности относится к доле предсказанных положительных образцов, которые являются истинными, ко всем предсказанным положительным образцам.

Точность = TP/(TP + FP)

2.4 F-оценка

F-мера представляет собой расчетный показатель, полученный из вышеуказанных показателей (показатель точности и показатель отзыва). Конкретная формула расчета выглядит следующим образом:

F-мера = 2PrecisionRecall/(точность + отзыв)

3. ROC-кривая, индикатор AUC

Полное название ROC — рабочая характеристика приемника, которая в основном использует кривую в плоской системе координат для измерения качества модели классификации.

Координата X - это частота ложных срабатываний (FPR),

Координата Y представляет собой истинную положительную скорость (TPR).

TPR координаты Y представляет собой скорость отзыва вышеупомянутого индекса, а FPR относится к скорости ошибочной оценки в отрицательной выборке, FPR = FP/(FP + TN).

Кривая ROC представляет собой кривую выше диагонали координатных точек (0,0) и (1,1), поскольку диагональ представляет эффект классификации случайного классификатора.

Поскольку кривая ROC может визуально различать производительность только с помощью графики, появляется AUC, который используется для представления размера треугольной области под кривой ROC. Обычно значение AUC находится в диапазоне от 0,5 до 1,0, и чем больше треугольник AUC, тем выше производительность.

4. Матрица путаницы и вычисление индекса в R

Здесь мы используем набор данных iris для реализации простой классификации knn и используем матрицу путаницы в R для интерпретации ее производительности.

install.packages("magrittr")
install.packages("dplyr")
install.packages("class")
install.packages("caret")
install.packages("scales")
install.packages("gmodels")
library("magrittr")
library("dplyr")
library("class")
library("caret")
library("scales")
library("gmodels")
data(iris)
iris$Species <-  as.character(iris$Species)
iris <- iris %>% filter(Species != "setosa") 
iris$Species <- factor(iris$Species)
irisdata <- iris
irisdata[,1:4] = apply(irisdata[,1:4],2,rescale,to = c(0,1))
split1  <- createDataPartition(y=irisdata$Species,p=0.7,list = FALSE)
traindata <- irisdata[split1,1:4]
trainlabel<- irisdata[split1,5] 
testdata  <- irisdata[-split1,1:4]
testlabel <- irisdata[-split1,5]
testprelabels <- knn(traindata,testdata,trainlabel,k =5,prob=TRUE) 
confusionMatrix(testlabel,testprelabels,dnn = c("Prediction","Actutal"))
table(testlabel,testprelabels,dnn = c("Actutal","Prediction"))
install.packages("pROC")
library("pROC")
dateroc <- roc(testlabel,ordered(testprelabels))
plot(date_roc, print.auc = TRUE, auc.polygon = TRUE, legacy.axes = TRUE, 
     grid = c(0.1, 0.2), grid.col = c("green", "red"), max.auc.polygon = TRUE,  
     auc.polygon.col = "skyblue", print.thres = TRUE, xlab = "FPR", ylab = "TPR",
     main = "ROC")

Из вывода графика кривой ROC видно, что значение AUC приведенного выше результата классификации KNN составляет 0,9333.