.. | ||
screens | ||
dataset.csv | ||
lab3.py | ||
README.md | ||
titanic_data.csv | ||
titanic.py |
Лаб 3
Деревья решений
Часть 1. По данным о пассажирах Титаника решите задачу классификации (с помощью дерева решений), в которой по различным характеристикам пассажиров требуется найти у выживших пассажиров два наиболее важных признака из трех рассматриваемых (по варианту). Пример решения задачи можно посмотреть здесь: [1] (стр.188). Скачать данные можно по ссылке: https://www.kaggle.com/datasets/heptapod/titanic
Часть 2. Решите с помощью библиотечной реализации дерева решений задачу из лабораторной работы «Веб-сервис «Дерево решений» по предмету «Методы искусственного интеллекта» на 99% ваших данных. Проверьте работу модели на оставшемся проценте, сделайте вывод.
Вариант 3
Признаки Sex,Age,SibSp
Запуск
Выполнением скрипта файла (вывод в консоль).
Описание модели:
DecisionTreeClassifier - это алгоритм машинного обучения, используемый для задач классификации и регрессии. Он представляет собой дерево решений, где на каждом узле дерева решается, какой вопрос задать дальше (признак для дальнейшего разбиения данных), а в листьях находятся окончательные ответы.
Результаты
На данных для Титаника модель определяет важность признаков с точность 75% (исключает 'sibsp'). Эти два признака обладают статистической важностью.
На данных моего датасета модель справляется на 52.768%, если в качестве предлагаемых параметров на вход идут ['Gender', 'Debtor', 'International'] (исключает 'International').
И на 70.961, если на вход идут ['Gender', 'Debtor', 'Curricular units 2nd sem (approved)'] (исключает 'Gender').
Такой результат можно объяснить большей значимостью признака 'Curricular units 2nd sem (approved)' вместо 'International' (было показано в предыдущей лабораторной).
Из-за того, что мы взяли статистически более значимый признак, модель выдает нам большую точность.
Точность 52.768% указывает на то, что модель работает на уровне случайности, что означает, что она работает не лучше, чем случайное угадывание. Для этого может быть несколько причин:
-
Признаки все имеет малое значение: то есть для сравнения подаются признаки статистически малозначимые.
-
Недостаточно данных: Набор данных может содержать недостаточно информации или примеров для изучения моделью. Если набор данных невелик или нерепрезентативен, модель, возможно, не сможет хорошо обобщить новые данные.
-
Несбалансированные классы: Если классы в вашей целевой переменной несбалансированы (например, случаев, не связанных с отсевом, гораздо больше, чем случаев отсева), модель может быть смещена в сторону прогнозирования класса большинства.
-
Переобучение: Модель может быть переобучена обучающими данным, что означает, что она изучает шум в данных, а не лежащие в их основе закономерности. Это может произойти, если модель слишком сложна по сравнению с объемом доступных данных.
-
Недостаточное соответствие: С другой стороны, модель может быть слишком простой, чтобы отразить взаимосвязи в данных. Важно выбрать соответствующий уровень сложности модели.