tine12، rapidminer | نظر بدهید
آموزش نرم افزار داده کاوی وکا weka
لطفا با یک کلیک ما را در گوگل محبوب کنید
آموزش نرم افزار داده کاوی وکا Weka
مقدمه
تا به امروز نرم افزارهای تجاری و آموزشی فراوانی برای داده کاوی در حوزه
های مختلف داده ها به دنیای علم و فناوری عرضه شده اند. هریک از آنها با
توجه به نوع اصلی داده هایی که مورد کاوش قرار میدهند، روی الگوریتمهای
خاصی متمرکز شده اند. مقایسه دقیق و علمی این ابزارها باید از جنبه های
متفاوت و متعددی مانند تنوع انواع و فرمت داده های ورودی، حجم ممکن برای
پردازش داده ها، الگـوریتمهای پیاده سـازی شده، روشهای ارزیابی نتایج،
روشهای مصـور سـازی، روشهای پیش پردازش داده ها، واسطهای کاربر پسند،
پلتفرمهای سازگار برای اجرا،قیمت و در دسترس بودن نرم افزار صورت گیرد. از
آن میان، نرم افزار Weka با داشتن امکانات بسیار گسترده،امکان مقایسه
خروجی روشهای مختلف با هم، راهنمای خوب، واسط گرافیگی کارا، سازگاری با
سایر برنامه های ویندوزی، و از همه مهمتر وجود کتابی بسیار جامع و مرتبط با
آن [Data Mining, witten et Al. 2005 ] ، معرفی میشود.
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
1- معرفی نرم افزار Weka
میزکارWeka
، مجموعهای از الگوریتمهای روز یادگیری ماشینی و ابزارهای پیش پردازش
دادهها میباشد. این نرمافزار به گونهای طراحی شده است که میتوان به
سرعت، روشهای موجود را به صورت انعطافپذیری روی مجموعههای جدید داده،
آزمایش نمود. این نرمافزار، پشتیبانیهای ارزشمندی را برای کل فرآیند داده
کاوی های تجربی فراهم میکند. این پشتیبانیها، آماده سازی دادههای ورودی،
ارزیابی آماری چارچوبهای یادگیری و نمایش گرافیکی دادههای ورودی و نتایج
یادگیری را در بر میگیرند. همچنین، هماهنگ با دامنه وسیع الگوریتمهای
یادگیری، این نرمافزار شامل ابزارهای متنوع پیش پردازش دادههاست. این
جعبه ابزار متنوع و جامع، از طریق یک واسط متداول در دسترس است، به نحوی که
کاربر میتواند روشهای متفاوت را در آن با یکدیگر مقایسه کند و روشهایی را
که برای مسایل مدنظر مناسبتر هستند، تشخیص دهد.
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
نرمافزار
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 .
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
لازم
است توجه شود که 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 نتیجه شده است.
نمودار
ترسیم شده در سمت راست، پایین، بر اساس دو فیلد است. فیلد دوم به صورت
پیشفرض، آخرین فیلد در پایگاه داده است که میتوان آن را به دلخواه تغییر
داد.
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
شکل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 خوشه مورد
نظر برای هر رده استخراج گردد.
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
رده بندهای 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 باز میشود.
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
پروژه
چهارشنبه 18 اردیبهشت 1398 ساعت 00:01
آموزش داده کاوی با وکا weka
Home آموزش داده کاوی با وکا weka
آمورش داده کاوی
داده
کاوی مجموعه تکنیک هایی می باشد که پایگاه داده های بزرگ را به منظور
دستیابی به دانش، تحلیل می کند. به منظور داده کاوی امروزه از روش های
ماشینی و یا نیمه ماشینی استفاده می شود که دلیل آن هم تفاوت عمده در
مقیاس، وسعت و گوناگونی زمینهها و کاربردها، و نیز ابعاد و اندازههای
دادههایی می باشد که امروز مورد استفاده قرار می گیرد. داده کاوی یا Data
Mining در اصل به معنای استخراج اطلاعات یا الگوهای عملکرد و روابط مشخص در
میان داده ها و همینطور پایگاه های داده می باشد.
آموزش داده کاوی با استفاده از WEKA
داده کاوی چیست؟
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
داده
کاوی مجموعه تکنیک هایی می باشد که پایگاه داده های بزرگ را به منظور
دستیابی به دانش، تحلیل می کند. به منظور داده کاوی امروزه از روش های
ماشینی و یا نیمه ماشینی استفاده می شود که دلیل آن هم تفاوت عمده در
مقیاس، وسعت و گوناگونی زمینهها و کاربردها، و نیز ابعاد و اندازههای
دادههایی می باشد که امروز مورد استفاده قرار می گیرد. داده کاوی یا Data
Mining در اصل به معنای استخراج اطلاعات یا الگوهای عملکرد و روابط مشخص در
میان داده ها و همینطور پایگاه های داده می باشد.
داده کاوی، بهره گیری از ابزار های موجود جهت کسب دانش
داده
کاوی بهرهگیری از ابزارهای تجزیه و تحلیل دادهها به منظور کشف الگوها و
روابط معتبر گفته میشود که استفاده از این ابزارها منجر به یافتن سریع
مدلهای آماری مورداستفاده درداده، مدلهای آماری و الگوریتمهای ریاضی
میشود که این کار این به صورت خودکار و یا بر اساس تجربهای که از طریق
شبکههای عصبی یا درختهای تصمیم گیری به دست میآورند، انجام می دهند.
داده کاوی علاوه بر گردآوری و مدیریت داده های انبوه، تجزیه، تحلیل اطلاعات
و پیش بینی را نیز انجام میدهد که پارامتر های گوناگونی را در نظر می
گیرد:
۱) قواعد انجمنی یا Association که شامل الگو هایی می باشد که یک رویداد به رویدادی دیگر ارتباط پیدا می کند.
۲) ترتیب یا Sequence: ترتیب اجرای رویداد ها را پیگیری می کند.
۳) پیش بینی یا Prediction که پیش بینی یک متغیر پیوسته را انجام می دهد.
۴) طبقه بندی یا Classification که رده های موجود در داده ها را تعریف می
کند و نسبت به یکریگر متمایز می کند با این هدف که بتوان از این مدل برای
پیش بینی رده رکوردهایی که برچسب رده آنها ناشناخته میباشد، استفاده نمود.
۵) خوشه بندی یا Clustering که مجموعه ای از رکورد ها که شباهت بیشتری را نسبت به یکدیگر دارد را در یک گروه قرار می دهد.
۶) مصور سازی یا visualization که داده های به دست آمده را شبیه سازی می کند.
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
ابزار های داده کاوی
۱) کلمنتاین Clementine
۲) نرم افزار Rapid Miner
۳) نرم افزار WEKA
WEKA ابزاری متن باز برای داده کاوی در جاوا
WEKA
را می توان یکی از قدرتمند ترین ابزار های موجود جهت داده کاوی دانست که
یک کتابخانه متن باز می باشد که به کاربر این امکان را می دهد تا با
استفاده از امکانات زبان جاوا، داده های خود را پردازش کند. WEKA توابع
مختلف را برای داده کاوی در اختیار کاربر قرار میدهد. مزیت استفاده از این
کتابخانه این می باشد که ابزار های متنوعی جهت پیاده سازی الگوریتم های
داده کاوی را به صورت آماده دارد.
مفاهیم داده کاوی
اعمال فیلتر بر روی داده ها
حذف ویژگی های غیرمفید
گسسته سازی ویژگی های عددی
ایجاد داده تصادفی
انتخاب ویژگی
خوشه بندی
روش های انتخاب خوشه
دسته بندی
ارزیابی مدل و تست
آشنایی با ماتریس Confusion
آشنایی با مشخصه عملکرد سیستم
قوانین انجمن
آماده سازی محیط نرم افزاری برای شروع به کار با WEKA
نصب جاوا
نصب Eclipse
اتصال WEKA با Ecli
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
pse
درونریزی داده
آشنایی با نوع داده ARFF
تعریف ویژگی
آشنایی با ساختار داده ها
ایجاد مجموعه داده در زمان اجرا
ذخیره داده در قالب ARFF
اعمال فیلتر بر روی داده ها
گسسته سازی ویژگی ها
ابزار اعمال فیلتر دسته بندی FilteredClassifier
انتخاب ویژگی در WEKA
Information Gain و کاربرد آن در انتخاب ویژگی
بررسی مولفه های اصلی
AttributeSelectedClassifier و انتخاب خاص دسته بندی کننده
ایجاد یک دسته بندی کننده و آموزش آن
ایجاد دسته بندی کننده با درخت تصمیم گیری یا Decision Treesb.
ایجاد دسته بندی کننده با استفاده از ماشین بردار پشتیبان یا SVM
مدل های دیگر دسته بندی کننده
ایجاد یک دسته بندی کننده اختصاصی
نمایش نتیجه
نمایش گرافیکی درخت به کاربر
بررسی و ارزیابی مدل ها
بررسی مجموعه داده ها و تست
نمایش نتایج آماری
جداسازی داده یادگیری
اعتبارسنجی متقابل k-fold
ماتریس Confusion
منحنی ROC
ذخیره مدل با استفاده از Serializable
بازگردانی مدل با استفاده از deserializable
رگرسیون
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
کلاس Zero
کلاس REPTree
کلاس SMOreg
کلاس MultilayerPerceptron
قوانین ارتباطی
الگوریتم Apriori و کشف قوانین ارتباطی
خوشه بندی
الگوریتم EM و نحوه خوشه بندی
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
دسته بندی کننده خوشه ای
خوشه بندی افزایشی