Merge pull request 'kondrashin_mikhail_lab_4_ready' (#205) from kondrashin_mikhail_lab_4 into main

Reviewed-on: http://student.git.athene.tech/Alexey/IIS_2023_1/pulls/205
This commit is contained in:
Alexey 2023-12-07 15:21:28 +04:00
commit 2e364fe0f8
7 changed files with 49717 additions and 0 deletions

View File

@ -0,0 +1,42 @@
#### Кондрашин Михаил ПИбд-41
## Лабораторная работа 4. Кластеризация
### Запуск лабораторной работы:
* установить `python`, `numpy`, `matplotlib`, `sklearn`
* запустить проект (стартовая точка класс `main.py`)
### Используемые технологии:
* Язык программирования `Python`,
* Библиотеки `numpy`, `matplotlib`, `sklearn`
* Среда разработки `IntelliJ IDEA` (В версии "Ultimate edition" можно писать на python)
### Описание решения:
* Используемы алгоритм кластеризации - k-mean
* Попарно производит кластеризацию скорости ветра по различным метрикам, напрямую на неё влияющих.
* Входные данные
* Влияющие признаки:
* D1 (угол, с которого дует ветер на самом высоком датчике мачты ветростанции)
* TI1 (показатель турбуленции на самом высоком датчике мачты ветростанции)
* T (температура воздуха)
* RH (относительная влажность)
* P (атмосферное давление)
* Кластеризуемый признак - V1 (Скорость ветра на самом высоком датчике мачты ветростанции)
* Файл WindData.csv
### Выводы
Представлены кластеризации по 4 группам, представляющих собой кластеризацию по группам городов,
которым характерны конкретно текущие влияющие признаки. В целом k-means подходит к такому набору данных
### Результат:
![Result](images/D1-V1.png)
![Result](images/RH-V1.png)
![Result](images/T-V1.png)
![Result](images/TI1-V1.png)

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

View File

@ -0,0 +1,19 @@
from sklearn.cluster import KMeans
import pandas
from matplotlib import pyplot as plt
factors = ['T', 'RH', 'D1', 'TI1', 'P']
kmeans = KMeans(n_clusters=4)
data = pandas.read_csv('WindData.csv')
i = 0
for i in range(len(factors)):
corr = data[['V1', factors[i]]]
kmeans.fit(corr)
plt.xlabel('V1', fontsize=14)
plt.ylabel(factors[i], fontsize=14)
plt.scatter(corr.values[:, 0], corr.values[:, 1], c=kmeans.labels_)
plt.savefig('images/' + factors[i] + '-V1.png')
plt.show()