kondrashin_mikhail_lab_4_ready

This commit is contained in:
KondrashinMikhail 2023-11-26 21:16:47 +04:00
parent a8c58683dd
commit b11f25f357
7 changed files with 49716 additions and 0 deletions

View File

@ -0,0 +1,41 @@
#### Кондрашин Михаил ПИбд-41
## Лабораторная работа 4. Кластеризация
### Запуск лабораторной работы:
* установить `python`, `numpy`, `matplotlib`, `sklearn`
* запустить проект (стартовая точка класс `main.py`)
### Используемые технологии:
* Язык программирования `Python`,
* Библиотеки `numpy`, `matplotlib`, `sklearn`
* Среда разработки `IntelliJ IDEA` (В версии "Ultimate edition" можно писать на python)
### Описание решения:
* Используемы алгоритм кластеризации - k-mean
* Попарно производит кластеризацию скорости ветра по различным метрикам, напрямую на неё влияющих.
* Входные данные
* Влияющие признаки:
* D1 (угол, с которого дует ветер на самом высоком датчике мачты ветростанции)
* TI1 (показатель турбуленции на самом высоком датчике мачты ветростанции)
* T (температура воздуха)
* RH (относительная влажность)
* Кластеризуемый признак - 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']
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()