|
1-Mustaqil ishi Mavzu: Klasterlash algoritmlari va uni amalda qoʼllanilishi Bajardi: Baxtiyorova Mohiruy Tekshirdi: Mamatov Narzullo Toshkent 2024 Klasterlash algoritmlari va uni amalda qo‘llanilishi Reja
|
bet | 6/7 | Sana | 14.05.2024 | Hajmi | 386,96 Kb. | | #232960 |
GMM ning afzalliklari
GMM ning K-Meansga nisbatan afzalliklaridan biri shundaki, K-Means dispersiyani hisobga olmaydi (bu erda dispersiya qo'ng'iroq shaklidagi egri chiziqning kengligini bildiradi) va GMM ma'lumotlar nuqtalarining K klasterlarining har biriga tegishli bo'lish ehtimolini qaytaradi.
Bir-biriga o'xshash klasterlar bo'lsa, yuqoridagi barcha klasterlash algoritmlari uni bitta klaster sifatida aniqlay olmaydi.
GMM ehtimollik yondashuvidan foydalanadi va klasterlarga tegishli har bir ma'lumot nuqtasi uchun ehtimollikni ta'minlaydi.
GMM ning kamchiliklari
Tarqatishlar soni ko'p bo'lsa yoki ma'lumotlar to'plami kamroq kuzatilgan ma'lumotlar nuqtalarini o'z ichiga olgan bo'lsa, aralashma modellari hisoblash qimmatga tushadi.
U katta ma'lumotlar to'plamiga muhtoj va klasterlar sonini taxmin qilish qiyin.
Endi GMM ma'lumotlarni qanday klasterlashini ko'rib chiqamiz. Quyidagi kod sizga yordam beradi:
ma'lumotlarni yaratish,
ma'lumotlarni "GaussianMixture" modeliga moslashtirish,
klasterga tayinlangan ma'lumotlar nuqtalarini toping,
noyob klasterlarni olish va
klasterlarni quyida ko'rsatilgandek chizing.
from numpy import where
from numpy import unique
from sklearn.datasets import make_classification
from sklearn.mixture import GaussianMixture
import matplotlib.pyplot as plot
#init data
train_data, _ = make_classification(n_samples=1200,
n_features=3,
n_informative=2,
n_redundant=0,
n_clusters_per_class=1,
random_state=4)
gaussian_mdl = GaussianMixture(n_components=3)
# model training
gaussian_mdl.fit(train_data)
# data points assigned to a cluster
gaussian_res = gaussian_mdl.fit_predict(train_data)
# get clusters which are unique
gaussian_clstr = unique(dbscan_res)
# Plot
for gaussian_cluser in gaussian_clstr:
index = where(gaussian_res == gaussian_cluser)
# plot
plot.scatter(train_data[index, 0], train_data[index, 1])
# show plot
plot.show()
|
|
Bosh sahifa
Aloqalar
Bosh sahifa
1-Mustaqil ishi Mavzu: Klasterlash algoritmlari va uni amalda qoʼllanilishi Bajardi: Baxtiyorova Mohiruy Tekshirdi: Mamatov Narzullo Toshkent 2024 Klasterlash algoritmlari va uni amalda qo‘llanilishi Reja
|