Merge pull request 'senkin_alexander_lab_4 is ready' (#112) from senkin_alexander_lab_4 into main
Reviewed-on: http://student.git.athene.tech/Alexey/IIS_2023_1/pulls/112
This commit is contained in:
commit
d4dbce9b09
1
senkin_alexander_lab_4/.gitignore
vendored
Normal file
1
senkin_alexander_lab_4/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
.idea/
|
31
senkin_alexander_lab_4/README.md
Normal file
31
senkin_alexander_lab_4/README.md
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
Лабораторная №4
|
||||||
|
|
||||||
|
Вариант №4
|
||||||
|
|
||||||
|
Задание на лабораторную:
|
||||||
|
|
||||||
|
Использовать метод кластеризации DBSCAN, самостоятельно сформулировав задачу. Интерпретировать результаты и оценить, насколько хорошо он подходит для решения сформулированной задачи. Было решено делать кластеризацию по летальныи исходам и магнитуде торнадо.
|
||||||
|
|
||||||
|
Как запустить лабораторную работу:
|
||||||
|
|
||||||
|
Чтобы увидеть работу программы, нужно запустить исполняемый питон файл senkin_alexander_lab_4.py, после чего будет отрисован график, по которому можно сделать выводы.
|
||||||
|
|
||||||
|
Библиотеки:
|
||||||
|
|
||||||
|
Sklearn. Предоставляет инструменты и алгоритмы, которые упрощают задачи, связанные с машинным обучением.
|
||||||
|
|
||||||
|
Matplotlib - это библиотека для создания графиков и визуализации данных. Она используется для отображения данных на графиках.
|
||||||
|
|
||||||
|
Описание программы:
|
||||||
|
|
||||||
|
- Загружаем данные из csv файла
|
||||||
|
- Выбираем количество данных для обработки, например 10000
|
||||||
|
- Выделяем признаки, по которым будем проводить кластеризацию (fat - фатальные исходы, mag - магнитуды)
|
||||||
|
- Применяем кластеризацию
|
||||||
|
- Рисуем график
|
||||||
|
|
||||||
|
Программа рисует следующий график:
|
||||||
|
|
||||||
|
![img.png](img.png)
|
||||||
|
|
||||||
|
Смотря на график можно сделать вывод, что среди 10000 записей о происходящих торнадо, большинство приходятся на 4 магнитуду с чуть больше 0 летальных исходов, а торнадо с амплитудой 5 имеет только шумовые точки. Также мы видим много шума - фиолетовых точек, что говорит нам о том, что алгоритм не очень эффективен для решаемой задачи.
|
BIN
senkin_alexander_lab_4/img.png
Normal file
BIN
senkin_alexander_lab_4/img.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 22 KiB |
27
senkin_alexander_lab_4/senkin_alexander_lab_4.py
Normal file
27
senkin_alexander_lab_4/senkin_alexander_lab_4.py
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
import pandas as pd
|
||||||
|
import matplotlib.pyplot as plt
|
||||||
|
from sklearn.cluster import DBSCAN
|
||||||
|
# Загрузка данных из csv-файла
|
||||||
|
data = pd.read_csv('us_tornado_dataset_1950_2021.csv')
|
||||||
|
|
||||||
|
|
||||||
|
# Выбираем 10000 данных ()
|
||||||
|
data_subset = data.head(10000)
|
||||||
|
|
||||||
|
# Выделяем признаки (карат и глубина)
|
||||||
|
features = data_subset[['fat', 'mag']]
|
||||||
|
|
||||||
|
# Создание модели DBSCAN
|
||||||
|
dbscan = DBSCAN(eps=0.1, min_samples=5)
|
||||||
|
|
||||||
|
data_subset = data_subset.copy()
|
||||||
|
|
||||||
|
# Применение DBSCAN к данным
|
||||||
|
data_subset['cluster'] = dbscan.fit_predict(features)
|
||||||
|
|
||||||
|
# Создание графика для визуализации кластеров
|
||||||
|
plt.scatter(data_subset['fat'], data_subset['mag'], c=data_subset['cluster'], cmap='rainbow')
|
||||||
|
plt.xlabel('Фатальные исходы (fat)')
|
||||||
|
plt.ylabel('Магнитуда (mag)')
|
||||||
|
plt.title('Кластеризация данных о фаматльных исходах и магнитуде торнадо')
|
||||||
|
plt.show()
|
67559
senkin_alexander_lab_4/us_tornado_dataset_1950_2021.csv
Normal file
67559
senkin_alexander_lab_4/us_tornado_dataset_1950_2021.csv
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user