IIS_2023_1/podkorytova_yulia_lab_3/README.md

45 lines
6.6 KiB
Markdown
Raw Normal View History

2023-11-02 20:02:38 +04:00
# Лабораторная работа 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, это говорит о высоком качестве модели.