IIS_2023_1/arzamaskina_milana_lab_5/README.md

85 lines
6.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Лабораторная работа №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.
* Предсказывает значения целевой переменной на тестовых наборах.
* Оценивает качество моделей с помощью среднеквадратичной ошибки.
#### Результаты работы программы:
![Result](img.png)
### Вывод:
Среднеквадратичная ошибка полиномиальной модели равна 0.37, логистической - 2.35.
Следовательно, полиномиальная модель предсказывает долю выбросов промышленной деятельностью
от общего объёма выбросов CO2 страной в определённый год более точно
и лучше всего соответствовует данному набору данных из двух потенциальных моделей.