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