شماره تماس پشتیبانی 09336863931 | 07132326702 پست الکترونیک info@provid.ir

الگوریتم خوشه بندی کا میانگین در سی شارپ #13

در این پست از وبسایت پرووید با قسمت سیزدهم از سری آموزشی “پیاده سازی الگوریتم خوشه بندی کا-میانگین در سی شارپ” در خدمت شما هستیم. به ادامه ی مطلب بروید.

انجام عملیات خوشه بندی و چاپ نتایج

توی این قسمت می خوام در مورد آخرین قسمت از کدی که داریم صحبت کنم. کدی که تمامی قسمت های قبلی رو مورد استفاده قرار میده و در واقع درون Event Handler یک Button تعریف شده. این کد بسیار ساده است. لطفاً ببینید:

 


private void btnCluster_Click(object sender, EventArgs e)
{
InitilizeRawData();
_numberOfClusters = int.Parse(txtNumberOfClusters.Text);

//initialize the clusters (Setting indeces)
for (int i = 0; i < _numberOfClusters; i++)
{
_clusters.Add(new DataPoint(){Cluster = i});
}

Cluster();
StringBuilder sb = new StringBuilder();
var group = _rawDataToCluster.GroupBy(s => s.Cluster).OrderBy(s => s.Key);
foreach (var g in group)
{
sb.AppendLine("Cluster # " + g.Key + ":");
foreach (var value in g)
{
sb.Append(value.ToString());
sb.AppendLine();
}
sb.AppendLine("------------------------------");
}
txtOutput.Text = sb.ToString();
}
}

لطفاً برای اینکه بدونید متدهای InitilizeRawData و Cluster چه کاری انجام میدن به قسمت های قبلی این آموزش رجوع کنید. حلقه ی for اول هم که داره به ازای داده های ورودی DataPoint تعریف می کنه و درون خوشه ها اضافه می کنه. قسمتی که بعد از تعریف sb اومده هم داره کالکشن _ rawDataToCluster رو گروه بندی می کنه و نهایتاً خروجی رو با استفاده از حلقه ی foreach چاپ میکنه.

کلام آخر

توی این سری آموزش ها از وبسایت پرووید، مرحله به مرحله و قدم به قدم الگوریتم خوشه بندی کا-میانگین رو در سی شارپ پیاده سازی کردیم. همین جا عرض کنم که صد در صد روش های مختلف و چه بسا بهتری برای این کار باید وجود داشته باشه ولی من سعی کردم از ساده ترین روشی که به ذهنم رسید استفاده کنم و بعد هم با شما به اشتراک بذارم. ضمناً می توانید پروژه ی این آموزش رو از مقاله ی انگلیسی این آموزش در سایت کدپراجکت دانلود کنید. موفق و پیروز باشید. یا حق.

نظر بدهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *