6.0 KiB
Лабораторная работа №5
Регрессия
ПИбд-41 Арзамаскина Милана
Вариант №2
Задание:
Использовать регрессию по варианту для данных из таблицы 1 по варианту (таблица 10), самостоятельно сформулировав задачу. Оценить, насколько хорошо она подходит для решения сформулированной вами задачи.
Задача по варианту №2: с помощью логистической регрессии.
Дополнительно: с помощью полиномиальной регрессии 3 степени. Сравнение моделей.
Формулировка задачи:
Предсказание доли выбросов CO2 промышленной деятельностью от общего объёма выбросов CO2 страной в определённый год.
Данные:
Этот набор данных обеспечивает углубленный анализ глобальных выбросов CO2 на уровне страны, позволяя лучше понять, какой вклад каждая страна вносит в глобальное совокупное воздействие человека на климат. Он содержит информацию об общих выбросах, а также от добычи и сжигания угля, нефти, газа, цемента и других источников. Данные также дают разбивку выбросов CO2 на душу населения по странам, показывая, какие страны лидируют по уровням загрязнения, и определяют потенциальные области, где следует сосредоточить усилия по сокращению выбросов. Этот набор данных необходим всем, кто хочет получить информацию о своем воздействии на окружающую среду или провести исследование тенденций международного развития.
Данные организованы с использованием следующих столбцов:
- Country: название страны
- ISO 3166-1 alpha-3: трехбуквенный код страны
- Year: год данных исследования
- Total: общее количество CO2, выброшенный страной в этом году
- Coal: количество CO2, выброшенное углем в этом году
- Oil: количество выбросов нефти
- Gas: количество выбросов газа
- Cement: количество выбросов цемента
- Flaring: сжигание на факелах уровни выбросов
- Other: другие формы, такие как промышленные процессы
- Per Capita: столбец «на душу населения»
Какие технологии использовались:
Используемые библиотеки:
- pandas
- math
- sklearn
Как запустить:
- установить python, sklearn, pandas, math
- запустить проект (стартовая точка - main.py)
Что делает программа:
- Загружает набор данных из файла 'CO2.csv', который содержит информацию о выбросах странами CO2 в год от различной промышленной деятельности.
- Очищает набор данных путём удаления строк с нулевыми значениями и глобальными значениями по всем странам (строки 'Global') из набора.
- Добавляет в набор столбец с хеш-кодом наименования страны.
- Добавляет в набор столбец 'procent other' - процент выбросов в процессе промышленной деятельности от общего объема выбросов страны за год.
- Выбирает набор признаков (features) из данных, которые будут использоваться для обучения моделей регрессии.
- Определяет задачу регрессии, где целевой переменной (task) является 'procent other'.
- Делит данные на обучающий и тестовый наборы для обеих задач с использованием функции train_test_split. Тестовый набор составляет 1% от исходных данных.
- Создает и обучает модели регрессии LogisticRegression и PolynomialFeatures.
- Предсказывает значения целевой переменной на тестовых наборах.
- Оценивает качество моделей с помощью среднеквадратичной ошибки.
Результаты работы программы:
Вывод:
Среднеквадратичная ошибка полиномиальной модели равна 0.37, логистической - 2.35. Следовательно, полиномиальная модель предсказывает долю выбросов промышленной деятельностью от общего объёма выбросов CO2 страной в определённый год более точно и лучше всего соответствовует данному набору данных из двух потенциальных моделей.