Матрица сопряженности (Confusion Matrix) — это инструмент, используемый в машинном обучении для оценки производительности классификационных алгоритмов. Она позволяет визуализировать, сколько раз каждый класс был правильно или неправильно классифицирован. Матрица сопряженности содержит информацию о числе верно классифицированных объектов (True Positives и True Negatives) и о числе ошибок (False Positives и False Negatives).
Матрица сопряженности обычно имеет квадратную форму и включает четыре основные категории для бинарной классификации:
#Source: https://t.me/rstudioprogr
# Загрузка необходимых библиотек
library(caret)
library(ggplot2)
library(mlbench)
library(tibble)
library(cvms)
# Загрузка данных
data("PimaIndiansDiabetes")
# Преобразование фактора
PimaIndiansDiabetes$diabetes <- factor(PimaIndiansDiabetes$diabetes, levels = c("pos", "neg"))
# Разделение данных на обучающую и тестовую выборки
set.seed(123)
trainIndex <- createDataPartition(PimaIndiansDiabetes$diabetes, p = 0.7, list = FALSE)
trainData <- PimaIndiansDiabetes[trainIndex, ]
testData <- PimaIndiansDiabetes[-trainIndex, ]
# Обучение модели (например, метод k ближайших соседей)
model <- train(diabetes ~ ., data = trainData, method = "knn")
# Предсказание на тестовой выборке
predictions <- predict(model, testData)
# Создание матрицы сопряженности
conf_mat <- confusionMatrix(predictions, testData$diabetes)
с1 <- conf_mat$table %>% as.data.frame()
colnames(с1) <- c('Prediction','Target','N')
cvms::plot_confusion_matrix(с1, add_counts = TRUE, palette = "Blues", add_normalized = FALSE)