# Лабораторная 3 ## Вариант 9 ## Задание Решите с помощью библиотечной реализации дерева решений задачу из лабораторной работы «Веб-сервис «Дерево решений» по предмету «Методы искусственного интеллекта»на 99% ваших данных. Проверьте работу модели на оставшемся проценте, сделайте вывод. ## Описание Программы Данная программа предназначена для построения и оценки модели дерева решений с использованием данных о зарплатах в области Data Science. 1) Задача, решаемая деревом решений: Можно использовать дерево решений для классификации должностей на основе опыта работы (experience_level), типа занятости (employment_type), местоположения компании (company_location) и размера компании (company_size). Например, можно предсказать категории должностей, такие как "Junior Data Scientist," "Senior Data Analyst," и т.д. ### Используемые библиотеки - `pandas`: Библиотека для обработки и анализа данных, используется для загрузки и предобработки данных. - `scikit-learn`: Библиотека для машинного обучения, включает в себя реализацию дерева решений (DecisionTreeClassifier), метрики оценки модели (accuracy_score, mean_squared_error) и кодировщик категориальных переменных (LabelEncoder). ### Шаги программы **Загрузка данных:** Данные о зарплатах в области Data Science загружаются из файла 'ds_salaries.csv'. Столбец 'Unnamed: 0', предположительно, содержащий индекс или идентификатор, удаляется. **Предобработка данных:** Определены признаки (features) и целевая переменная (target). Категориальные признаки преобразованы в числовой формат с использованием LabelEncoder. Целевая переменная также преобразована в числовой формат. **Разделение данных:** Данные разделены на обучающий (99%) и тестовый (1%) наборы с использованием train_test_split. **Построение и обучение модели:** Создана и обучена модель дерева решений с использованием DecisionTreeClassifier. **Предсказание и оценка:** Выполнено предсказание категорий должностей на тестовом наборе данных. Оценена точность модели с использованием accuracy_score. Рассчитана средняя квадратичная ошибка в процентах с использованием mean_squared_error. **Анализ важности признаков:** Выведена важность каждого признака в модели. Вывод первых 5 строк тестового набора данных: Выведены первые 5 строк тестового набора данных для ознакомления с фактическими и предсказанными значениями. ### Запуск программы - Склонировать или скачать код `main.py`. - Запустите файл в среде, поддерживающей выполнение Python. `python main.py` ### Результаты ![](img.png) На основе результатов, предоставленных моделью дерева решений, можно сделать вывод, что текущая модель не идеально подходит для задачи классификации должностей на основе предоставленных данных. **Точность модели 14.29%** Низкая точность может свидетельствовать о том, что модель недостаточно эффективна в предсказании категорий должностей. Возможные причины низкой точности могут включать в себя неоптимальный выбор признаков, недостаточную обработку данных или неоптимальную настройку параметров модели. **Средняя квадратичная ошибка: 165.86%** Высокая средняя квадратичная ошибка также указывает на значительное отклонение предсказанных значений от фактических значений. Это говорит о том, что модель недостаточно точно предсказывает категории должностей. **Важность признаков** 'company_location' оказывает наибольшее влияние на модель, тогда как 'employment_type' - наименьшее.