انجام پروژه های داده کاوی

انجام پروژه های داده کاوی

انجام پروژه های داده کاوی

انجام پروژه های داده کاوی

آموزش نرم افزار داده کاوی وکا Weka

مقدمه

  تا به امروز نرم افزارهای تجاری و آموزشی فراوانی برای داده کاوی در حوزه های مختلف داده ها به دنیای علم و فناوری عرضه شده اند. هریک از آنها با توجه به نوع اصلی داده هایی که مورد کاوش قرار میدهند، روی الگوریتمهای خاصی متمرکز شده اند. مقایسه دقیق و علمی این ابزارها باید از جنبه های متفاوت و متعددی مانند تنوع انواع و فرمت داده های ورودی، حجم ممکن برای پردازش داده ها، الگـوریتمهای پیاده سـازی شده، روشهای ارزیابی نتایج، روشهای مصـور سـازی، روشهای پیش پردازش داده ها، واسطهای کاربر پسند، پلت‌فرمهای سازگار برای اجرا،قیمت و در دسترس بودن نرم افزار صورت گیرد. از آن میان، نرم افزار Weka با داشتن امکانات بسیار گسترده،امکان مقایسه خروجی روشهای مختلف با هم، راهنمای خوب، واسط گرافیگی کارا، سازگاری با سایر برنامه های ویندوزی، و از همه مهمتر وجود کتابی بسیار جامع و مرتبط با آن [Data Mining, witten et Al. 2005 ] ، معرفی میشود.

 

1- معرفی نرم افزار Weka

میزکارWeka ، مجموع‌های از الگوریتمهای روز یادگیری ماشینی و ابزارهای پیش پردازش داده‌ها میباشد. این نرم‌افزار به گونه‌ای طراحی شده است که میتوان به سرعت، روشهای موجود را به صورت انعطافپذیری روی مجموعه‌های جدید داده، آزمایش نمود. این نرم‌افزار، پشتیبانی‌های ارزشمندی را برای کل فرآیند داده کاوی های تجربی فراهم میکند. این پشتیبانی‌ها، آماده سازی داده‌های ورودی، ارزیابی آماری چارچوبهای یادگیری و نمایش گرافیکی داده‌های ورودی و نتایج یادگیری را در بر میگیرند. همچنین، هماهنگ با دامنه وسیع الگوریتمهای یادگیری، این نرم‌افزار شامل ابزارهای متنوع پیش پردازش داده‌هاست. این جعبه ابزار متنوع و جامع، از طریق یک واسط متداول در دسترس است، به نحوی که کاربر میتواند روشهای متفاوت را در آن با یکدیگر مقایسه کند و روشهایی را که برای مسایل مدنظر مناسبتر هستند، تشخیص دهد.

نرم‌افزار Weka در دانشگاه Waikato واقع در نیوزلند توسعه یافته است و اسم آن از عبارت"Waikato Environment for knowledge Analysis" استخراج گشته است. همچنین Weka ، نام پرندهای با طبیعت جستجوگر است که پرواز نمیکند و در نیوزلند، یافت میشود. (شکل زیر)

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

این نرم افزار، یک واسط همگون برای بسیاری از الگوریتمهای یادگیری متفاوت، فراهم کرده است که از طریق آن روشهای پیش پردازش، پس از پردازش و ارزیابی نتایج طرح های یادگیری روی همه مجموعه های داده موجود، قابل اعمال است.

نرم افزار Weka ، پیاده سازی الگوریتمهای مختلف یادگیری را فراهم میکند و به آسانی میتوان آنها را به مجموعه های داده خود اعمال کرد.

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

  این محیط، شامل روشهایی برای همه مسایل استاندارد داده کاوی مانند رگرسیون، رده‌بندی، خوشه‌بندی، کاوش قواعد انجمنی و انتخاب ویژگی میباشد. با در نظر گرفتن اینکه، داده‌ها بخش مکمل کار هستند، بسیاری از ابزارهای پیش پردازش داده‌ها و مصورسازی آنها فراهم گشته است. همه الگوریتم ها، ورودیهای خود را به صورت یک جدول رابطهای به فرمت ARFF دریافت میکنند. این فرمت داده‌ها، میتواند از یک فایل خوانده شده یا به وسیله یک درخواست از پایگاه دادهای تولید گردد.

یکی از راههای به کارگیری Weka ، اعمال یک روش یادگیری به یک مجموعه داده و تحلیل خروجی آن برای شناخت چیزهای بیشتری راجع به آن اطلاعات میباشد. راه دیگر استفاده از مدل یادگیری شده برای تولید پیشبینی‌هایی در مورد نمونه‌های جدید است. سومین راه، اعمال یادگیرنده‌های مختلف و مقایسه کارآیی آنها به منظور انتخاب یکی از آنها برای تخمین میباشد. روشهای یادگیری Classifier نامیده میشوند و در واسط تعاملی Weka ، میتوان هر یک از آنها را از منو انتخاب نمود. بسیاری از classifier ها پارامترهای قابل تنظیم دارند که میتوان از طریق صفحه ویژگی‌ها یا object editor به آنها دسترسی داشت. یک واحد ارزیابی مشترک، برای اندازه‌گیری کارآیی همه classifier به کار میرود.

پیاده سازیهای چارچوبهای یادگیری واقعی، منابع بسیار ارزشمندی هستند که Weka فراهم می کند. ابزارهایی که برای پیش پردازش داده‌ها استفاده میشوند Filter نامیده میشوند. همانند classifier ها، میتوان filter ها را از منوی مربوطه انتخاب کرده و آنها را با نیازمندیهای خود، سازگار نمود. در ادامه، به روش به کارگیری فیلترها اشاره میشود.

  علاوه بر موارد فوق، Weka شامل پیاده سازی الگوریتمهایی برای یادگیری قواعد انجمنی، خوشه‌بندی داده‌ها در جایی که هیچ دست‌های تعریف نشده است، و انتخاب ویژگیهای مرتبط در داده‌ها میباشد.

 

 

2- روش استفاده از Weka

جهت درک بهتر مطالب این بخش، یک پایگاه داده با فرمت (comma-separated format ) .csv به نام bank-data.csv به عنوان مثال در نظر گرفته میشود. این بانک اطلاعاتی شامل اطلاعاتی در مورد 600 فرد مختلف است که فیلدهای تشکیل دهنده آن به شرح زیر هستند:

3- واسط های Weka

شکل 1،راههای انتخاب واسط‌های مختلف Weka را نشان میدهد. آسانترین راه استفاده از Weka از طریق واسطی گرافیکی است که Explorer خوانده میشود. این واسط گرافیکی، به وسیله انتخاب منوها و پر کردن فرمهای مربوطه، دسترسی به همه امکانات را فراهم کرده است. برای مثال، میتوان به سرعت یک مجموعه داده را از یک فایل ARFF خواند و درخت تصمیم‌گیری آن را تولید نمود. اما درختهای تصمیم‌گیری یادگیرنده صرفاً ابتدای کار هستند. الگوریتمهای بسیار دیگری برای جستجو وجود دارند. واسط Explorer کمک میکند تا الگوریتمهای دیگر نیز آزمایش شوند.

 

شکل 1. Weka در وضعیت انتخاب واسط

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

 Wekaدو واسط گرافیکی دیگر نیز دارد. واسط knowledge flow به کاربر امکان میدهد تا چنیش‌هایی برای پردازش داده‌های در جریان، طراحی کند. یک عیب پایهای Explorer نگهداری هر چیزی در حافظه اصلی آن است. (زمانی که یک مجموعه داده را باز میکنیم، Explorer ، کل آن را، در حافظ باز میکند) نشان میدهد که Explorer ، صرفاً برای مسایل با اندازه‌های کوچک تا متوسط، قابل اعمال است. با وجود بر این Weka شامل تعدادی الگوریتمهای افزایشی است که میتواند برای پردازش مجموعه های داده بسیار بزرگ مورد استفاده قرار گیرد. واسط knowledge flow امکان میدهد تا جعبه‌های نمایانگر الگوریتمهای یادگیری و منابع داده‌ها را به درون صفحه بکشیم و با اتصال آنها به یکدیگر، ترکیب و چینش دلخواه خود را بسازیم. این واسط اجازه میدهد تا جریان دادهای از مؤلفه‌های به هم متصل که بیانگر منابع داده، ابزارهای پیش پردازش، روشهای ارزیابی و واحدهای مصوّر سازی هستند تعریف شود. اگر فیلترها و الگوریتمهای یادگیری، قابلیت یادگیری افزایشی را داشته باشند، داده‌ها به صورت افزایشی بار شده و پردازش خواهند شد.

  سومین واسط Weka ، که Experimenter خوانده میشود، کمک میکند تا به این سؤال عملی و پایهای کاربر حین استفاده از تکنیکهای رده‌بندی و رگرسیون، پاسخ دهد: «چه روشها و پارامترهایی برای مسأله داده شده، بهتر عمل میکنند؟ »

  عموماً راهی برای پاسخگویی مقدماتی به این سؤال وجود ندارد و یکی از دلایل توسعهWeka ، فراهم نمودن محیطی است که کاربران Weka را قادر به مقایسه تکنیکهای گوناگون یادگیری بنماید. این کار، میتواند به صورت تعاملی در Explorer انجام شود. با این وجود، Experimenter با ساده کردن اجرای رده‌بندی کننده‌ها و فیلترها با پارامترهای گوناگون روی تعدادی از مجموعه‌های داده، جمع‌آوری آمار کارآیی و انجام آزمایـشهای معنا، پردازش را خودکار میکند. کـاربرهای پیشرفته، میتوانند از Experimenter برای توزیع بار محاسباتی بین چندین ماشین، استفاده کنند. در این روش، میتوان آزمایشهای آماری بزرگی را راه‌اندازی نموده و آنها را برای اجرا، رها نمود.

  ورای این واسطهای تعاملی، عملکرد پایهای Weka قرار دارد. توابع پایهای Weka ، از طریق خط فرمانهای متنی قابل دسترسی هستند. زمانی که Weka ، فعال میشود، امکان انتخاب بین چهار واسط کاربری وجود داردExplorer ، knowledge ،Experimenter و واسط خط فرمان. اکثر کاربران، حداقل در ابتدای کار Explorer را به عنوان واسط کاربری انتخاب میکنند.

 

3-1 واسط Explorer

واسط گرافیکی اصلی برای کاربران، Explorer است که امکان دسترسی به همه امکانات Weka را از طریق انتخاب منوها و پر کردن فرمها فراهم میآورد. شکل 2،نمای Explorer را نشان میدهد. در این واسط، شش پانل مختلف وجود دارد که از طریق نوار بالای صفحه قابل انتخاب هستند و با وظایف داده کاوی پشتیبانی شده توسط Weka متناظر میباشند.

شکل 2. واسط گرافیکیExplorer

به طور خلاصه، کارکرد تمام گزینه ها به شرح ذیل است

  • Preprocess: انتخاب مجموعه داده و اصلاح آن از راههای گوناگون
  •  Classify: آموزش برنامه‌های یادگیری که رده‌بندی یا رگرسیون انجام میدهند و ارزیابی آنها
  •  Cluster: یادگیری خوشه‌ها برای مجموعه های داده
  •  Associate: یادگیری قواعد انجمنی برای داده‌ها و ارزیابی آنها
  •  Select attributes: انتخاب مرتبط‌ترین جنبه ها در مجموعه های داده
  •  Visualize: مشاهده نمودارهای مختلف دوبعدی داده‌ها و تعامل با آنها

در بخشهای بعدی به تشریح گزینه‌های مذکور و بیان جزئیات کار با هرکدام خواهم پرداخت.

Weka Explorer امکان رده بندی دارد، چنانچه به کاربران اجازه میدهد به صورت تعاملی اقدام به ساخت درخت تصمیم‌گیری کنند. Wekaنمودار پراکندگی داده‌ها را نسبت به دو ویژگی انتخاب شده، فراهم میآورد. وقتی زوج ویژگی‌ای که رده‌ها را به خوبی جدا میکند، پیدا شد، امکان ایجاد دو شاخه با کشیدن چند ضلعی اطراف نقاط داده‌ها بر نمودار پراکندگی وجود دارد.

هر نوار، دسترسی به دامنه کاملی از امکانات را فراهم میکند. در پایین هر پانل، جعبه status و دکمه log قرار دارد. جعبه status پیغامهایی است که نشان میدهد چه عملیاتی در حال انجام داده شدن است. مثلاً اگر Explores مشغول خواندن یک فایل باشد، جعبه status آن را گزارش میدهد. کلیک راست در هر جا داخل این جعبه یک منو کوچک با دو گزینه میآورد، نمایش میزان حافظه در دسترس Weka و اجرای Java garbage collector .

لازم است توجه شود که garbage collector به طور ثابت به عنوان یک عمل پیش زمینه در هر حال اجرا میشود کلیک دکمه log ، گزارش عملکرد متنی کارهایی که Weka تاکنون در این بخش انجام داده است با برچسب زمانی ارایه میکند.

زمانیکه Weka در حال عملیات است، پرنده کوچکی که در پایین سمت راست پنجره است، بالا و پایین میپرد. عدد پشت × نشان میدهد که به طور همزمان چند عملیات در حال انجام است. اگر پرنده بایستد در حالیکه حرکت نمیکند، او مریض است! اشتباه رخ داده است و باید Explorer از نو اجرا شود.

 

3-1-1 Preprocess

الف- خواندن و فیلتر کردن فایلها

  در بالای پانل Preprocess در شکل 2، دکمه‌هایی برای باز کردن فایل، URL ها و پایگاه های داده وجود دارد. با کلیک بر روی دکمه open File، در ابتدا تنها فایلهای با پسوند arff در browser فایل نمایش داده میشود. برای دیدن سایر فایلها یاید گزینه Format در جعبه انتخاب فایل تغییر داده شود.

شکل 3. باز کردن فایل

در بخشهای بعدی به تشریح گزینه‌های مذکور و بیان جزئیات کار با هرکدام خواهم پرداخت.

Weka Explorer امکان رده بندی دارد، چنانچه به کاربران اجازه میدهد به صورت تعاملی اقدام به ساخت درخت تصمیم‌گیری کنند. Wekaنمودار پراکندگی داده‌ها را نسبت به دو ویژگی انتخاب شده، فراهم میآورد. وقتی زوج ویژگی‌ای که رده‌ها را به خوبی جدا میکند، پیدا شد، امکان ایجاد دو شاخه با کشیدن چند ضلعی اطراف نقاط داده‌ها بر نمودار پراکندگی وجود دارد.

هر نوار، دسترسی به دامنه کاملی از امکانات را فراهم میکند. در پایین هر پانل، جعبه status و دکمه log قرار دارد. جعبه status پیغامهایی است که نشان میدهد چه عملیاتی در حال انجام داده شدن است. مثلاً اگر Explores مشغول خواندن یک فایل باشد، جعبه status آن را گزارش میدهد. کلیک راست در هر جا داخل این جعبه یک منو کوچک با دو گزینه میآورد، نمایش میزان حافظه در دسترس Weka و اجرای Java garbage collector .

لازم است توجه شود که garbage collector به طور ثابت به عنوان یک عمل پیش زمینه در هر حال اجرا میشود کلیک دکمه log ، گزارش عملکرد متنی کارهایی که Weka تاکنون در این بخش انجام داده است با برچسب زمانی ارایه میکند.

زمانیکه Weka در حال عملیات است، پرنده کوچکی که در پایین سمت راست پنجره است، بالا و پایین میپرد. عدد پشت × نشان میدهد که به طور همزمان چند عملیات در حال انجام است. اگر پرنده بایستد در حالیکه حرکت نمیکند، او مریض است! اشتباه رخ داده است و باید Explorer از نو اجرا شود.

 

3-1-1 Preprocess

الف- خواندن و فیلتر کردن فایلها

  در بالای پانل Preprocess در شکل 2، دکمه‌هایی برای باز کردن فایل، URL ها و پایگاه های داده وجود دارد. با کلیک بر روی دکمه open File، در ابتدا تنها فایلهای با پسوند arff در browser فایل نمایش داده میشود. برای دیدن سایر فایلها یاید گزینه Format در جعبه انتخاب فایل تغییر داده شود.

شکل 3. باز کردن فایل

 

ب- تبدیل فایلها به فرمت ARFF

نرم افزار Weka دارای سه مبدل فرمت فایل میباشد، برای فایلهای صفحه گسترده با پسوند CSV ، فرمت فایل C4.5 با پسوند .namesو data و برای نمونه های سری با پسوند.bsi .

اگر Weka قادر به خواندن داده ها نباشد، سعی میکند آن را به صورت ARFF تفسیر کند. اگر نتواند پیغام نشان داده شده در شکل 4 (الف) ظاهر میشود. با انتخاب گزینه Use Convertor، پیغام شکل 4 (ب) ظاهر میشود

شکل4 (الف) پیغام خطا

 

شکل4 (ب) ویرایشگر

  این، یک ویرایشگر عمومی اشیاء است که در Weka برای انتخاب و تنظیم اشیا بکار میرود. به عنوان مثال وقتی پارامتری برای Classifier تنظیم میشود، جعبه ای با نوع مشابه بکار برده میشود. CSV Loader برای فایلهای با پسوند .CSVبه طور پیش فرض انتخاب میشود. دکمه More اطلاعات بیشتری در مورد آن میدهد که در شکل 4 (ج) نشان داده شده است.

همیشه مطالعه مستندات ارزشمنداست، در این حالت نشان میدهد که ردیف نخست صفحه گسترده، نام ویژگی را تعیین میکند. برای استفاده از این مبدل باید بر Ok کلیک شود. برای مورد مختلف لازم است بر choose کلیک شود تا از لیست شکل 4 (د) انتخاب انجام شود.

  گزینه اول، Arffloader است و فقط به دلیل ناموفق بودن به این نقطه میرسیم.CSVLoader پیش فرض است و در صورت نیاز به فرض دیگر، choose کلیک میشود. دومین گزینه، مربوط به فرمت C4.5 است که دو فایل برای مجموعه داده وجود دارد یکی اسمها و دیگـری داده های واقعـی میباشد. چهارمین برای نمونه های سریالی، برای بازخوانی مجموعه داد‌ه‌ای است که به صورت شیئ سریالی شده جاوا ذخیره شده است. هر شیء در جاوا میتواند در این شکل ذخیره و بازخوانی شود. به عنوان یک فرمت بومی جاوا، سریعتر از فایل ARFF خوانده میشود چرا که فایل ARFF باید تجزیه و کنترل شود. وقتی یک مجموعه داده بزرگ مکررا بازخوانی میشود، ذخیره آن در این شکل سودمند است.

  ویژگیهای دیگر ویرایشگر عمومی اشیا در شکل 4 (ب)، save و open است که به ترتیب برای ذخیره اشیای تنظیم شده و بازکردن شیئی که پیش از این ذخیره شده است، به کار میرود. اینها برای این نوع خاص شیئ مفید نیستند. لکن پانلهای دیگر ویرایشگر عمومی اشیاء، خواص قابل ویرایش زیادی دارند. به دلیل مشکلاتی که ممکن است حین تنظیم مجدد آنها رخ دهد، میتوان ترکیب اشیاء ایجاد شده را برای استفاده‌های بعدی، ذخیره کرد.

  تنها منبع مجموعه‌های داده برایWeka ، فایلهای موجود روی کامپیوتر نیستند. میتوان یک URL را باز کرد تا Weka از پروتکل HTTP برای دانلود کردن یک فایل Arff از شبکه استفاده کند. همچنین میتوان یک پایگاه داده‌ها را باز نمود ( open DB ـ هر پایگاه دادهای که درایور اتصال به مجموعه های داده به زبان جاوا JDBC را دارد.) و به وسیله دستور select زبان SQL ، نمونه‌ها را بازیابی نمود. داده‌ها میتوانند به کمک دگمه save به همه فرمتهای ذکر شده، ذخیره شوند. جدای از بحث بارگذاری و ذخیره مجموعه‌های داده، پانل preprocess به کاربر اجازه فیلتر کردن داده‌ها را میدهد. فیلترها، اجزای مهم Weka هستند.

بعد از اینکه فایل بارگذاری شد، Weka فیلدها را تشخیص میدهد و حین بررسی آنها، اطلاعات آماری پایهای را برای هر کدام از صفات محاسبه میکند. همان طور که در شکل 5 نشان داده شده است، لیست صفات تشخیص داده شده، در سمت چپ، پایین و اطلاعات پایگاه داده مربوطه در بالای آن نشان داده میشود.

 

شکل5. بانک اطلاعاتیbank-data.csv

با کلیک برروی هر کدام از صفات، میتوان اطلاعات آماری اصلی آن را در سمت راست مشاهده نمود. به عنوان مثال شکل 6 از انتخاب فیلد age نتیجه شده است.

نمودار ترسیم شده در سمت راست، پایین، بر اساس دو فیلد است. فیلد دوم به صورت پیشفرض، آخرین فیلد در پایگاه داده است که میتوان آن را به دلخواه تغییر داد.

 

شکل6. اطلاعات آماری فیلد age

 

ج- به کارگیری فیلترها

با کلیک دگمهchoose (گوشه بالا و سمت چپ) در شکل 3 میتوان به لیستی از فیلترها دست یافت. میتوان از فیلترها برای حذف ویژگیهای مورد نظر از یک مجموعه داده و یا انتخاب دستی ویژگیها استفاده نمود. مشابه این نتیجه را میتوان به کمک انتخاب ویژگیهای مورد نظر با تیک زدن آنها و فشار دادن کلیه Remove به دست آورد.

شکل 7 مراحل لازم برای حذف فیلد id از بانک اطلاعاتی، با استفاده از روش اول را نشان میدهد.


شکل 6 (الف). انتخاب فیلتر Remove

 


شکل 6 (ب). وارد کردن شماره فیلد مورد نظر

 

شکل 6 (ج).انتخاب گزینه Apply و حذف فیلد id

یکی دیگر ازفیلترهای موجود، Discretize است که با استفاده از آن میتوان مقادیریک صفت پیوسته را به تعداد دلخواه بازه گسسته تبدیل کرد. شکل7 مراحل لازم برای شکستن مقادیر صفت age به 3 بازه را نشان میدهد.

 

شکل7 (الف). انتخاب فیلتر Discretize

 

شکل7 (ب). وارد کردن شماره فیلد مورد نظر و انجام تنظیمات

 

شکل 7 (ج).انتخاب گزینه Apply

3-1-2 Classify

الف- الگوریتمهای رده‌بندی

Weka الگوریتمهای classification و prediction بسیار متنوعی را پیاده‌سازی میکند. الگوریتمهای رده‌بندی، به رده‌بندهای Bayesian، functions،lazy ،meta ، misc، trees و rules تقسیم شده‌اند. جدول شکل 8، لیست اسامی رده بندهای Weka را نمایش میدهد.

 

  شکل 8 (الف). الگوریتمهای رده بندی در Weka


شکل 8 (ب). الگوریتمهای رده بندی در Weka

دراین قسمت برخی از اسامی رده‌بندیهای Weka معرفی میشوند.

  •  Trees

ü Decision stumpکه برای استفاده توسط روشهای boosting طراحی شده است، برای مجموعه‌های داده عددی یا رده‌ای، درخت تصمیم‌گیری یک سطحی میسازد. این الگوریتم، با مقادیر از دست رفته، به صورت مقادیر مجزا برخورد کرده و شاخه سومی از درخت توسعه میدهد

  •  Rules
    • ü Decision Tableیک رده‌بندی بر اساس اکثریت جدول تصمیم‌گیری میسازد. این الگوریتم، با استفاده از جستجوی اولین بهترین، زیر دسته‌های ویژگیها را ارزیابی میکند و میتواند از اعتبارسنجی تقاطعی برای ارزیابی بهره برد. (Kohavi 1995 )
    • یک امکان این است که به جای استفاده از اکثریت جدول تصمیم‌گیری که بر اساس دسته ویژگیهای مشابه عمل میکند، از روش نزدیکترین همسایه برای تعیین رده هر یک از نمونه‌ها که توسط مدخل (Entry) جدول تصمیمگیری پوشش داده نشده‌اند، استفاده شود.
    • ü   Conjunctive Ruleقاعده‌ای را یاد میگیرد که مقادیر رده‌های عددی را پیشبینی میکند. نمونه‌های آزمایشی به مقادیر پیش فرض رده نمونه‌های آموزشی، منسوب میشوند. سپس تقویت اطلاعات (برای ردههای رسمی)، یا کاهش واریانس (برای ردههای عددی) مربوط به هر والد محاسبه شده و به روش هرس کردن با خطای کاهش یافته (Reduced-error pruning) ، قواعد هرس میشوند.
    • ü  ZeroRبرای رده‌های اسمی، اکثریت داده‌های مورد آزمایش و برای رده‌های عددی، میانگین آنها را پیشبینی میکند. این الگوریتم بسیار ساده است.
    • ü M5Rulesبه کمک M5 از روی درختهای مدل، قواعد رگرسیون استخراج میکند.
    •  
    • در این بخش به شرح مختصری برخی از این الگوریتم‌ها و پارامترهایشان که قابلیت کار با ویژگی های عددی را دارند، پرداخته میشود. 
  •  Functions
    • ü   Simple Linear Regressionمدل رگرسیون خطی یک ویژگی مشخص را یاد میگیرد، آنگاه مدل با کمترین خطای مربعات را انتخاب میکند. در این الگوریتم، مقادیر از دست رفته و مقادیر غیرعددی مجاز نیستند.
    • ü Linear Regressionرگرسیون خطی استاندارد با کمترین خطای مربعات را انجام میدهد و میتواند به طور اختیاری به انتخاب ویژگی بپردازد، این کار میتواند به صورت حریصانه، با حذف عقب رونده (Backward elimination) انجام شود، یا با ساختن یک مدل کامل از همه ویژگیها و حذف یکی یکی جمله‌ها با ترتیب نزولی ضرایب استاندارد شده آنها، تا رسیدن به شرط توقف مطلوب انجام گیرد.
    • ü   Least Med sq یک روش رگرسیون خطی مقاوم است که به جای میانگین مربعات انحراف از خط رگرسیون، میانه را کمینه میکند. این روش به طور مکرر رگرسیون خطی استاندارد را به زیرمجموعه‌هایی از نمونه‌ها اعمال میکند و نتایجی را بیرون میدهد که کمترین خطای مربع میانه را دارند.
    • ü   SMOreg الگوریتم بهینه سازی حداقل ترتیبی را روی مسایل رگرسیون اعمال میکند.
    • ü   Pace Regression ، با استفاده از تکنیک رگرسیون pace ، مدلهای رگرسیون خطی تولید میکند. رگرسیونpace ، زمانی که تعداد ویژگیها خیلی زیاد است، به طور ویژهای در تعیین ویژگیهایی که باید صرفنظر شوند، خوب عمل میکند. در واقع در صورت وجود نظم و ترتیب خاصی، ثابت میشود که با بینهایت شدن تعداد ویژگیها، این الگوریتم بهـینه عمل میکند.
    • ü RBF Network یک شبکه با تابع پایهای گوسی شعاعی را پیاده سازی میکند. مراکز و عرضهای واحدهای مخفی به وسیله روش میانگین (K-means)K تعیین میشود. سپس خروجیهای فراهم شده از لایه‌های مخفی (Hidden layer) ، با استفاده از رگرسیون منطقی در مورد رده‌های اسمی و رگرسیون خطی در مورد رده‌های عددی، با یکدیگر ترکیب میشوند. فعال سازیهای توابع پایه پیش از ورود به مدلهای خطی، با جمع شدن با عدد یک، نرمالیزه میشوند. در این الگوریتم میتوان K، تعداد خوشه‌ها، بیشترین تعداد تکرارهای رگرسیونهای منطقی برای مسأله‌های رده‌های رسمی، حداقل انحراف معیار خوشه‌ها، و مقدار بیشینه رگرسیون را تعیین نمود. اگر رده‌ها رسمی باشد، میانگین K به طور جداگانه به هر رده اعمال میشود تا K خوشه مورد نظر برای هر رده استخراج گردد.
  •   رده بندهای Lazy

  یادیگرنده‌های lazy نمونه‌های آموزشی را ذخیره میکنند و تا زمان رده بندی هیچ کار واقعی انجام نمیدهند.

  • ü   IB1یک یادگیرنده ابتدایی بر پایه نمونه است که نزدیکترین نمونه‌های آموزشی به نمونه‌های آزمایشی داده شده را از نظر فاصله اقلیدسی پیدا کرده و نزدیکترین رده‌ای مشابه رده همان نمونه‌های آموزشی را تخمین میزند.
  • ü   IBKیک رده بند با K همسایه نزدیک است که معیار فاصله ذکر شده را استفاده میکند. تعداد نزدیکترین فاصله‌ها (پیش فرض k=1 )، میتواند به طور صریح در ویرایشگر شیء تعریف شود. پیشبینی‌های متعلق به پیش از یک همسایه میتواند بر اساس فاصله آنها تا نمونه‌های آزمایشی، وزندار گردد.
  • دو فرمول متفاوت برای تبدیل فاصله به وزن، پیاده سازی شده‌اند. تعداد نمونه‌های آموزشی که به وسیله رده بند نگهداری میشـود، میتواند با تنظـیم گزیـنه اندازه پنجره محدود گردد. زمانی که نـمونه‌های جدید اضافه میشوند، نمونه‌های قدیمی حذف شده تا تعداد کل نمونه‌های آموزشی در اندازه تعیین شده باقی بماند.
  • ü Kstar یک روش نزدیکترین همسایه است که از تابع فاصلهای عمومی شده بر اساس تبدیلات استفاده میکند.
  • ü LWL یک الگوریتم کلی برای یادگیری وزن دار شده به صورت محلی است. این الگوریتم با استفاده از یک روش بر پایه نمونه، وزنها را نسبت میدهد و از روی نمونه‌های وزندار شده، رده‌بند را میسازد. رده‌بند Nave Bayes، در ویرایشگر شیء LWL انتخاب میشود. برای مسایل رده بندی و رگرسیون خطی برای مسایل رگرسیون، انتخابهای خوبی هستند. میتوان در این الگوریتم، تعداد همسایه‌های مورد استفاده را که پهنای باند هسته و شکل هسته مورد استفاده برای وزن دار کردن را (خطی، معکوس، یا گوسی) مشخص میکند، تعیین نمود. نرمال سازی ویژگیها به طور پیش فرض فعال است.

الف- نحوه کار با پانل classify

تا اینجا به صورت تئوری الگوریتمهای رده‌بندی را معرفی کردیم. درادامه با یک مثال عملی نحوه کار با classifier ها را نشان میدهیم.

در این قسمت، بانک اطلاعاتی bank-data-final به عنوان فایل نمونه در نظر گرفته میشود. بعد از باز کردن فایل مورد نظر و با کلیک بر روی پانل classify، پنجرهای مطابق شکل 9 باز میشود.

 

شکل 9 . انتخاب پانل classify

با کلیک دگمه choose در پانل classifyمیتوان الگوریتم رده‌بندی مورد نظر را انتخاب نمود (شکل 10). دراین مثال، الگوریتم J48 را انتخاب میکنیم. زمانی که یک الگوریتم رده‌بندی انتخاب میشود، نسخه خط فرمانی (Command line) رده بند در سطری نزدیک به دگمه ظاهر میگردد. این خط فرمان شامل پارامترهای الگوریتم است که با خط تیره مشخص میشوند. برای تغییر آنها میتوان روی آن خط کلیک نمود تا ویرایشگر مناسب شیء باز شود (شکل11). در این مثال همان مقادیر پیشفرض را میپذیریم.


شکل 10. انتخاب الگوریتم ردهبندی

 

شکل 11. تنظیم پارامترهای الگوریتم رده بندی

باکلیک بر روی دکمه start مدل مورد نظر تولید میشود (شکل12).


شکل 12. مدل حاصل از اجرای الگوریتم رده بندی

با راست کلیک بر روی مجموعه جواب در پانل Result list در سمت چپ میتوان نتیجه را در پنجرهای جداگانه، و یا شکل گرافیکی درخت حاصل از رده بندی را مشاهده نمود. (شکل 13) توجه کنید که در شکل 13(ب) باراست کلیک برروی یک قسمت خالی ازصفحه میتوان نحوه نمایش درخت را به دلخواه تنظیم کرد.

 

شکل 13(الف)

 

شکل 13(ب). درخت حاصل از رده بندی

3-1-3 Cluster

فایل نمونه مورد استفاده در این قسمت bank-data.csv است که در مرحله preprocess فیلد id را از آن حذف میکنیم (شکل14).

 

شکل 14. بارگذاری فایل نمونه

میشود. بعد از باز کردن فایل مورد نظر و با کلیک بر روی پانل cluster پنجرهای مطابق شکل 15 باز میشود.

 

شکل 15 . انتخاب پانل cluster

Weka الگوریتمهای خوشه‌بندی (clustering) متنوعی را پیاده‌سازی میکند. با کلیک دگمه choose در پانل cluster میتوان الگوریتم خوشه‌بندی مورد نظر را انتخاب نمود (شکل 16). دراین مثال، الگوریتم SimpleKMeans را انتخاب میکنیم. زمانی که یک الگوریتم خوشه‌بندی انتخاب میشود، نسخه خط فرمانی الگوریتم خوشه‌بندی در سطری نزدیک به دگمه ظاهر میگردد. این خط فرمان شامل پارامترهای الگوریتم است که با خط تیره مشخص میشوند. برای تغییر آنها میتوان روی آن خط کلیک نمود تا ویرایشگر مناسب شیء باز شود (شکل17). در این مثال تعداد کلاسترها را 6 تا تنظیم میکنیم.

 

شکل 16. انتخاب الگوریتم خوشه‌بندی

 

شکل 17. تنظیم پارامترهای الگوریتم خوشه‌بندی

باکلیک بر روی دکمه start مدل مورد نظر تولید میشود (شکل18).

 

شکل 18. مدل حاصل از اجرای الگوریتم خوشه‌بندی

با راست کلیک بر روی مجموعه جواب در پانل Result list در سمت چپ-پایین و انتخاب گزینه‌ی "View in separate window "میتوان نتیجه را در پنجرهای جداگانه مشاهده نمود (شکل 19). همانطور که میبینید، اطلاعات آماری مربوط به هرکلاستر، از جمله مرکز ثقل هر کلاستر، تعداد و درصد اعضای هر کلاستردر این پنجره قابل مشاهده است.

 

شکل 19. نتیجه حاصل از اجرای الگوریتم خوشه‌بندی

روش دیگر برای کسب اطلاعات در مورد هرکلاستر، مصورسازی است. با راست کلیک بر روی مجموعه جواب در پانل Result list در سمت چپ و انتخاب گزینهی " Visualize cluster assignments" پنجرهای مطابق شکل20(الف) باز میشود. انتخابهای مختلف برای هرکدام از سه بعد نمودارحاصل (محور X، محور Y، رنگ) نمودارهای مختلفی را نتیجه میدهد که میتوان از آنها اطلاعات مورد نظر را بدست آورد.به عنوان مثال در شکل20(ب)، محور Xها نماینده شماره کلاستر، محور Yها نماینده شماره نمونه در بانک اطلاعاتی، و رنگها نماینده جنسیت هستند (قرمز: مرد، آبی: زن). همانطورکه مشاهده میشود کلاستر2 بیشتر توسط زنان احاطه شده است و کلاستر4 توسط مردان.

 

شکل20 (الف)

شکل20 (ب) مصورسازی نتیجه حاصل از clustering

علاوه بر این ممکن است علاقه‌مند باشیم که بدانیم هر نمونه در بانک اطلاعاتی، به کدام کلاستر اختصاص داده شده است. برای این منظور در پنجره شکل 20(ب)، گزینه save را انتخاب میکنیم و فایل مورد نظر را با نام " bank-data-Kmeans" ذخیره میکنیم. فایل حاصل رامیتوان از طریق یک نرم‌افزار پردازش متن مثل Notepad یا word باز کرد. بخش ابتدایی این فایل در شکل21 نشان داده شده است. همانطورکه مشـاهده میکنید، Weka ویژگی جدیدی به نام Cluster را به مجموعه ویژگیهای موجود اضافه کرده است.

 

شکل21. نتیجه اختصاص نمونه‌ها به کلاسترها

3-1-4 Associate

در این قسمت میتوان قوانین Association حاکم بربانک اطلاعاتی را با استفاده از الگوریتم‌های مختلف بدست آورد.

فایل نمونه مورد استفاده در این بخش bank-data-final.arff است که در مرحله preprocess فیلد id از آن حذف شده و مقادیرصفات age و income به صورت گسسته در آمده است (شکل22).

 

شکل 22. بارگذاری فایل نمونه

بعد از باز کردن فایل مورد نظر و با کلیـک بر روی پانل Associate پنجره‌ای مطـابق شکـل23 باز میشود.

شکل 23 . انتخاب پانل Associate

 

Weka الگوریتمهای association متفاوتی را پیاده‌سازی میکند. با کلیک دگمه choose در پانل Associate میتوان الگوریتم association مورد نظر را انتخاب نمود (شکل 24). دراین مثال، الگوریتم Apriori را انتخاب میکنیم. زمانی که یک الگوریتم انتخاب میشود، نسخه خط فرمانی آن الگوریتم در سطری نزدیک به دگمه ظاهر میگردد. این خط فرمان شامل پارامترهای الگوریتم است که با خط تیره مشخص میشوند. برای تغییر آنها میتوان روی آن خط کلیک نمود تا ویرایشگر مناسب شیء باز شود (شکل25). در این مثال همان پارامترهای پیشفرض را میپذیریم.

شکل 24. انتخاب الگوریتم association


شکل 25. تنظیم پارامترهای الگوریتم association

با کلیک بر روی گزینه More در شکل25، میتوان توضیحات لازم را درمورد هر کدام از پارامترها بدست آورد. شکل26 این توضیحات را نشان میدهد.

 

شکل 26. توضیحات بیشتردر مورد پارامترهای الگوریتم Apriori

بعد از تنظیم پارامترهای مورد نظر، با کلیک بر روی گزینه start، قوانین بدست آمده که بر اساس metric Type مرتب شده‌اند در صفحه اصلی نمایش داده میشوند.(شکل27)

شکل 27. نتیجه اجرای الگوریتم Apriori

با راست کلیک بر روی مجموعه جواب در پانل Result list در سمت چپ و انتخاب گزینه‌ی مورد نظر، میتوان نتایج بدست آمده را در پنجره‌ای جداگانه نمایش داد و یا قوانین بدست آمده را به فرمت دلخواه (.csv, .arff, .txt) ذخیره کرد. شکل28 گزینه‌های موجود را نشان میدهد.

 

 

 

شکل 28. ذخیره قوانین بدست آمده

نظرات 0 + ارسال نظر
امکان ثبت نظر جدید برای این مطلب وجود ندارد.