پروژه خوشه بندی داده های کارمندان با الگوریتم K-Means در نرم افزار R
پروژه خوشه بندی داده های کارمندان با الگوریتم K-Means را در نرم افزار R به همراه داکیومنت و فیلم آموزش اجرا در این پست آماده کردیم که یک پروژه مناسب برای حسابداری، درس آمار و احتمالات کاربردی، آمار و احتمالات مهندسی، آمار و مدل سازی و درس تحلیل آماری می باشد. در ادامه به معرفی پروژه و الگوریتم کامینز پرداخته و فیلم و تصاویری از خروجی قرار داده شده که قسمتی از فیلم خروجی نیز به صورت آنلاین قابل مشاهده است.
معرفی پروژه خوشه بندی داده های کارمندان:
مجموعه داده انتخاب شده مربوط به کارمندان یک سازمان مالی می باشد که این داده ها از پاسخنامه هایی که بین تقریبا ۳۵ کارمند موجود در ۳۰ دپارتمان سازمان پخش شده اند، جمع آوری شده است. اعداد درصد پاسخ های مطبوع برای ۷ سوال در هر دپارتمان را نشان می دهد.
هدف از خوشه بندی:
هدف ما در این پروژه دسته بندی یا خوشه بندی (clustering) دپارتمان ها بر اساس پاسخ هایی است که کارمندان آنها برای سوال ها داده اند، می باشد. برای خوشه بندی در ابتدا باید تعداد گروه ها مشخص باشد که برای آغاز ما ۳ گروه را انتخاب کرده و تعداد تکرارها را نیز برای رسیدن به بهترین خوشه ها ۱۰۰ تعیین می کنیم.
توضیحات بیشتر، فیلم و تصاویری از خروجی پروژه خوشه بندی داده های کارمندان با الگوریتم K-Means در نرم افزار R در ادامه مطلب.
معرفی الگوریتم خوشه بندی K-means:
الگوریتم K-means روی روش برای آموزش آماری Unsupervised می باشد که یک روش شایع به منظور دسنه بندی نمونه ها بر اساس پارامتر های مختلف موجود برای نمونه ها است. در بازاریابی یا مارکتینگ، این روش برای ایجاد گروه های مشتری، محصول و بازار مورد استفاده قرار می گیرد. ایده اصلی برای تکنیک کامینز، گروه بندی مجموعه داده به خوشه های متمایز می باشد به طوری که هر داده موجود در گروه بسیار شبیه به سایر داده های موجود در همان گروه و متمایز از داده های موجود در سایر گروه ها باشد.
گام های خوشه بندی در K-means:
اولین گام برای خوشه بندی K-means تعریف نمودن تعداد خوشه ها برای فرایند می باشد. سپس، این الگوریتم هر داده را به طور اتفاقی به یکی از خوشه ها نسبت میدهد. بر اساس این روش خوشه خوب خوشه ای است که تغییرات within-cluster کمترین مقدار باشد. معمولترین روش برای تعریف تغییرات استفاده از مربع فاصله اقلدیسی است. از طرف دیگر بهترین خوشه های ایجاد شده آنهایی هستند که کمترین فواصل within-cluster برای خوشه ها و بیشترین فاصله between-cluster برای خوشه ها به دست آید.
عموما، الگوریتم K-means با یک فرایند پالایش تکراری کار می کند:
- هر داده به طور اتفاقی به یکی از خوشه ها نسبت داده می شود (تعداد خوشه ها قبلا توسط کاربر مشخص می شود).
- مرکز هر خوشه محاسبه می شود.
- هر داده به نزدیک ترین مرکز نسبت داده می شود (به طور تکراری تا زمانی که فاصله within-cluster به کمترین مقدار برسد) تا زمانی که هیچ تغییر چشمگیری مشاهده نشود.
داده ورودی در پروژه حاضر با نام dat است که ۷ ستون و ۳۰ سطر دارد. برای وارد کردن داده از کد زیر استفاده می نماییم و با باز نمودن دایرکتوری که فایل مورد نظر در آن قرار دارد آن را وارد محیط نرم افزاری R می کنیم:
FileChoice<-file.choose() # choose input file - FIRMA file dat <- read.delim(FileChoice, skip=0, sep="\t", as.is=TRUE)
سپس برای خوشه بندی اولیه از کد زیر استفاده می کنیم:
km1 = kmeans(dat, 3, nstart=100)
چالشی که در این روش وجود دارد، تعیین تعداد گروه ها می باشد. با توجه به عدم وجود روشی برای تعیین تعداد دسته ها میتوان این الگوریتم را برای تعداد متفاوت گروه ها اجرا نمود و سپس بر اساس نتایج دسته بندی مورد نظر را انتخاب نمود.
هر چند یک راه حل برای تعداد بهینه خوشه ها وجود دارد که به روش Elbow معروف است که شامل مشاهده مجموعه ای از تعداد خوشه ها برای داده ها در برابر مجموع مربعات within-cluster می باشد. به بیان دیگر، این روش عدم تشابه within-cluster به عنوان تابعی از تعداد خوشه ها می باشد.
توضیحات بیشتر به همراه تحلیل خروجی ها در داکیومنت آمده است که به همراه پروژه ارائه می گردد.
تصاویری از خروجی پروژه خوشه بندی داده های کارمندان با نرم افزار R:
تصویر خروجی ۱:
تصویر خروجی ۲:
تصویر خروجی ۳:
تصویر خروجی ۴:
تصویر خروجی ۵:
مشاهده ویدئو در این باره