Ktl 201-21 guruh talabasi Raxmonov Shahzod Aglomerativ iyerarxik klasterlash


Download 17.72 Kb.
Sana03.10.2023
Hajmi17.72 Kb.
#1691081
Bog'liq
Axborotni izlash va ajratib olish Raxmonov Sh 201-21


KTL 201-21 guruh talabasi Raxmonov Shahzod
1. Aglomerativ iyerarxik klasterlash
2. Yagona va to'liq bog'lanish usullari bilan klasterlash
Javoblar.
1. Aglomerativ (pastdan yuqoriga) klasterlashda klaster shakllanishi alohida nuqtalardan boshlanadi. Har bir nuqta bitta klaster sifatida qabul qilinadi. Aytaylik, N ta ma'lumot nuqtasi mavjud. Boshida N klaster bo'ladi. Keyin, har bir klaster juftligi orasidagi masofa topiladi va bir-biriga eng yaqin joylashgan klasterlar moslashtiriladi va bitta klaster sifatida tuziladi. Bu (N - 1) klasterga olib keladi. Keyingi bosqichda juft klasterlar orasidagi masofa topiladi va bir-biriga eng yaqin klasterlar moslashtiriladi va bitta klaster sifatida yasaladi. Bu (N - 2) klasterlarga olib keladi. Xuddi shu jarayon barcha ma'lumotlar nuqtalari bitta klasterga birlashtirilguncha takrorlanadi. masalan, ildiz klasteri.
U pastdan yuqoriga ierarxik klaster deb ham ataladi, chunki klasterlash jarayoni individual ma'lumotlar nuqtasidan boshlanadi va bitta klaster - ildiz klasterini hosil qilish uchun yuqoriga ko'tariladi. Quyidagi diagrammada klasterlarning barg tugunidan boshlab va yuqoriga qarab qanday shakllanganiga e'tibor bering.


Yuqoridagi diagrammada rasmning o'ng tomonida Dendogram deb ataladi. Boshida barcha a'zolar (A - G harfi) barg tugunida joylashgan.
Birinchi bosqichda J/K, I/H, B/C va E/F klasterlari hosil bo'ladi.2-bosqichda A va B/C klasterlari birlashtirilib, bitta klaster hosil qilinadi.3-bosqichda D klaster E va F bilan birlashtirilib, klaster hosil qiladi.4-bosqichda J/K va I/H klasterlari birlashtirilib, bitta klaster hosil qilinadi.5-bosqichda G 4-bosqichdagi klaster bilan birlashtirilib, bitta klaster hosil qiladi.6-bosqichda 2-bosqichda va 3-bosqichda tuzilgan klaster bitta klaster hosil qilish uchun birlashtiriladi.Oxirgi bosqichda 5 va 6-bosqichlarda hosil qilingan klaster ildiz klasterini hosil qilish uchun birlashtiriladi. Dendogramma tugunlari nuqtalar to'plamini ifodalaydi. Dendogrammani turli darajalarda kesish har xil miqdordagi klasterlarni beradi. Shunday qilib, agar birinchi darajadan keyin Dendogramni kesib tashlasangiz, to'rtta klaster (J/K, I/H, B/C va E/F) olinadi. Biroq, agar Dendogrammani bir daraja yuqoriga kesib tashlasa, J/K, I/H, A va B/C, D, E/F kabi 5 ta klaster oladi. 
2. Aglomerativ ierarxik klasterlash algoritmi klasterlarni yaratishda foydalaniladigan masofa usuliga qarab farqlanadi. Klasterlarni yaratish uchun quyidagi 2 ta umumiy masofaviy usullar qo'llaniladi:
Yagona bog'lanish : Klaster orasidagi masofa ikkita klasterdagi eng o'xshash ikkita nuqta orasidagi masofaga qarab belgilanadi. Boshqacha qilib aytganda, ikkita klasterdagi eng yaqin ikki nuqta masofasi klaster masofasini aniqlash uchun ishlatiladi.
To'liq havola : Klaster orasidagi masofa ikkita klasterdagi kamida o'xshash ikkita nuqta orasidagi masofaga qarab aniqlanadi. Boshqacha qilib aytganda, ikkita klasterdagi eng uzoq ikki nuqta masofasi klaster masofasini aniqlash uchun ishlatiladi.
Klasterlash usuli yuqoridagi masofani hisoblash usullaridan biri va klasterni aniqlash uchun quyidagi kabi masofa matritsasidan foydalanadi. D va F nuqtalari orasidagi masofa qanday eng kichik ekanligiga e'tibor bering va shuning uchun D va F bir klaster sifatida tuzilishi mumkin.

Mana Python kodi aglomerativ klasterlashni namoyish etadi. Dendogramma chizilgan quyidagi ba'zilariga e'tibor bering. Dendogramma har bir darajadagi gorizontal chiziq (masofa) masofasidan kelib chiqqan holda klasterlar sonini aniqlash uchun ishlatiladi. Tanlangan klasterlar soni 2 ta.
import numpy as np
import pandas as pd
from sklearn.preprocessing import StandardScaler, normalize
from sklearn.decomposition import PCA
import scipy.cluster.hierarchy as hc
import matplotlib.pyplot as plt
from sklearn.cluster import AgglomerativeClustering
#
# Load the CSV file
#
df = pd.read_csv("/Users/apple/Downloads/cc_general.csv")
#
# Drop the customer id column
#
df = df.drop('CUST_ID', axis = 1)
#
# Fill the missing values with ffill method
#
df.fillna(method ='ffill', inplace = True)
#
# Scale the data and normalize
#
sc = StandardScaler()
df_scaled = sc.fit_transform(df)
df_normalized = normalize(df_scaled)
#
# Reduce the dimensionality of data to 3 features
#
pca = PCA(n_components=3)
df_pca = pca.fit_transform(df_normalized)
df_pca = pd.DataFrame(df_pca)
df_pca.columns = ['P1', 'P2', 'P3']
#
# Create the Dendogram plot
#
plt.figure(figsize =(8, 8))
plt.title('Visualising the data')
dendrogram = hc.dendrogram((hc.linkage(df_pca, method ='ward')))

Quyidagi dendogram tuziladi:



Yuqoridagi dendogrammaga asoslanib, har xil miqdordagi klasterlarni tanlash va dendogrammani turli darajalarda kesish asosida uchastka yaratish imkonini beradi. Quyidagi rasmda Dendogramning to'rt xil darajada bo'linishi va turli xil klasterlar paydo bo'lishi ko'rsatilgan.

Download 17.72 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling