ЛР / ЛР5_Хакова_ЮМ_ИСТ-223
.docxМИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ,
СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА»
(СПбГУТ)
Факультет Информационных технологий и программной инженерии
Кафедра Систем обработки данных
Направление: 09.03.02 Информационные системы и технологии
Профиль: Прикладные информационные системы и технологии
Лабораторная работа №3.2
«Практическое применение и сравнительный анализ моделей машинного обучения в решении задачи классификации»
по дисциплине
«Интеллектуальные системы и технологии»
Выполнил:
студент группы ИСТ-223
Хакова Ю.М. «____» _________2026 г.
Принял:
ассистент кафедры ИУС
Пелих Д.А. «____» _________2026 г.
Цель работы:
сравнить эффективность различных подходов машинного обучения и проанализировать факторы, влияющие на точность прогнозирования.
Задание:
Реализовать модели классификации;
Оценить качество предсказаний моделей на тестовой выборке;
Создать сводную таблицу c результатами оценки;
Сделать развернутые выводы.
Ход работы
Загрузка датасета (Рисунок 1)
Рисунок 1 – Загрузка датасета
Подключение библиотек для чтения датасета (Рисунок 2)
Рисунок 2 – Чтение датасета
Считывание датасета (Рисунок 3).
Анализ корреляции объектов
Основная информация о параметрах в датасете: train_df.info()
Распределение числовых параметров в датасете: train_df.discribe()
Рисунок 3 – Считывание датасета
Анализ корреляции различных параметров. Здесь рассматривается зависимость различных параметров от выживаемости в (доля выживших пассажиров с определённым параметром) (Рисунок 4-5).
Рисунок 4 – Анализ корреляции различных параметров
Рисунок 5 – Анализ корреляции различных параметров
Далее производится расчёт корреляции между всеми числовыми параметрами. Корреляция принимает значения от -1 до 1, где 0 обозначает отсутствие зависимости между параметрами, а -1 и 1 полную корреляцию признаков (Рисунок 6).
Рисунок 6 – Расчёт корреляции между числовыми параметрами
Анализ с помощью визуализации данных (Рисунок 7).
Рисунок 7 – Анализ с помощью визуализации данных
Из этих данных можно сделать следующие выводы:
младенцы (возраст < 4 лет) имели высокие показатели выживаемости;
большое количество людей в возрасте 15-25 лет не выжили;
большинство пассажиров находятся в возрасте от 15 до 35 лет.
Объединение нескольких признаков для выявления корреляций (Рисунок 8).
Рисунок 8 – Анализ с помощью визуализации данных
Из этих данных можно сделать следующие выводы:
в Pclass=3 было больше всего пассажиров, однако большинство из них не выжило;
пассажиры-младенцы в классах P = 2 и P = 3 в основном выжили;
большинство пассажиров в классе P = 1 выжили;
P различается в зависимости от возрастного состава пассажиров.
Помимо этого, мы можем видеть корреляцию между классом каюты и возрастом. Большинство пассажиров в возрасте 15-30 находятся в 3-ем классе, что может объяснить низкую выживаемость у людей в данном возрасте.
Также можно заметить, что большинство пассажиров принадлежат 3-ему классу, что стоит учитывать при работе с данными.
Удаление ненужных признаков
В контексте текущей работы признаки Ticket, Cabin, Name и PassengerId не предоставляют никакой ценной информации, поэтому их можно удалить из датасета (Рисунок 9)
Рисунок 9 – Удаление ненужных признаков
Заполнение пропущенных значений
Возьмём признаки Pcalss и Sex, так как они сильно зависят от возраста пассажира. Ориентируясь на пол и класс пассажира, мы можем подставить медианное значение возраста других пассажиров с таким же полом и классом.
Перебор пола (0 или 1) и Pclass (1, 2, 3), чтобы вычислить предполагаемые значения возраста для шести комбинаций (Рисунок 10).
Рисунок 10 – Заполнение пропущенных значений
Заполнение категориального признака
Параметр "Embarked" принимает значения S, Q, C в зависимости от порта отправления. В нашем обучающем наборе данных отсутствуют два значения. Мы просто заполняем их наиболее распространенными значениями (Рисунок 11-12).
Рисунок 11 – Заполнение категориального признака
Рисунок 12 – Заполнение категориального признака
Создание тренировочной выборки для обучения моделей
Рисунок
12
– Создание тренировочной выборки для
обучения моделей
Оценка моделей
Для оценки качества работы моделей классификации в данной лабораторной работе использовалась метрика Accuracy (точность классификации).
На рисунке 13 представлен код обучения моделей.
Рисунок 13 – Обучение моделей
Далее построим график классификации пассажиров (Рисунок 14) с помощью кода.
Рисунок 14 – График классификации пассажиров
Также визуализируем все дерево решений, которое построила модель (Рисунок 15).
Рисунок 15 – Дерево решений
Logistic Regression
В отличие от линейной регрессии, логистическая регрессия предсказывает вероятность принадлежности объекта к одному из двух классов, используя логистическую (сигмоидную) функцию. Построим график логистической функции (рисунок 16)
Рисунок 16 – График логистической функции
Веса
модели определяются с помощью метода
максимального правдоподобия. Алгоритм
обучения подбирает такие коэффициенты
,
,
и
смещение
,
которые максимизируют вероятность
правильных предсказаний. Это достигается
путем минимизации логистической функции
потерь (log loss).
Мы можем использовать логистическую регрессию для проверки наших предположений и решений по созданию признаков и достижению целей. Это можно сделать, вычислив коэффициенты признаков в функции принятия решения (Рисунок 17)
Рисунок 17 – Коэффициенты признаков
Perceptron
Персептрон — это простая модель нейронной сети, разработанная для решения задач классификации. Он представляет собой однослойную сеть, состоящую из входных нейронов, одного выходного нейрона и пороговой функции активации (чаще всего — функция активации с порогом). Персептрон может принимать на вход несколько признаков, и на основе этих признаков генерировать решение (Рисунок 18).
Рисунок 18 – Персептрон
Таблица 1 – Сравнение моделей классификации
Модель |
Accuracy (%) |
|
97.98 |
Logistic Regression |
81.03 |
Perceptron |
70.26 |
Оценка качества моделей проводилась с использованием метрики Accuracy (точность классификации), которая показывает долю правильно классифицированных объектов относительно общего количества наблюдений.
В результате обучения моделей были получены следующие значения точности:
Decision Tree — 97.98%
Logistic Regression — 81.03%
Perceptron — 70.26%
Наиболее высокую точность показала модель дерева решений, что объясняется её способностью учитывать сложные нелинейные зависимости между признаками и эффективно разделять данные.
Выводы по работе
В ходе выполнения лабораторной работы были реализованы и исследованы модели машинного обучения для решения задачи классификации.
Были обучены три модели: дерево решений (Decision Tree), логистическая регрессия (Logistic Regression) и персептрон (Perceptron). Для оценки качества моделей использовалась метрика Accuracy.
По результатам эксперимента установлено, что наибольшую точность показала модель дерева решений (97.98%), что связано с её способностью учитывать сложные зависимости между признаками и эффективно разделять данные. Логистическая регрессия продемонстрировала средний уровень точности (81.03%) и показала хорошую интерпретируемость результатов. Персептрон показал наименьшую точность (70.26%), что объясняется его простотой и ограниченными возможностями при работе со сложными данными.
В процессе выполнения работы был проведён анализ данных, включающий исследование корреляций, визуализацию распределений и обработку пропущенных значений. Было установлено, что на выживаемость пассажиров наибольшее влияние оказывают пол, класс каюты и стоимость билета.
Таким образом, поставленные цели лабораторной работы были достигнуты: реализованы модели машинного обучения, проведена их оценка и выполнен сравнительный анализ их эффективности.
