Ierarxik klasterlash - bu ma'lumotlar nuqtalarini klasterlash uchun nazoratsiz o'rganish usuli. Algoritm ma'lumotlar orasidagi farqlarni o'lchash orqali klasterlarni yaratadi. Nazoratsiz o'rganish, modelni o'rgatish shart emasligini anglatadi va bizga "maqsadli" o'zgaruvchi kerak emas. Ushbu usul har qanday ma'lumotlarda alohida ma'lumotlar nuqtalari o'rtasidagi munosabatni ko'rish va izohlash uchun ishlatilishi mumkin.
Bu erda biz ma'lumotlar nuqtalarini guruhlash uchun ierarxik klasterlashdan foydalanamiz va dendrogramma va scatter chizmasi yordamida klasterlarni vizualizatsiya qilamiz.
Bu qanday ishlaydi?
Biz aglomerativ klasterlashdan foydalanamiz, bu pastdan yuqoriga yondashuvga amal qiladigan ierarxik klasterlash turi. Biz har bir ma'lumot nuqtasini o'z klasteri sifatida ko'rib chiqishni boshlaymiz. Keyin, biz kattaroq klasterlarni yaratish uchun ular orasidagi eng qisqa masofaga ega bo'lgan klasterlarni birlashtiramiz. Ushbu qadam barcha ma'lumotlar nuqtalarini o'z ichiga olgan bitta katta klaster hosil bo'lguncha takrorlanadi.
Ierarxik klasterlash bizdan ham masofa, ham bog'lanish usulini tanlashni talab qiladi. Biz evklid masofasidan va klasterlar orasidagi tafovutni minimallashtirishga harakat qiladigan Ward bog'lanish usulidan foydalanamiz.
Ba'zi ma'lumotlar nuqtalarini vizualizatsiya qilishdan boshlang:
import numpy as np
import matplotlib.pyplot as plt
x = [4, 5, 10, 4, 3, 11, 14 , 6, 10, 12]
y = [21, 19, 24, 17, 16, 25, 24, 22, 21, 21]
plt.scatter(x, y)
plt.show()
Natija
Do'stlaringiz bilan baham: |