Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ЛР4

.docx
Скачиваний:
0
Добавлен:
25.06.2025
Размер:
1.06 Mб
Скачать

ФГБОУ ВО

Уфимский Университет Науки и Технологий

Кафедра АСУ

Отчет по

лабораторной работе №4

по дисциплине «Исследование операций и прикладной искусственный интеллект»

«Задача линейной регрессии»

Вариант 22

Выполнил:

ст. гр. ИВТ-429Б

Саляхов А.Ф.

Проверил:

Кондратьева О.В.

Уфа 2025

Цель: построить модель прогнозирования цены на автомобиль.

Ход работы:

Получение данных:

Рисунок 1 – Считываем данные из файла var_22.csv

Рисунок 2 – Распределение предсказываемой величины

Т.к. пробег (mileage(km/ltr/kg)), двигатель (engine), мощность(max_power), сиденья(seats) содержат пустые ячейки, заменим их на среднее по их столбцам.

Рисунок 3 – Замена пустых ячеек

Удалим из таблицы колонку с ценой и вынесем ее отдельно в y.

Рисунок 4 – Вынесение колонки с ценой

Разделим выборку на обучающую и тестовую

Рисунок 5 – Разделение выборки на обучающую и тестовую

Исследовательский анализ данных

Чтобы определить корреляцию всех факторов необходимо, чтобы х и у были в одной таблице. Поэтому сформируем X_Y_train_SAF, куда скопируем таблицу с х-ами, и добавим колонку с y-ами.

Рисунок 6 - объединение таблиц Х и У

Посчитаем корреляцию и определим от каких факторов больше всего зависит итоговая оценка

Рисунок 7 – Корреляция

Выведем только столбик у, где указана корреляция со всеми факторами, причем оставим только более существенные факторы.

Рисунок 8 – Отбор наиболее влияющих факторов

Рисунок 9 – Зависимость цены от года

Чем новее автомобиль, тем больше стоимость.

Рисунок 10 – Зависимость цены от двигателя

Чем мощнее двигатель, тем больше стоимость.

Рисунок 11 – Зависимость цены от мощности

Чем больше мощность, тем больше стоимость.

Подготовка факторов

Разделим весь массив на категориальные и цифровые факторы, чтобы отдельно поработать с категориальными

Рисунок 12 – Разделение на цифровые и категориальные факторы

Применяя группировку и агрегацию по среднему значению, определим влияние вида топлива на цену

Рисунок 13 – Анализ влияния топлива на цену

Видим, что средняя цена у разных видов топлива отличается, поэтому делаем вывод, что фактор существенный и включаем его в модель.

Определим влияние других факторов на цену

Рисунок 14 – Анализ влияния типа продавца на цену

Видим, что средняя цена у разных типов продавцов отличается, поэтому делаем вывод, что фактор существенный и включаем его в модель.

Рисунок 15 – Анализ влияния типа трансмиссии на цену

Видим, что средняя цена у разных типов трансмиссии отличается, поэтому делаем вывод, что фактор существенный и включаем его в модель.

Рисунок 16 – Анализ влияния количества владельцев на цену

Видим, что средняя цена у автомобилей с разным количеством владельцев отличается, поэтому делаем вывод, что фактор существенный и включаем его в модель.

Выписываем отдельно отобранные факторы, с которыми будем дальше работать.

Рисунок 17 – Отобранные факторы

Переводим категориальные признаки в числовой формат.

Рисунок 18 – Кодирование факторов

Результаты кодирования:

Рисунок 19 – Таблица до кодирования

Рисунок 20 – Таблица после кодирования

Оставим только те данные, с которыми будем работать – это численные факторы и трансформированные, с помощью целевого кодирования, факторы:

Рисунок 21 – Таблица только с численными значениями

Приводим данные к одному масштабу:

Рисунок 22 – Таблица приведенная к одному масштабу

Создание модели:

Создадим объект модели и обучим модель на данных обучающей выборки

Рисунок 23 – Оценка модели

Т.к. точность модели на обучающей выборке больше 0,5 то можно перейти к оценке точности модели на тестовой выборке.

Подготовка к оценке качества на тестовой выборке

Рисунок 24 – Кодирование тестовой выборки

Оставим в тестовой выборке только те переменные, которые мы будем использовать:

Рисунок 25 – Преобразование таблицы

Масштабируем данные и оценим качество модели на тестовой выборке:

Рисунок 26 – Оценка модели на тестовой выборке

Мы видим, что качество работы модели машинного обучения на тестовой

выборке хуже (0.588<0.723).

Предварительная оценка качества модели:

Рисунок 27 – Расчет отклонения и R²

Значение MAE говорит о том, что в среднем ошибка предсказания модели составляет около 322464.90 единиц. R² равно примерно 0.5885, что указывает на то, что модель объясняет около 58.85% выходных данных в тестовой выборке.

Доверительный интервал оценки качества

Анализ функции sample():

n=None – кол-во возвращаемых элементов

frac=None – доля возвращаемых элементов

replace=False – с возвращением (True для бутстрапа)

weights=None – веса для вероятности выборки

random_state=None – для воспроизводимости

Почему используются именно эти параметры:

  1. n=len(X_y_test_SND): т.к. мы выбираем все исходные данные, и оно

сохраняет распределение.

2. replace=True: т.к. это ключевой параметр для бутстрапа; элементы могут

повторяться, имитирует множество возможных выборок.

Рисунок 28 – Доверительный интервал оценки качества

Рисунок 29 – График распределения оценки качества MAE

Интерпретация:

Визуализируем коэффициенты обученной модели линейной регрессии и сопоставим полученные коэффициенты факторам модели

Рисунок 30 – Полученные коэффициенты

Из результатов видим, что все факторы, кроме двигателя имеют положительный коэффициент. Положительный коэффициент указывает на то увеличение значения фактора увеличивает стоимость авто. Т.к. увеличение значения фактора двигатель также должен увеличивать стоимость автомобиля, делаем вывод что фактор в модели используется некорректно.

Вывод: модель показывает хороший средний процент ошибки, однако имеет большой разброс предсказаний, что указывает на проблему выбора факторов. Модели мешает столбец с двигателем – его влияние на результат не соответствует логике. Стоит исключить данный фактор, т.к. он ухудшает работу модели.

Соседние файлы в предмете Исследование операций