# Лабораторная работа 3. Деревья решений ### Задание на лабораторную: Часть 1. По данным о пассажирах Титаника решите задачу классификации (с помощью дерева решений), в которой по различным характеристикам пассажиров требуется найти у выживших пассажиров два наиболее важных признака из трех рассматриваемых (по варианту). **Вариант 20.** Pclass, Parch, Fare Часть 2. Решите с помощью библиотечной реализации дерева решений задачу из лабораторной работы «Веб-сервис «Дерево решений» по предмету «Методы искусственного интеллекта» на 99% ваших данных. Проверьте работу модели на оставшемся проценте, сделайте вывод. *** ### Как запустить лабораторную работу: Для запуска лабораторной работы необходимо открыть файл `lr3.py`, нажать на ПКМ и в выпадающем списке выбрать опцию "Run". *** ### Технологии: **NumPy (Numerical Python)** - это библиотека для научных вычислений в Python, которая обеспечивает эффективные вычисления и манипуляции с данными. **Pandas** - это библиотека на языке Python, которая предоставляет удобные и эффективные инструменты для обработки и анализа данных. Она предоставляет высокоуровневые структуры данных, такие как DataFrame, которые позволяют легко и гибко работать с табличными данными. **Scikit-learn (Sklearn)** - это библиотека для языка программирования Python, которая предоставляет инструменты для разработки и применения различных алгоритмов машинного обучения, включая классификацию, регрессию, кластеризацию, снижение размерности и многое другое. Scikit-learn также предлагает функции для предобработки данных, оценки моделей и выбора наилучших параметров. *** ### Что делает лабораторная работа: В первой части лабораторной работе загружается выборка из файла `titanic.csv` с помощью пакета *Pandas*, пустые значения убираются из выборки. Далее в выборку отбираются 3 признака *(Pclass, Parch, Fare)* и определяется целевая переменная *(Survived)*. После обучается решающее дерево классификации с параметром *random_state=241* и остальными параметрами по умолчанию. Результатом первой части лабораторной работы являются определение двух наиболее важных признаков у выживших пассажиров. Во второй части лабораторной работе загружается выборка из файла `dataset.csv` с помощью пакета *Pandas*, тип устройства и уровень гибкости приводятся в числовому виду. Далее в выборку отбираются 2 признака *(Age и Device)* и определяется целевая переменная *(Flexibility Level)*. После данные разделяются на обучающие и тестовые выборки, создается и обучается дерево регрессии с параметрами по умолчанию. Результатом второй части лабораторной работы являются определение зависимости уровня гибкости от возраста и типа устройства и оценка точности модели. *** ### Пример выходных данных: ***Часть 1:*** выводятся первые 5 записей таблицы со столбцами по варианту, важности признаков и 2 наиболее важных признака из трех. ![](result1.JPG) ***Часть 2:*** выводятся первые 5 записей таблицы со столбцами по варианту, важности признаков, 2 наиболее важных признака из трех и средняя квадратичная ошибка. ![](result2.JPG) *** **Вывод**: результаты первой части лабораторной работы показали, что у выживших пассажиров наиболее важными признаками являются *Fare* и *Parch*, причем *Fare* оказался самым важным признаком. По результатам второй части лабораторной можно сказать, что уровень гибкости праткически одинаково зависит как от типа устройства, с которого человек работает, так и от возраста учащегося. *Device* оказался более важным признаком, чем *Age*, но стоит сделать замечание, тип устройства и уровень гибкости были преобразованы к числовому виду, характер данных был искажен, так как ранее объекты столбцов не могли быть математически сравнимы между собой, а после преобразований эта характеристика у них появилась. Посчитанная среднеквадратичная ошибка находится ближе к 0, чем к 1, это говорит о высоком качестве модели.