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:
commit
2e364fe0f8
42
kondrashin_mikhail_lab_4/README.md
Normal file
42
kondrashin_mikhail_lab_4/README.md
Normal 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)
|
||||||
|
|
||||||
|
|
49656
kondrashin_mikhail_lab_4/WindData.csv
Normal file
49656
kondrashin_mikhail_lab_4/WindData.csv
Normal file
File diff suppressed because it is too large
Load Diff
BIN
kondrashin_mikhail_lab_4/images/D1-V1.png
Normal file
BIN
kondrashin_mikhail_lab_4/images/D1-V1.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 52 KiB |
BIN
kondrashin_mikhail_lab_4/images/RH-V1.png
Normal file
BIN
kondrashin_mikhail_lab_4/images/RH-V1.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 53 KiB |
BIN
kondrashin_mikhail_lab_4/images/T-V1.png
Normal file
BIN
kondrashin_mikhail_lab_4/images/T-V1.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 42 KiB |
BIN
kondrashin_mikhail_lab_4/images/TI1-V1.png
Normal file
BIN
kondrashin_mikhail_lab_4/images/TI1-V1.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 28 KiB |
19
kondrashin_mikhail_lab_4/main.py
Normal file
19
kondrashin_mikhail_lab_4/main.py
Normal 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()
|
||||||
|
|
Loading…
Reference in New Issue
Block a user