Обчисліть матрицю неточностей
Як ви бачили у відео, матриця неточностей — це дуже корисний інструмент для калібрування виходу моделі та аналізу всіх можливих результатів ваших передбачень (істинно позитивні, істинно негативні, хибно позитивні, хибно негативні).
Перш ніж створити матрицю неточностей, потрібно «обрізати» передбачені ймовірності на заданому порозі, щоб перетворити їх на фактор класових передбачень. Поєднайте ifelse() з factor() так:
pos_or_neg <- ifelse(probability_prediction > threshold, positive_class, negative_class)
p_class <- factor(pos_or_neg, levels = levels(test_values))
confusionMatrix() у caret розширює table() з базового R, додаючи багато корисних допоміжних статистик на додачу до базових частот у таблиці. Ви можете обчислити матрицю неточностей (і пов'язані з нею статистики), використовуючи як передбачені результати, так і фактичні, наприклад:
confusionMatrix(p_class, test_values)
Ця вправа є частиною курсу
Machine Learning з пакетом caret в R
Інструкції до вправи
- Використайте
ifelse(), щоб створити символьний векторm_or_r, який дорівнює позитивному класу"M", колиpбільше за 0.5, і негативному класу"R"— інакше. - Перетворіть
m_or_rна факторp_classз рівнями, такими самими, як уtest[["Class"]]. - Створіть матрицю неточностей за допомогою
confusionMatrix(), передавшиp_classі стовпчик"Class"з набору данихtest.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# If p exceeds threshold of 0.5, M else R: m_or_r
# Convert to factor: p_class
# Create confusion matrix