Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Методы и модели решения задачи классификации данных. Основные этапы. Учебное пособие
.pdf
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 = rainbow(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 = rainbow(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
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
