You are on page 1of 44

‫مبانی داده کاوی‬ ‫‪1‬‬

‫به نام خدا‬

‫مبانی دادهکاوی‬

‫حسین عباسی مهر‪ -‬دانشگاه شهید مدنی آذربایجان‬


‫‪2‬‬

‫تحلیل خوشه ای‬


‫‪Cluster analysis‬‬

‫مبانی داده کاوی‬


‫تحلیل خوشه ای‪Cluster Analysis‬‬
‫‪3‬‬

‫خوشه بندی‪ :‬گروه بندی نمونه های مشابه با هم در یک حجم داده‬ ‫▪‬
‫میباشد‪.‬‬
‫خوشه بندی یکی از روشهای یادگیری بی نظارت است‪.‬‬ ‫▪‬
‫)‪(Unsupervised learning‬‬
‫مسئله اساسی خوشه بندی عبارت است از‪ :‬توزیع داده ها به ‪ K‬گروه‬ ‫▪‬
‫مختلف که داده های هر گروه با یکدیگر مشابه بوده و داده های گروه‬
‫های مختلف با یکدیگر نامتشابه باشند‪.‬‬
‫خوشه بندی نوعی عملیات داده کاوی غیر مستقیم است‪.‬‬ ‫▪‬

‫خوشه بندی خوب چه خوشه بندی است؟ خوشه بندی خوب خوشه‬ ‫▪‬
‫هایی را تولید میکند که دارای‪:‬‬
‫شباهت باالی درون خوشه ای ‪high-intra cluster‬‬ ‫▪‬
‫و شباهت کم بین خوشه ای باشند‪.‬‬ ‫▪‬

‫مبانی داده کاوی‬


‫شباهت درون خوشه ای ماکزیمم و بین خوشه ای مینیمم‬
4

Inter-cluster
Intra-cluster distances are
distances are maximized
minimized

‫مبانی داده کاوی‬


‫مفهوم خوشه مبهم است‬
‫‪5‬‬

‫تعداد خوشه ها چند تا است؟‬ ‫‪ 6‬خوشه‬

‫دو خوشه‬ ‫چهار خوشه‬

‫مبانی داده کاوی‬


‫معیارهای شباهت و تمایز در انواع داده ها‬
‫‪6‬‬

‫) | ‪d (i, j) = (| x − x | + | x − x | +...+ | x − x‬‬


‫‪q‬‬
‫‪q‬‬ ‫‪q‬‬ ‫‪q‬‬ ‫فاصله مینکوفسکی‪:‬‬
‫‪i1 j1‬‬ ‫‪i2 j 2‬‬ ‫‪ip jp‬‬
‫به ازای ‪ q=2‬فاصله اقلدیسی به دست می آید‬

‫| ‪d (i, j) =| x − x | + | x − x | +...+ | x − x‬‬ ‫فاصله مانهاتان‪:‬‬


‫‪i1 j1 i2 j 2‬‬ ‫‪ip jp‬‬

‫مبانی داده کاوی‬


‫روش خوشه بندی ‪K-Means‬‬
‫‪7‬‬

‫این الگوریتم پارامتر ‪ K‬را به عنوان ورودی گرفته و مجموعه ‪ n‬شی را به ‪k‬‬ ‫▪‬
‫خوشه افراز میکند‪.‬‬
‫ورودی‪ ،K :‬تعداد خوشه ها و یک پایگاه داده شامل ‪ n‬شی‬ ‫▪‬

‫خروجی‪ :‬یک مجموعه از ‪ K‬خوشه که معیار مربع خطا را حداقل میکند‪.‬‬ ‫▪‬

‫الگوریتم‪:‬‬ ‫▪‬

‫به صورت تصادفی ‪ k‬نقطه دلخواه را به عنوان مراکز خوشهها انتخاب کن‬ ‫‪.1‬‬

‫هر شی را با توجه به بیشترین شباهت آن به مراکز خوشهها‪ ،‬به خوشهها‬ ‫‪.2‬‬


‫تخصیص بده‬
‫مراکز خوشهها را به روز کن‪ ،‬به این معنی که برای هر خوشه میانگین اشیا‬ ‫‪.3‬‬
‫آن خوشه را محاسبه کن و به عنوان مراکز خوشه جدید قرار بده‪.‬‬
‫با توجه به مراکز جدید خوشه ها به مرحله دوم برگرد تا هنگامی که هیچ‬ ‫‪.4‬‬
‫تغییری در خوشه ها رخ ندهد‪ .‬در این حالت الگوریتم پایان یافته است‪.‬‬
‫مبانی داده کاوی‬
‫روش خوشه بندی ‪K-Means‬‬
‫‪8‬‬

‫𝐾‬

‫‪𝑆𝑆𝐸 = ෍ ෍ 𝑑𝑖𝑠𝑡(𝑥, 𝑚𝑗 )2‬‬


‫𝑗𝐶∈ 𝑥 ‪𝑗=1‬‬
‫در عمل این الگوریتم یک روش هیوریستیکی برای کاهش برای‬ ‫▪‬
‫معیار مربع خطا است که در رابطه باال آمده است‪.‬‬
‫در این رابطه ‪ SSE‬مجموع خطا برای تمام اشیا پایگاه داده‬ ‫▪‬

‫میباشد‪ x .‬نقطه ای در فضاست که نمایانگر یک شی است‪.‬‬


‫𝒋𝒎میانگین خوشه 𝒋𝑪 است‪.‬‬

‫مبانی داده کاوی‬


The K-Means Clustering Method
9

K=2

Arbitrarily Update the


partition cluster
objects into centroids
k groups

The initial data set Loop if Reassign objects


needed

Update the
cluster
centroids

‫مبانی داده کاوی‬


‫‪10‬‬

‫مبانی داده کاوی‬


‫‪11‬‬

‫‪3,4,7,11,15,10,17‬‬ ‫▪‬

‫‪K=2‬‬ ‫▪‬

‫مبانی داده کاوی‬


‫‪ K-means‬ممکن است به خوشه تهی منجر شود‬
‫‪12‬‬

‫‪6.8‬‬ ‫‪13‬‬ ‫‪18‬‬


‫‪X‬‬ ‫‪X‬‬ ‫‪X‬‬
‫‪6.5‬‬ ‫‪9‬‬ ‫‪10‬‬ ‫‪15 16‬‬ ‫‪18.5‬‬

‫‪7.75‬‬ ‫‪12.5‬‬ ‫‪17.25‬‬


‫‪X‬‬ ‫‪X‬‬ ‫‪X‬‬
‫‪6.5‬‬ ‫‪9‬‬ ‫‪10‬‬ ‫‪15 16‬‬ ‫‪18.5‬‬

‫‪Empty‬‬
‫‪Cluster‬‬

‫مبانی داده کاوی‬


‫روش خوشه بندی ‪K-Means‬‬
‫‪13‬‬

‫در الگوریتم ‪ K-means‬نقطه میانگین خوشه برابر است با‪:‬‬ ‫▪‬

‫مبانی داده کاوی‬


‫روشهای نمایش خوشهها‬
‫‪14‬‬

‫بر اساس نقطه میانگین خوشهها‬ ‫▪‬

‫بر چسب زدن به هر خوشه و انجام دسته بندی بر اساس کالسها و‬ ‫▪‬

‫بدست آوردن قواعد‬

‫مبانی داده کاوی‬


‫روشهای ارزیابی کیفیت خوشهبندی‬
‫‪15‬‬

‫توجه داشته باشید که خوشه بندی خوب‪ ،‬خوشههایی تولید‬ ‫▪‬

‫میکند که دارای شباهت درون خوشهای باال و شباهت بین‬


‫خوشهای پایین هستند‬
‫شاخص ‪ DUN‬و ‪Davis-Bouldin‬‬ ‫▪‬

‫مبانی داده کاوی‬


‫روشهای ارزیابی کیفیت خوشهبندی(شاخص ‪)Davies-Bouldin‬‬
‫‪16‬‬

‫‪1‬‬ ‫𝑘‬ ‫𝑗𝑎‪𝑎𝑖 +‬‬


‫▪‬ ‫= 𝐵𝐷‬ ‫‪σ𝑖=1 max‬‬
‫𝑘‬ ‫) 𝑗 𝑐‪𝑖≠𝑗 𝑑(𝑐 𝑖 ,‬‬
‫𝑖𝑎 میانگین فاصله درون خوشه ای خوشه ‪i‬‬
‫‪0.8‬‬ ‫𝑗𝑎 میانگین فاصله درون خوشه ای خوشه ‪j‬‬
‫‪0.7‬‬
‫‪ 𝑑(𝑐 𝑖 ,𝑐 𝑗 ) :‬فاصله بین مراکز دو خوشه‪i , j‬‬
‫‪davis-Bouldin Index‬‬

‫‪0.6‬‬
‫‪0.5‬‬
‫‪0.4‬‬
‫‪0.3‬‬
‫‪0.2‬‬
‫‪0.1‬‬
‫‪0‬‬
‫‪2‬‬ ‫‪3‬‬ ‫‪4‬‬ ‫‪5‬‬ ‫‪6‬‬ ‫‪7‬‬ ‫‪8‬‬ ‫‪9 10‬‬ ‫‪11‬‬ ‫‪12‬‬ ‫‪13‬‬
‫‪Number of Clusters‬‬

‫هر چقدر مقدار ‪ DB‬کمتر باشد‪ ،‬کیفیت خوشهبندی بهتر است‪.‬‬

‫مبانی داده کاوی‬


‫پیش پردازش داده ها در ‪k-means‬‬
‫‪17‬‬

‫چگونه ویژگی های اسمی‪ ،‬باینری‪ ،‬و ترتیبی را پیش پردازش کنیم؟‬ ‫▪‬

‫برای ویژگی های اسمی‪ ،‬روش مرسوم‪ ،‬کدبندی جدید داده و ایجاد ویژگی های‬ ‫▪‬
‫جدید بر اساس مقادیر هر ویژگی اسمی است‪ .‬برای مثال متغیر رنگ‪{ :‬سبز‪،‬‬
‫آبی‪ ،‬قرمز} باشد آن گاه این ویژگی تبدیل به ‪ 3‬ویژگی جدید می شود با مقادیر‬
‫‪0‬و‪1‬‬
‫متغیرهای باینری؟‬ ‫▪‬

‫متغیرهای ترتیبی‪ :‬فرض کنید برای هر ورزشکاری ویژگی مدال ‪{ :‬طال‪ ،‬نقره‪،‬‬ ‫▪‬

‫‪r  1, ,M f ‬‬


‫برنز}‪ .‬با محاسبات زیر‪ ،‬تبدیل ویژگی انجام میشود‬

‫‪ri − 1‬‬
‫= ‪zi‬‬
‫‪M f −1‬‬
‫مبانی داده کاوی‬
‫خوشه بندی سلسه مراتبی‬
‫‪18‬‬

‫این روش با گروه بندی اشیا داده به یک درختی از خوشه ها کار‬ ‫▪‬

‫میکند‪.‬‬
‫خوشه بندی سلسله مراتبی دو نوع است‪:‬‬ ‫▪‬

‫پایین به باال (تجمیعی) ‪Agglomerative‬‬ ‫▪‬

‫باال به پایین (تقسیمی) ‪divisive‬‬ ‫▪‬

‫مبانی داده کاوی‬


‫خوشه بندی سلسه مراتبی‬
‫‪19‬‬

‫پایین به باال (تجمیعی)‪ :‬در این روش خوشه ها مکررا با هم‬ ‫▪‬

‫ترکیب میشوند‪ .‬به این ترتیب که ابتدا هر یک از اشیا را به عنوان‬


‫یک خوشه در نظر میگیرد و سپس با ترکیب کردن این خوشه ها‪،‬‬
‫آنها را به خوشه های بزرگ و بزرگتر تبدیل میکند تا اینکه همه‬
‫اشیا در یک خوشه قرار گیرند و یا شرط به پایان برسد‪.‬‬

‫مبانی داده کاوی‬


‫خوشه بندی سلسه مراتبی‬
‫‪20‬‬

‫تقسیمی‪ :‬در این روش خوشه ها مکررا تقسیم میشوند‪ .‬این روش‬ ‫▪‬

‫بر عکس روش تجمیعی است‪ ،‬به این صورت که ابتدا یک خوشه‬
‫شامل همه اشیا ایجاد میشود و سپس الگوریتم این خوشه ها را به‬
‫خوشه های کوچک و کوچک تر تجزیه میکند تا اینکه هر شی در‬
‫یک خوشه قرار گیرد‪.‬‬

‫مبانی داده کاوی‬


‫نمودار دو روش تجمیعی و تقسیمی‬
‫‪21‬‬

‫مبانی داده کاوی‬


‫معیارهای به کار گرفته شده در روشهای سلسله مراتبی برای فاصله‬
‫بین خوشه ها‬
‫‪22‬‬

‫مبانی داده کاوی‬


‫نقاط قوت خوشه بندی سلسله مراتبی‬
‫تعیین تعداد خوشه ها مورد نیاز نیست‪.‬‬ ‫▪‬

‫هر تعداد خوشه با برش دندروگرام در یک سطح مناسب بدست می آید‪.‬‬ ‫▪‬
‫الگوریتم خوشه بندی ‪agglomerative‬‬

‫مشهور ترین تکنیک خوشه بندی سلسله مراتبی روش تجمیعی‬ ‫▪‬
‫(‪ )agglomerative‬هست‪.‬‬
‫الگوریتم پایه‬ ‫▪‬

‫‪ .1‬محاسبه ماتریس مجاورت‬


‫‪ .2‬ابتدا هر شی داده ای در یک خوشه قرار میگیرد‬
‫‪ .3‬تکرار کن‬
‫دو تا نزدیکترین خوشه را در یکدیگر ادغام کن‬ ‫‪.4‬‬
‫ماتریس مجاورت را آپدیت کن‬ ‫‪.5‬‬
‫‪ .6‬تا زمانیکه به یک خوشه واحد برسیم‪.‬‬
‫اصلی ترین عملیات محاسبه فاصله بین دو خوشه است‬ ‫▪‬

‫▪ رویکردهای متفاوتی برای این منظور وجود دارد‪.‬‬


‫وضعیت شروع‬
‫ابتدا هر شی داده ای در یک خوشه جدا قرار می گیرد‪.‬‬ ‫▪‬

‫‪p1‬‬ ‫‪p2‬‬ ‫‪p3‬‬ ‫‪p4 p5‬‬ ‫‪...‬‬


‫‪p1‬‬

‫‪p2‬‬
‫‪p3‬‬

‫‪p4‬‬
‫‪p5‬‬
‫‪.‬‬
‫‪.‬‬
‫‪.‬‬
‫ماتریس مجاورت (فاصله)‬

‫‪...‬‬
‫‪p1‬‬ ‫‪p2‬‬ ‫‪p3‬‬ ‫‪p4‬‬ ‫‪p9‬‬ ‫‪p10‬‬ ‫‪p11‬‬ ‫‪p12‬‬
‫وضعیت میانی‬
‫بعد از چندین مرحله ادغام‪ ،‬چند خوشه به دست می آید‪.‬‬ ‫▪‬

‫‪C1‬‬ ‫‪C2‬‬ ‫‪C3‬‬ ‫‪C4‬‬ ‫‪C5‬‬


‫‪C1‬‬

‫‪C2‬‬
‫‪C3‬‬
‫‪C3‬‬
‫‪C4‬‬
‫‪C4‬‬
‫‪C5‬‬
‫‪C1‬‬
‫ماتریس مجاورت (فاصله)‬

‫‪C2‬‬ ‫‪C5‬‬

‫‪...‬‬
‫‪p1‬‬ ‫‪p2‬‬ ‫‪p3‬‬ ‫‪p4‬‬ ‫‪p9‬‬ ‫‪p10‬‬ ‫‪p11‬‬ ‫‪p12‬‬
‫وضعیت میانی‬
‫برای مثال میخواهیم دو خوشه‪ C2‬و ‪ C5‬را ادغام کنیم‪.‬‬ ‫▪‬

‫‪C1‬‬ ‫‪C2‬‬ ‫‪C3‬‬ ‫‪C4‬‬ ‫‪C5‬‬


‫‪C1‬‬

‫‪C2‬‬
‫‪C3‬‬
‫‪C3‬‬
‫‪C4‬‬
‫‪C4‬‬
‫‪C5‬‬
‫‪C1‬‬
‫ماتریس مجاورت(فاصله)‬

‫‪C2‬‬ ‫‪C5‬‬

‫‪...‬‬
‫‪p1‬‬ ‫‪p2‬‬ ‫‪p3‬‬ ‫‪p4‬‬ ‫‪p9‬‬ ‫‪p10‬‬ ‫‪p11‬‬ ‫‪p12‬‬
‫بعد از ادغام‬
‫‪C2‬‬
‫سوال به چه صورتی ماتریس مجاورت را آپدیت کنیم؟‬ ‫‪U‬‬
‫‪C1‬‬ ‫‪C5‬‬ ‫‪C3‬‬ ‫‪C4‬‬

‫‪C1‬‬ ‫?‬

‫‪C2 U C5‬‬ ‫?‬ ‫?‬ ‫?‬ ‫?‬


‫‪C3‬‬
‫‪C3‬‬ ‫?‬
‫‪C4‬‬
‫‪C4‬‬ ‫?‬

‫‪C1‬‬ ‫ماتریس مجاورت(فاصله)‬

‫‪C2 U C5‬‬

‫‪...‬‬
‫‪p1‬‬ ‫‪p2‬‬ ‫‪p3‬‬ ‫‪p4‬‬ ‫‪p9‬‬ ‫‪p10‬‬ ‫‪p11‬‬ ‫‪p12‬‬
‫فاصله بین دو خوشه را چگونه محاسبه کنیم؟‬

Similarity? p1 p2 p3 p4 p5 ...
p1

p2

p3

MIN p4

p5
MAX
.
Group Average
. )‫ماتریس مجاورت(فاصله‬
Distance Between Centroids
.
‫فاصله بین دو خوشه را چگونه محاسبه کنیم؟‬

p1 p2 p3 p4 p5 ...
p1

p2

p3

p4

p5

.
MIN
. )‫ماتریس مجاورت (فاصله‬
MAX
.
Group Average
Distance Between Centroids
‫فاصله بین دو خوشه را چگونه محاسبه کنیم؟‬

p1 p2 p3 p4 p5 ...
p1

p2

p3

p4

p5

.
. )‫ماتریس مجاورت (فاصله‬
MIN
.
MAX
Group Average
Distance Between Centroids
‫فاصله بین دو خوشه را چگونه محاسبه کنیم؟‬

p1 p2 p3 p4 p5 ...
p1

p2

p3

p4

p5

.
. )‫ماتریس مجاورت (فاصله‬
MIN .
MAX
Group Average
Distance Between Centroids
‫فاصله بین دو خوشه را چگونه محاسبه کنیم؟‬

p1 p2 p3 p4 p5 ...
  p1

p2

p3

p4

p5
MIN
.
MAX
. )‫ماتریس مجاورت (فاصله‬
Group Average
.
Distance Between Centroids
‫‪MIN or Single Link‬‬

‫فاصله دو خوشه بر اساس دو نقطه نزدیک در دو خوشه است‬ ‫▪‬

‫مثال‬ ‫▪‬

‫ماتریس فاصله‬
‫خوشه بندی سلسله مراتبی روش‬
‫‪MIN‬‬

‫‪5‬‬
‫‪1‬‬
‫‪3‬‬
‫‪5‬‬ ‫‪0.2‬‬

‫‪2‬‬ ‫‪1‬‬ ‫‪0.15‬‬

‫‪2‬‬ ‫‪3‬‬ ‫‪6‬‬ ‫‪0.1‬‬

‫‪0.05‬‬
‫‪4‬‬
‫‪4‬‬ ‫‪0‬‬
‫‪3‬‬ ‫‪6‬‬ ‫‪2‬‬ ‫‪5‬‬ ‫‪4‬‬ ‫‪1‬‬

‫خوشه های تو در تو‬ ‫‪Dendrogram‬‬


‫مزایای معیار ‪MIN‬‬

‫‪Original Points‬‬ ‫‪Six Clusters‬‬

‫•می تواند اشکال غیر بیضوی را پردازش کند‬


MIN ‫محدودیت های‬

Two Clusters

Original Points

‫•حساس به نویز و داده های‬


‫پرت‬ Three Clusters
‫معیار ‪ MAX‬یا ‪Complete linkage‬‬

‫فاصله بین دو خوشه بر اساس فاصله بین دو نقطه دورتر در دو خوشه‬ ‫▪‬

‫محاسبه می شود‪.‬‬

‫‪Distance Matrix:‬‬
MAX ‫خوشه بندی با معیار‬

4 1
2 5 0.4

0.35
5
2 0.3

0.25

3 6 0.2

3 0.15
1 0.1

0.05
4
0
3 6 4 1 2 5

Nested Clusters Dendrogram


‫مزایای ‪MAX‬‬

‫‪Original Points‬‬ ‫‪Two Clusters‬‬

‫•کمتر به نویز و داده های پرت حساس است‬


‫محدودیت های ‪MAX‬‬

‫‪Original Points‬‬ ‫‪Two Clusters‬‬

‫• تمایل دارد تا خوشه های بزرگ را بشکند‬


‫روش میانگین فاصله‬
‫فاصله دو خوشه بر اساس میانگین فاصله بین نقاط دو خوشه تعیین می شود‬ ▪

 proximity(p , p )
piClusteri
i j

p jClusterj
proximity(Clusteri , Clusterj ) =
|Clusteri ||Clusterj |

Distance Matrix:
average ‫خوشه بندی سلسله مراتبی با روش‬

5 4 1
0.25
2
5 0.2
2
0.15

3 6 0.1

1 0.05

4 0
3 3 6 4 1 2 5

Nested Clusters Dendrogram


‫مقایسه روشهای خوشهبندی سلسلهمراتبی‬
‫‪5‬‬
‫‪1‬‬ ‫‪4‬‬ ‫‪1‬‬
‫‪3‬‬
‫‪2‬‬ ‫‪5‬‬
‫‪5‬‬ ‫‪5‬‬
‫‪2‬‬ ‫‪1‬‬ ‫‪2‬‬
‫‪MIN‬‬ ‫‪MAX‬‬
‫‪2‬‬ ‫‪3‬‬ ‫‪6‬‬ ‫‪3‬‬ ‫‪6‬‬
‫‪3‬‬
‫‪1‬‬
‫‪4‬‬ ‫‪4‬‬
‫‪4‬‬

‫‪5‬‬
‫‪1‬‬
‫‪2‬‬
‫‪5‬‬
‫‪2‬‬
‫‪3‬‬ ‫‪6‬‬ ‫‪Group Average‬‬
‫‪3‬‬
‫‪4‬‬ ‫‪1‬‬
‫‪4‬‬

You might also like