16-amaliy. Malumotlarni klasterizatsiya qilish usullari Klasterizatsiya-bu berilgan obyektlar toplamini xususiyatlari bo’yicha bir-biriga yaqin guruhlarga ajratishdir. Bunda bir biriga o’xshash obyektlar bir guruhga yig’ilishi va bu guruhlar iloji boricha bir biriga o’xshamasligi kerak. Bu guruhlar klasterlar deb ham yuritiladi. Misol uchun, quidagi rasmda berilgan obyektlar to’plamini 4 ta klasterga ajratish mumkin.
1-rasm. Obyektlar va ularni klasterlarga ajratilishi.
MATLAB tizimi Statistics Toolbox paketiningklasterizatsiyalash funksiyalari
Funktsiya nomi
Vazifasi
cluster
Klasterlarni alohida klasterlarning iyerarxik daraxt ko‘rinishad ajratish. (Linkage funktsiyasida chiqish ma‘lumotlarni guruxlash)
Boshlang‘ich ma‘lumotlarni klasterlarga ajratish sifati koeffitsiyentini hisoblash. (bu koeffitsiyent korrelyatsiyani koeffitsiyentiga o‘xshatish mumkin, ya‘ni qiymati qanchalik 1 ga yaqin bo‘lsa, klasterlash shunchalik aniq ajratilgan bo‘ladi)
dendrogram
Klasterlarning dendogrammasi
inconsistent
Klasterlarning iyerarxik daraxtida har bir bog‘liqligining mostushmaslik koeffitsiyentlarini hisoblash. Klasterlarni ajratish sifatini baholashda ham
kmeans
Ichki guruxlar o‘rtachalariga asoslangan klasterizatsiya
linkage
Binarli klasterlarning iyerarxik daraxtini shakllantirish
pdist
Boshlang‘ich ma‘lumotlar to‘plamidagi ob‘yektlar (vektorlar) o‘rtasidagi juft masofalarni hisoblash
silhouette
Klasterlarning siluetlari (konturlari) grafigi
squareform
pdist funktsiyasi chiqishlaridagi ma‘lumotlari vektorini simmetrik kvadrat matritsaga almashtirish
Bu funktsiyalar orqali MATLABda klasterizatsiya usullaridan uchtasining (iyerarxik usuli, k-means, Koxonen neyrotarmog‘i) dasturini tuzamiz.
Iyerarxik usulda klasterizatsiyalash.
861 ta satr 2 ta ustunli X matritsaga ma‘lumotlarni beramiz, ya‘ni har biri
2 elementli 861 ta vektor.
X=[11 0; 12 0; 8 0;12 0;12 0; 8 1; 14 0; 8 1; 11 1; 7 0; 12 1; ….]; Y = pdist(X); % ob’yektlar orasidagi juft masifalarni aniqlash Z = linkage(Y); % linkage(Y) funktsiyasi yordamida “yaqin qo’shni” algoritmi asosida klaster daraxtini hosil qilish cophenet(Z,Y); % sifat tavsifiga ko’ra klasterlar daraxtiga ajratish Т = cluster(Z,3) % klaster raqamini ko’rsatuvchi T vektorni hosil qilish
2. k-means algoritmi amaliy tadbiqi
data=load('maktab_data.dat'); % ma’lumot fayldan yuklandi [center,U,obj_fcn]=fcm(data,3); % klaster markazini aniqlash