arzamaskina_milana_lab_4 is ready
This commit is contained in:
parent
a8c58683dd
commit
eb6c303793
63105
arzamaskina_milana_lab_4/CO2.csv
Normal file
63105
arzamaskina_milana_lab_4/CO2.csv
Normal file
File diff suppressed because it is too large
Load Diff
112
arzamaskina_milana_lab_4/README.md
Normal file
112
arzamaskina_milana_lab_4/README.md
Normal file
@ -0,0 +1,112 @@
|
||||
# Лабораторная работа №3
|
||||
|
||||
## Кластеризация
|
||||
|
||||
#### ПИбд-41 Арзамаскина Милана
|
||||
#### Вариант №2 (2 % 5 = 2)
|
||||
|
||||
## Задание:
|
||||
|
||||
Использовать метод кластеризации по варианту для данных из таблицы 1 по варианту (таблица 9),
|
||||
самостоятельно сформулировав задачу.
|
||||
Интерпретировать результаты и оценить, насколько хорошо он подходит для решения сформулированной вами задачи.
|
||||
|
||||
#### Формулировка задачи:
|
||||
Группировка стран на основе их характеристик:
|
||||
количество выбросов от добычи нефтепродуктов, газа, угля в 2020 году.
|
||||
С помощью алгоритма кластеризации: linkage.
|
||||
|
||||
## Данные:
|
||||
|
||||
Этот набор данных обеспечивает углубленный анализ глобальных выбросов CO2 на уровне страны, позволяя лучше понять,
|
||||
какой вклад каждая страна вносит в глобальное совокупное воздействие человека на климат.
|
||||
Он содержит информацию об общих выбросах, а также от добычи и сжигания угля, нефти, газа, цемента и других источников.
|
||||
Данные также дают разбивку выбросов CO2 на душу населения по странам, показывая,
|
||||
какие страны лидируют по уровням загрязнения, и определяют потенциальные области,
|
||||
где следует сосредоточить усилия по сокращению выбросов.
|
||||
Этот набор данных необходим всем, кто хочет получить информацию о своем воздействии на окружающую среду
|
||||
или провести исследование тенденций международного развития.
|
||||
|
||||
Данные организованы с использованием следующих столбцов:
|
||||
|
||||
+ Country: название страны
|
||||
+ ISO 3166-1 alpha-3: трехбуквенный код страны
|
||||
+ Year: год данных исследования
|
||||
+ Total: общее количество CO2, выброшенный страной в этом году
|
||||
+ Coal: количество CO2, выброшенное углем в этом году
|
||||
+ Oil: количество выбросов нефти
|
||||
+ Gas: количество выбросов газа
|
||||
+ Cement: количество выбросов цемента
|
||||
+ Flaring: сжигание на факелах уровни выбросов
|
||||
+ Other: другие формы, такие как промышленные процессы
|
||||
+ Per Capita: столбец «на душу населения»
|
||||
|
||||
|
||||
### Какие технологии использовались:
|
||||
|
||||
Используемые библиотеки:
|
||||
* scipy.cluster.hierarchy
|
||||
* pandas
|
||||
* matplotlib
|
||||
* seaborn
|
||||
|
||||
### Как запустить:
|
||||
|
||||
* установить python, scipy.cluster.hierarchy, pandas, matplotlib, seaborn
|
||||
* запустить проект (стартовая точка - main.py)
|
||||
|
||||
### Что делает программа:
|
||||
|
||||
* Загружает набор данных из файла 'CO2.csv', который содержит информацию о выбросах странами CO2 в год от различной промышленной деятельности.
|
||||
* Очищает набор данных путём удаления строк с нулевыми значениями и глобальными значениями по всем странам (строки 'Global') из набора.
|
||||
* Отбирает данные по странам за 2020 год.
|
||||
* Выбирает набор признаков (features) из данных, которые будут использоваться для кластеризации.
|
||||
* Применяет алгоритм linkage.
|
||||
* Формирует 4 кластера данных с помощью функции fcluster.
|
||||
* Выводит таблицу со списком стран, их характеристиками и номером кластера, к которому они относятся.
|
||||
* Отображает диаграмму результатов кластеризации seaborn.
|
||||
|
||||
|
||||
#### Результаты работы программы:
|
||||
|
||||
![Result](img_1.png)
|
||||
![Result](img.png)
|
||||
|
||||
### Вывод:
|
||||
|
||||
Для кластеризации данных было использовано 4 кластера для группировки стран на основе их характеристик:
|
||||
количество выбросов от добычи нефтепродуктов, газа, угля в 2020 году.
|
||||
На кластеры разбивались 47 стран.
|
||||
|
||||
На диаграмме можно наблюдать, что практически все страны относятся к первому кластеру,
|
||||
а 2, 3, 4 кластер содержит всего по одной стране.
|
||||
|
||||
+ Кластер 1:
|
||||
|
||||
Включает страны с маленьким объёмом выбросов от добычи газа, нефти и угля в 2020 году.
|
||||
В данную группу входят такие страны, как Швейцария, Турция, Норвегия и др.
|
||||
Опираясь на результаты кластеризации, можно сказать, что страны имеют малое количество месторождений газа, нефти и угля,
|
||||
либо не занимаются их добычей, либо ведут мероприятия по смягчению последствий от загрязнений.
|
||||
|
||||
+ Кластер 2:
|
||||
|
||||
Включает одну страну - Россию.
|
||||
По диаграмме можно сказать, что в стране выбросы от добычи нефти и угля также малы, как и в странах первого кластера.
|
||||
Однако, выбросы от добычи газа в несколько раз больше.
|
||||
Страна, которая занимается преимущественно добычей газа.
|
||||
|
||||
+ Кластер 3:
|
||||
|
||||
Содержит также одну страну - США. У страны рекордный объём выбросов от добычи газа, также страна этого кластера
|
||||
отличается бОльшим объемом выбросов от добычи нефти (можно наблюдать на диаграмме по размеру точки).
|
||||
Страна, лидирующая по объёму выбросов от добычи газа. Страна является лидером по запасам природного газа.
|
||||
|
||||
+ Кластер 4:
|
||||
|
||||
Включает страну - Китай. Судя по диаграмме кластеризации Китай производит большой объём выбросов
|
||||
в процессе добычи нефти и рекордный в процессе добычи угля.
|
||||
Страна, лидирующая по выбросам от добычи угля и нефти, а также средняя по выбросам от газа.
|
||||
Опираясь на результаты кластеризации, можно сказать, что Китай - лидер по добыче угля.
|
||||
|
||||
Данная кластеризация на 4 кластера хорошо подходит для распределения стран
|
||||
на группы по объёму выбросов от добычи нефти, газа и угля.
|
BIN
arzamaskina_milana_lab_4/img.png
Normal file
BIN
arzamaskina_milana_lab_4/img.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 602 KiB |
BIN
arzamaskina_milana_lab_4/img_1.png
Normal file
BIN
arzamaskina_milana_lab_4/img_1.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 67 KiB |
44
arzamaskina_milana_lab_4/main.py
Normal file
44
arzamaskina_milana_lab_4/main.py
Normal file
@ -0,0 +1,44 @@
|
||||
import pandas as pd
|
||||
from scipy.cluster.hierarchy import linkage, fcluster
|
||||
import matplotlib.pyplot as plt
|
||||
import seaborn as sns
|
||||
|
||||
# Кластеризация: Группировка стран на основе их характеристик:
|
||||
# количество выбросов от добычи нефтепродуктов, газа, угля в 2020 году.
|
||||
|
||||
# Загружаем данные, отбираем данные за 2020 год
|
||||
# и удаляем строки, в которых данные отсутствуют
|
||||
data_first = pd.read_csv('CO2.csv')
|
||||
data_first = data_first.dropna()
|
||||
data = data_first[data_first['Year'] == 2020]
|
||||
data = data[data.Country != 'Global']
|
||||
names = data['Country']
|
||||
|
||||
# Выделение признаков
|
||||
features = data[['Coal', 'Oil', 'Gas']]
|
||||
|
||||
# Применение алгоритма linkage
|
||||
link_cl = linkage(features, method='ward', metric='euclidean')
|
||||
|
||||
# Кластеризация на 3 кластера
|
||||
clusters = fcluster(link_cl, 4, criterion='maxclust')
|
||||
|
||||
# Добавление информации о кластерах в исходные данные
|
||||
features['cluster'] = clusters
|
||||
|
||||
# Диаграмма результатов кластеризации
|
||||
plt.figure(figsize=(12, 6))
|
||||
sns.scatterplot(x='Coal', y='Gas', size='Oil',
|
||||
sizes=(10, 200), hue='cluster', palette='viridis', data=features)
|
||||
plt.title('Clustering Results')
|
||||
plt.xlabel('Coal')
|
||||
plt.ylabel('Gas')
|
||||
|
||||
# Вывод таблицы с результатами кластеризации
|
||||
# Добавление наименований стран
|
||||
features.insert(loc=0, column='country', value=names)
|
||||
# Вывод результатов кластеризации
|
||||
result_clust = features[['cluster', 'country', 'Coal', 'Oil', 'Gas']]
|
||||
print(result_clust)
|
||||
|
||||
plt.show()
|
Loading…
Reference in New Issue
Block a user