Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Методы и модели решения задачи классификации данных. Основные этапы. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
1 Мб
Скачать
☆
bal_accuracyTestNB precisionTestNB <- precision_vec(data = Test, truth = Test$Класс, estimate =
y_testNB)
precisionTestNB FTestNB <- f_meas_vec(data = Test, truth = Test$Класс, estimate = y_testNB)
FTestNB
y_testRawNB <- predict(naive, newdata = Test, type = "raw") AUCTestNB <- roc_auc_vec(data = Test, truth = Test$Класс, esti-
mate=y_testRawNB)
AUCTestNB
Результаты расчетов метрик точности представлены в табл. 5. Зна­чения метрик изменяются от 0,806 до 0,968 на обучающей выборке и от 0,689 до 0,928 на тестовой выборке, что свидетельствует о достаточно высокой точности предсказания наивного байесовского классифика­тора.
Таблица 5
Метрики точности для наивного байесовского классификатора
Мера точности Train Test
MCC 0,806 0,692 Kappa 0,806 0,689 Accuracy 0,854 0,778 BA 0,903 0,842 Precision 0,856 0,781 F-мера 0,855 0,765 AUC 0,969 0,928
Для построения ROC-кривых используются функции performance() пакета ROCR:
install.packages("ROCR")
library (ROCR)
81
Код для построения ROC-кривой на обучающей выборке следую­щий:
auc_values <- numeric(4) plot(1, type = "n", xlim = c(0, 1), ylim = c(0, 1), xlab = "1 - Специфичность
(FPR=1-TNR)", ylab = "Чувствительность (TPR)", main = "ROC-кривые", cex.main = 1.5, cex.lab = 1.2)
grid()
for (i in 1:4) {
true_class <- as.numeric(Train$Класс == levels(Train$Класс)[i])
pred <- prediction(y_trainRawNB[, i], true_class)
perf <- performance(pred, "tpr", "fpr")
plot(perf, col = rainbow(4)[i], add = TRUE)
auc_value <- performance(pred, measure = "auc", method = "macro")@y.values[[1]]
auc_values[i] <- auc_value
text(0.5, 0.5 - i * 0.1, paste("AUC =", round(auc_value, 4)), col = rain­bow(4)[i], cex = 1.2)
} mean_auc_ovrNB <- mean(auc_values) text(0.5, 0.0, paste("Средний AUC =", round(mean_auc_ovrNB, 4)), col =
"black", cex = 1.2) legend("bottomright", legend = levels(Train$Класс), col = rainbow(4),
lwd = 2, title = "Класс", cex = 1.2)
Код для построения ROC-кривой на тестовой выборке следующий: auc_values <- numeric(4)
plot(1, type = "n", xlim = c(0, 1), ylim = c(0, 1), xlab = "1 - Специфичность (FPR=1-TNR)", ylab = "Чувствительность (TPR)", main = "ROC-кривые", cex.main = 1.5, cex.lab = 1.2)
grid()
for (i in 1:4) {
true_class <- as.numeric(Test$Класс == levels(Test$Класс)[i])
82
pred <- prediction(y_testRawNB[, i], true_class)
perf <- performance(pred, "tpr", "fpr")
plot(perf, col = rainbow(4)[i], add = TRUE)
auc_value <- performance(pred, measure = "auc", method = "macro")@y.values[[1]]
auc_values[i] <- auc_value
text(0.5, 0.5 - i * 0.1, paste("AUC =", round(auc_value, 4)), col = rain­bow(4)[i], cex = 1.2)
} mean_auc_ovrNB <- mean(auc_values) text(0.5, 0.0, paste("Средний AUC =", round(mean_auc_ovrNB, 4)), col =
"black", cex = 1.2) legend("bottomright", legend = levels(Test$Класс), col = rainbow(4), lwd =
2, title = "Класс", cex = 1.2)
На рис. 16 и 17 приведены ROC-кривые, построенные для каждого класса, соответственно на обучающей и тестовой выборке.
Рис. 16. ROC-кривые (NB, обучающая выборка)
83
Рис. 17. ROC-кривые (NB, тестовая выборка)
Наиболее точно модель наивного байесовского классификатора предсказывает первый и четвертый классы, на тестовой выборке: AUC = 0,9856 (первый класс) и AUC = 0,9551 (четвертый класс). Точ­ность предсказания для третьего и четвертого классов сравнительно ниже, но также высока: AUC = 0,8743 (второй класс) и AUC = 0,8979 (третий класс).
В результате проведенного исследования построено правило отне­сения IT-специалиста
компании к одному из четырех классов в соответ­ствии с уровнем его квалификации. Для выполнения классификации рассматриваются ключевые признаки, оценивающие эффективность ра­боты специалиста: условная оценка сложности решаемых задач (УОС); скорость выполнения задач (СВЗ) и наличие сертификатов о повышении квалификации в IT-сфере (С). Точность классификатора достаточно вы­сокая, на тестовой выборке значения метрик точности находятся в диа­пазоне 0,689…0,928 (см. табл. 5). На основании построенного правила можно выполнять отнесение нового сотрудника компании к одному из выделенных классов.
84
2.5. КОНТРОЛЬНЫЕ ВОПРОСЫ К РАЗДЕЛУ 2
1. Опишите основные этапы алгоритма решения задачи классифи-
кации данных в среде R.
Как выполняется подготовка данных для анализа в среде R?
2.
Какие типы графиков можно построить в среде R для исследова-
3.
ния взаимосвязей признаков?
Как строится и интерпретируется диаграмма размаха в среде R?
4.
Какие виды матричных графиков можно построить в среде R?
5.
Приведите описание и интерпретацию матричных графиков.
Как выполняется исследование закона распределения данных в
6.
среде R?
Какие средства реализованы в языке R для построения модели
7.
наивного байесовского классификатора?
Как выбираются предикторные признаки для включения в мо-
8.
дель наивного байесовского классификатора?
Какие функции и библиотеки языка R используются для оценки
9.
точности модели классификации?
Как строится и интерпретируется ROC-кривая в среде R?
10.
Какие основные библиотеки и функции языка R используются
11.
на каждом из этапов решения задачи классификации данных?
85
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1.  Chawla N. V. SMOTE: Synthetic minority over-sampling technique /
N. V. Chawla, K. W. Bowyer, L. O. Hall, W. P. Kegelmeyer // Journal of Artificial Intelligence Research. – 2002. – Vol. 16. – Pp. 321–357.
2.  He H. Learning from imbalanced data / H. He, A. Garcia // IEEE T. Knowl.
Data En. – 2009. – Vol. 21, iss. 9. – Pp. 1263–1284.
3.  Mehryar M. Foundations of Machine Learning / M. Mehryar, R. Afshin,
T. Ameet. – Cambridge, MA : The MIT Press, 2018.
4.  Naive Bayes Classifier: theory and R example [Электронный ресурс]. – URL: https://rpubs.com/riazakhan94/naive_bayes_classifier_e1071 (дата обраще- ния: 04.07.2024).
5.  Shapiro S. S. An analysis of variance test for normality (complete samples) / S. S. Shapiro, M. B. Wilk // Biometrika. – 1965. – Vol. 52. – Pp. 591–611.
6.  Shapiro S. S. An approximate analysis of variance test for normality / S. S. Shapiro, R. S. Francia // J. Amer. Statist. Assoc. – 1972. – Vol. 337. – Pp. 215–216.
7.  Айвазян С. А. Прикладная статистика и основы эконометрики : учебник
для вузов /
В.С. Мхитаряна. – Москва : Юрайт, 2024. – 490 с. – (Высшее образование). – Текст: электронный // Образовательная платформа Юрайт [сайт]. –
URL: https://urait.ru/bcode/536007.
Text Mining, OLAP / А. А. Барсегян, М. С. Куприянов, В. В. Степаненко, И. И. Холод. – 2-е изд., перераб. и доп. – Санкт-Петербург : БХВ-Петербург,
2007. – 384 с.
10.  Губарев В. В. Введение в теоретическую информатику : учеб. пособие /
В. В. Губарев. – Новосибирск : Изд-во НГТУ, 2015. – Ч. 2. – 472 с.
11.  Кабаков Р. И. R в действии / И. Р. Кабаков ; пер. с англ. А. Н. Киселева. –
Москва : ДМК Пресс, 2023. – 768 с.
12.  Кобзарь А. И. Прикладная математическая статистика. Для инженеров
и научных работников / А. И. Кобзарь. – Москва : Физматлит, 2006. – 816 с.
13.  Лемешко Б. Ю. Критерии проверки отклонения распределения от нор-
мального закона. Руководство по применению : монография / Б. Ю. Лемешко. – Москва : ИНФРА-М, 2018. – 160 с.
С. А. Айвазян, В. С. Мхитарян. – Москва : ЮНИТИ, 1998. – 1022 с.
8.  Анализ данных : учебник для вузов / В. С. Мхитарян [и др.] ; под ред.
9.  Барсегян А. А. Технологии анализа данных: Data Mining, Visual Mining,
86
14.  Лонг Дж. Д. Книга рецептов: проверенные рецепты для статистики,
анализа и визуализации данных / Дж. Д. Лонг, П. Титор ; пер. с англ. Д. А. Бе­ликова. – Москва : ДМК Пресс, 2020. – 510 с.
15.  Мастицкий С. Э. Статистический анализ и визуализация данных с по-
мощью R / С. Э. Мастицкий, В. К. Шитиков. – Москва :
497 с.
16.  Миркин Б. Г. Базовые методы анализа данных : учебник и практикум для вузов / Б. Г. Миркин. – 3-е изд., перераб. и доп. – Москва : Юрайт, 2024. – 297 с. – (Высшее образование). – Текст: электронный // Образовательная плат­форма Юрайт [сайт]. – URL: https://urait.ru/bcode/556941.
17.  Официальный сайт R [Электронный ресурс]. – Режим доступа: https://www.r-project.org (дата обращения: 04.07.2024).
18.  Прикладная статистика: Классификация и снижение размерности /
С. А. Айвазян, В. М. Бухштабер, И. С. Енюков, Л. Д. Мешалкин. – Москва : Фи­нансы и статистика, 1989. – 607 с.
19.  Репозиторий пакетов R [Электронный ресурс]. – URL: https://cran.r-pro- ject.org/web/packages (дата обращения: 04.07.2024).
20.  Уикем X. Язык R в задачах науки о данных. Импорт, подготовка, об-
работка, визуализация и моделирование данных / Х. Уикем, Г. Гроулмунд ; пер. с англ. А. Г. Гузикевича. – Москва : Вильямс, 2018. – 592 с.
21.  Шитиков В. К. Классификация, регрессия, алгоритмы Data Mining с использованием R / В. К. Шитиков, С. Э. Мастицкий. – 2017 – Текст: элек­тронный – URL: https://ranalytics.github.io/data-mining.
ДМК Пресс., 2023. –
87
Альсова Ольга Константиновна
Зеленчук Никита Андреевич
МЕТОДЫ И МОДЕЛИ РЕШЕНИЯ ЗАДАЧИ КЛАССИФИКАЦИИ ДАННЫХ
ОСНОВНЫЕ ЭТАПЫ
Учебное пособие
Редактор И.Л. Кескевич
Выпускающий редактор И.П. Брованова
Корректор И.Е. Семенова
Дизайн обложки А.В. Ладыжская
Компьютерная верстка С.И. Ткачева
Налоговая льгота – Общероссийский классификатор продукции
Издание соответствует коду 95 3000 ОК 005-93 (ОКП)
Подписано в печать 25.10.2024. Формат 60  84 1/16. Бумага офсетная. Тираж 100 экз.
Уч.-изд. л. 5,11. Печ.
Новосибирского государственного технического университета
л. 5,5. Изд. № 128. Заказ № 239. Цена договорная
Отпечатано в типографии
630073, г. Новосибирск, пр. К. Маркса, 20
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]