Artificial Intelligence - هوش مصنوعی

Artificial Intelligence - هوش مصنوعی (http://artificial.ir/intelligence/)
-   داده كاوی(Data mining) (http://artificial.ir/intelligence/forum61.html)
-   -   clustering (http://artificial.ir/intelligence/thread8610.html)

zmmhmmdrz ۰۱-۲۶-۱۳۹۰ ۰۷:۵۴ قبل از ظهر

همون kmeans unsupervise
ابتدا به تعداد کلاستر ها از داده ها به صورت راندم انتخاب می کنید به عنوان مرکز کلاستر های ابتدایی
در ادامه داده ها را با استفاده از فاصله اقلیدسی در کلاستر های خودشان قرار می دهیم (فاصله هر داده با مراکز را حساب کرده هر کدام کمتر بود آن داده را در آن کلاستر قرار می دهیم )
شرایط پایانی را ،که می تواند تعداد تکرار یا شرط جا به جا نشدن در کلاستر ها باشد را چک می کنیم
اگر پایان نیافته بود میانگین دادههای هر کلاستر را حساب می کنیم معمولا به صورت برداری
میانگین بدست آمده در هر کلاستر مرکز کلاستر می شود و روال بالا را تکرار می کنیم یعنی دوباره داده ها را با استفاده از فاصله اقلیدسی در کلاستر مربوط به خودشان قرار داده و شرط پایانی را چک می کنیم

taha_mokfi ۰۱-۲۶-۱۳۹۰ ۱۲:۴۳ بعد از ظهر

نقل قول:

نوشته اصلي بوسيله zmmhmmdrz (پست 17119)
همون kmeans unsupervise
ابتدا به تعداد کلاستر ها از داده ها به صورت راندم انتخاب می کنید به عنوان مرکز کلاستر های ابتدایی
در ادامه داده ها را با استفاده از فاصله اقلیدسی در کلاستر های خودشان قرار می دهیم (فاصله هر داده با مراکز را حساب کرده هر کدام کمتر بود آن داده را در آن کلاستر قرار می دهیم )
شرایط پایانی را ،که می تواند تعداد تکرار یا شرط جا به جا نشدن در کلاستر ها باشد را چک می کنیم
اگر پایان نیافته بود میانگین دادههای هر کلاستر را حساب می کنیم معمولا به صورت برداری
میانگین بدست آمده در هر کلاستر مرکز کلاستر می شود و روال بالا را تکرار می کنیم یعنی دوباره داده ها را با استفاده از فاصله اقلیدسی در کلاستر مربوط به خودشان قرار داده و شرط پایانی را چک می کنیم

اولا من صنایع خوندم با اینکه بچه های صنایع متلب رو خیلی دوست دارند من اصلا دوست ندارم. و پس متلب بلد نیستم. اما قوی ترین نرم افزار داده کاوی یعنی clementine رو خیلی خوب بلدم. خیلی جالب توی رنکینگ جهانی سال 2007 KDD متلب توی رده 10هم قرار داره. لینک های زیر رو ببینید:
Data Mining - Most Popular Data Mining Software (Software) - The Data Mine Wiki
Poll: Data Mining / Analytic Software Tools

متلب اصلا نرم افزار داده کاوی نیست نرم افزارهای open source داده کاوی که بشه مثل متلب code نویسی کرد توش و تخصصشون داده کاوی باشه خیلی زیاده.
البته این موضوع به خاطر استادای ایرانی هست که به روز نیستند و هنوز با نرم افزارهای سنتی کار می کنند.
در هر حال من فکر کنم با دو متغیرجنسیت که دو مقدار داره و داده سن که 100 واحد داره فقط می شه از روش های کاهش داده ها یا نرمالسازی داده ها برای یک الگوریتم بدون نظارت مثل k-means استفاده کرد. البته از لحاظ validity این روش، این روش خیلی بد روی داده های خاص مثل داده های شما عمل می کنه.
ولی باز من فکر می کنم این داده ها با همین شکل هم خوب جواب بدند. مثلا شما برای این نوع داده ها خوشه بندی رو باید بین 2 تا 10 تا خوشه بیشتر انجام ندید. چون باید این موضوع رو هم در نظر بگیرید که تعداد خوشه ها باید به نوعی منطقی باشه. البته نه منطق خیلی دقیق و قوی.

هر خوشه بندی که روی این داده ها انجام بشه صحیح هست. به طور مثال داده های زیر رو ببینید. من خوشه بندی رو روی آنها انجام دادن و نتیجه این شد:


age sex K-Means
12 0 cluster-1
13 0 cluster-1
14 0 cluster-1
15 0 cluster-5
16 0 cluster-5
17 0 cluster-5
18 0 cluster-5
19 0 cluster-3
20 0 cluster-3
21 0 cluster-3
12 1 cluster-4
13 1 cluster-4
14 1 cluster-4
15 1 cluster-6
16 1 cluster-6
17 1 cluster-6
18 1 cluster-6
19 1 cluster-2
20 1 cluster-2
21 1 cluster-2

یه نکته خیلی مهم. حتما حتما حتما از روش های بالانس داده ها استفاده کنید. مثلا اینجور نباشه که مثلا از زن ها 10 رکورد داشته باشید در مجموعه داده ها تون و از مردها 90 رکورد. این اریب بودن داده ها موجب می شه که خوشه بندی تون تحت تاثیر قرار بگیره.

جواب قانع کننده بود؟

zmmhmmdrz ۰۱-۲۷-۱۳۹۰ ۰۲:۰۵ بعد از ظهر

با سلام به دوست عزیز و با تعصب و یک کم خشن
دوست عزیز من هم با clementine کار کرده ام و به نست بلدم و اساس اینکه من این سوالات را پرسیدم این است که جواب برنامه من در متلب با جواب clementine یکی نمی شد و این برایم جالب بود clementine چکار میکند ؟
تازه همه جا که نمی شود از برنامه های آماده استفاده کرد و خلاقیت بدرد چی می خورد؟
خاطر جمع باش که clementine از این kmeans که ما استفاده می کنیم استفاده نمی کند و عملیات های جانبی زیادی را روی آن انجام می دهد همین عملیات ها اون رو برده به صدر ؟
در آخر متلب برنامه خوبیه سادست بهتر یادش بگیری من خودم لیسانس نرم افزارم و دارم فوق هوش می گیرم بیشتر کارامون رو با متلب انجام می دم .

taha_mokfi ۰۲-۷-۱۳۹۰ ۰۲:۱۹ قبل از ظهر

یکم دیر اینجا رو دیدم جواب دادم.

البته 100% کلمنتیاین کارهای اضافی تری انجام می ده. اگه توی فایل pdf ای که توی پوشه نرم افزار بگردی یه فایل pdf به اسم الگوریتم هست که توش همه الگوریتم هایی کلمنتاین رو توضیح داده. معمولا در هر الگوریتم روش های برای بالا بردن دقت داره.

ضمنا شما توی کلمنتاین با برنامه نویسی clem expression می تونید خودتون مثل متلب کد نویسی کنید. البته یاد گرفتن این نوع برنامه نویسی مستلزم خوندن 2500 صفحه راهنماست که توی پوشه های نرم افزار وجود داره.

من اصلا ادم اکادمیکی نیستم برعکس اینکه کارای اکادمیک زیادی انجام دادم بیشتر علاقه به کاربردها دارم. کاربرد داده کاوی در همه چیز. برای همین هم اصلا سمت متلب نرفتم تا به حال.

asadi110 ۰۳-۱۹-۱۳۹۰ ۱۱:۴۸ قبل از ظهر

دوست عزیز شما این طوری که می گی باید از hierarchical clustering استفاده کنی . توابعش توی متلب هست.
موفق باشی

asadi110 ۰۳-۱۹-۱۳۹۰ ۱۲:۰۲ بعد از ظهر

دوستان عزیز مقایسه شما کلا بی مورده
متلب یه ابزار برنامه نویسی قوی بر پایه ماتریس هستش و لی کلمنتیاین و وکا و ... ابزار هایی برای داده کاوی هستن
من با همه اینا کار کردم و با اینکه ابزارها امکانات خوبی دارن و کار با اوانا راحته ولی انعطاف پذیری متلب رو ندارن توی متلب شما کدت رو می بینی و می فهمی چه کار انجام می شه و می تونی اونو تغییر بدی و...
البته ابزاری مثل وکا متن باز هست و کدهاشو می شه توسعه داد ولی همون قم!!!
در ضمن ماتریسی بودن متلب یکی از امتیازهای بزرگ متلب هست .
موفق باشین.

taha_mokfi ۰۴-۲-۱۳۹۰ ۰۱:۲۶ بعد از ظهر

نقل قول:

نوشته اصلي بوسيله asadi110 (پست 18993)
دوستان عزیز مقایسه شما کلا بی مورده
متلب یه ابزار برنامه نویسی قوی بر پایه ماتریس هستش و لی کلمنتیاین و وکا و ... ابزار هایی برای داده کاوی هستن
من با همه اینا کار کردم و با اینکه ابزارها امکانات خوبی دارن و کار با اوانا راحته ولی انعطاف پذیری متلب رو ندارن توی متلب شما کدت رو می بینی و می فهمی چه کار انجام می شه و می تونی اونو تغییر بدی و...
البته ابزاری مثل وکا متن باز هست و کدهاشو می شه توسعه داد ولی همون قم!!!
در ضمن ماتریسی بودن متلب یکی از امتیازهای بزرگ متلب هست .
موفق باشین.

منظور بنده این بود که شما با اکسل هم می توانید داده کاوی انجام دهید ولی اکسل نرم افزار داده کاوی نیست همان طور که متلب نیست. البته در سراسر دنیا استفاده از متلب برای داده کاوی امری غیر بعیدی نیست و در رنکینگ جهانی متلب در رده 10هم جدول نرم افزارهای داده کاوی وجود دارد. در هر صورت اگر شما با روش ها و الگوریتم ها آشنا باشید کاملا می توانید بفهمید که چه اتفاقی داره می افته و لازم نیست خودتون کد نویسی کنید.
پیشنهاد من استفاده از نرم افزار تخصصی برای داده کاوی هست مثل کلیمنتاین و sas و یا r..

asadi110 ۰۴-۲-۱۳۹۰ ۰۱:۵۷ بعد از ظهر

نقل قول:

نوشته اصلي بوسيله taha_mokfi (پست 19125)
منظور بنده این بود که شما با اکسل هم می توانید داده کاوی انجام دهید ولی اکسل نرم افزار داده کاوی نیست همان طور که متلب نیست. البته در سراسر دنیا استفاده از متلب برای داده کاوی امری غیر بعیدی نیست و در رنکینگ جهانی متلب در رده 10هم جدول نرم افزارهای داده کاوی وجود دارد. در هر صورت اگر شما با روش ها و الگوریتم ها آشنا باشید کاملا می توانید بفهمید که چه اتفاقی داره می افته و لازم نیست خودتون کد نویسی کنید.
پیشنهاد من استفاده از نرم افزار تخصصی برای داده کاوی هست مثل کلیمنتاین و sas و یا r..

البته من با شما موافقم که برای داده کاوی و کشف دانش از نرم افزار های تخصصی اون استفاده بشه چون کشف دانش مراحل مختلفی از جمله پیش پردازش داده ها و نرمال سازی اونا و... داره که این برنامه اونا رو به خوبی انجام می دن . ولی برای کار کردن با الگوریتم های خاص و توسعه اونا ترجیح من یه زبان برنامه نویسی مثل متلب یا جاوا است .
موفق باشید.

taha_mokfi ۰۴-۲-۱۳۹۰ ۰۷:۰۴ بعد از ظهر

نقل قول:

نوشته اصلي بوسيله asadi110 (پست 19126)
البته من با شما موافقم که برای داده کاوی و کشف دانش از نرم افزار های تخصصی اون استفاده بشه چون کشف دانش مراحل مختلفی از جمله پیش پردازش داده ها و نرمال سازی اونا و... داره که این برنامه اونا رو به خوبی انجام می دن . ولی برای کار کردن با الگوریتم های خاص و توسعه اونا ترجیح من یه زبان برنامه نویسی مثل متلب یا جاوا است .
موفق باشید.

100% تنها راه حل برای توسعه مدلها و بهینه سازی اونها باید از متلب استفاده کرد. منم باید سعی کنم با این متلب کنار بیام و بیشتر ازش استفاده کنم.


زمان محلي شما با تنظيم GMT +3.5 هم اکنون ۱۲:۱۸ قبل از ظهر ميباشد.

Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.1.0 ©2007, Crawlability, Inc.