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

انجام پروژه های داده کاوی بدر زمینه های مخار weka clementine12 spss modeler14.2 rapidminer ت کارشناسی و کارشناسی ارشد 09367292276 09367292276 azsoftir@gmail.com

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

انجام پروژه های داده کاوی بدر زمینه های مخار weka clementine12 spss modeler14.2 rapidminer ت کارشناسی و کارشناسی ارشد 09367292276 09367292276 azsoftir@gmail.com

آموزش نرم افزار داده کاوی وکا 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. ذخیره قوانین بدست آمده

وب کاوی چیست

وب کاوی

استفاده از وب داده های  وب یکی از گام های کلیدی در کشف دانش در پایگاه داده، ایجاد یک مجموعه داده مناسب جهت انجام داده کاوی می باشد.در وب کاوی این داده می تواند از سمت سرور، مشتری، پروکسی سرور یا از یک پایگاه داده سازمان جمع آوری شود. هر کدام از این داده ها نه تنها از نظ منابع داده متفاوت می باشند بلکه از نظر انواع داده های موجود و محدوده مکانی که آن داده از آنجا جمع آوری می شود و متد پیاده سازی آن انواع داده ای که در وب کاوی استفاده می شود شامل:محتوا: داده واقعی در صفحات وب، داده ای که صفحه وب برای نمایش آن به کاربران طراحی شده است.که معمولاً از متن و گرافیک تشکیل شده ولی به آن محدود نمی شود.ساختار: داده ای که سازمان دهی محتوا را مشخص می سازد. اطلاعات ساختار درون صفحات شامل ترتیب انواع تگ های XML  یا HTML در یک صفحه داده شده می باشد و می تواند به صورت یک ساختار درختی نمایش داده شود که تگ ریشه درخت می باشد. اصلی ترین نوع از اطلاعات ساختاری بین صفحات، هایپرلینک است که یک صفحه را به دیگری مرتبط می کند.استفاده: داده ای که الگوی استفاده از صفحات وب را مشخص می سازد، مثل آدرس های IP، رجوع به صفحات و تاریخ و زمان دسترسی پروفایل کاربر: داده ای که اطلاعات آماری درباره کاربران وب سایت فراهم می سازد که شامل داده ثبت نام و اطلاعات پروفایل مشتری می باشد.منابع داده داده های استفاده که از منابع مختلفی جمع آوری می شود، الگوهای راهبری از بخش های مختلفی از کل ترافیک وب را نمایش می دهد.  جمع آوری در سطح سرورلاگ های وب سرور یک منبع مهم برای اجرای وب کاوی استفاده از وب محسوب می شود زیرا به طور صریح رفتار مرورگری تمام مشاهده کنندگان سایت را ثبت می کند. داده ای که در لاگ سرور ثبت می شود، دسترسی به یک وب سایت که از سوی  تمام کاربران صورت می گیرد را منعکس می کند. این فایل های لاگ به فرمت های گوناگونی چون Common log یا Extended log ذخیر می شوند.جمع آوری در سطح مشتریجمع آوری داده در سطح مشتری می تواند با بکارگیری یک عامل از راه دور( مثل اپلت های جاوا یا جاوا اسکریپت) یا با تغییر کد مرجع یک مرورگر موجود( مثل Mozilla یا Mosaic)  پیاده سازی شود.پیاده سازی این نوع روش  جمع آوری داده در سطح مشتری به همکاری کاربر در هر دو مورد ذکر شده نیاز دارد.جمع آوری در سطح پروکسییک پروکسی وب به عنوان یک سطح میانی از ذخیره سازی بین مرورگر سمت مشتری و وب سرور محسوب می شود تا زمان بارگذاری  صفحه وبی که توسط کاربر تجربه شده را کاهش دهد همانطور که بار ترافیکی در سمت مشتری و سرور را کاهش می دهد.داده های لاگ مربوط به وب معمولاً حجیم و گسترده هستند وبه منظور کشف الگو،  این داده ها باید در یک دید یکپارچه، سازگار و جامع جمع آوری شوند . در بیشتر کاربردهای داده کاوی پیش پردازش داده با حذف و فیلتر کردن داده های افزونه و بی ربط  و حذف نویزو تبدیل و رفع  هر ناسازگاری   سروکار دارد. پیش پردازش داده  نقش اساسی در کاربردهای کشف دانش در  داده  استفاده از وب دارا هستند و مهمترین مساله در بیشتر روش های کشف الگو، مشکل آن ها در اداره داده های استفاده از وب در مقیاس بزرگ است . به همین خاطر اکثر فرایندهای KDWUD   به طور غیر بر خط انجام می شوند . تحلیل داده استفاده بدون روش پیش پردازش مناسب نتایج ضعیف و یا حتی خرابی را بدنبال خواهد داشت . بنابراین متودولوژی برای پیش پردازش باید به کار گرفته شود تا هر مجموعه ای از فایل های لاگ وب سرور را به مجموعه ساختاریافته ای از جداول در مدل پایگاه داده رابطه ای تبدیل کند . فایل های لاگ از وی سایت های مختلف یک سازمان با هم ادغام می شوند تا رفتار کاربرانی که از طریقی ملموس راهبری داشته اند را نمایش دهد . بنابراین این فایل ها باید با حذف درخواست هایی که مورد نیاز نیستند، پاک می شوند مانند درخواست های ضمنی برای آبجکت های تعبیه شده در صفحات وب و یا درخواست هایی که بوسیله مشتری های غیر انسانی وب سایت ها یجاد می شود . درخواست های باقیمانده  با کاربر، نشست های کاربر و مشاهدات و مشاهده  صفحات،  گروه بندی می شود . و در نهایت مجموعه های پاک و تبدیل شده از درخواست های کاربران در یک مدل پایگاه داده رابطه ای ذخیره می شود . از فیلتر هایی برای فیلتر کردن داده های بدون استفاده، بی ربط و ناخواسته استفاده می شود تحلیلگر می تواند فایل های لاگ را از وب سرورهای متفاوت جمع آوری کند و تصمیم گیری کند که کدامیک از ورودی ها مطلوب هستند . در واقع هدف این است که اندازه بزرگ داده های استفاده از وب موجود به طور قابل توجهی کاهش یابد  و در عین حال کیفیت آن با سازمان دهی آن و فراهم سازی متغیر های یکپارچه  اضافی برای تحلیل  داده کاوی افزایش یابد .فرمول بندی مسالهفرض کنید مجموعه R={r1,r2,r3,…,rn}   مجموعه تمام منابع وباز یک وب سایت باشد . اگرU={u1,u2,…,um}  مجموعه تمام کاربرانی که به سایت دسترسی داشتند،  باشد؛ عنصر لاگ بصورت li=   تعریف می شود که  ui Є U ; ri ЄRاست و t  زمان دسترسی را نمایش می دهد،  s  وضعیت درخواست وref i  صفحه مورد مراجعه را نمایش می دهد . ref i در برخی ازفرمت های لاگ های وب مثل CLF در حالی که صفحه مورد مراجعه ثبت نشده،  اختیاری است . s یک کد سه رقمی است که موفقیت یا شکست درخواست مورد نظر را نشان می دهد . همچنین در موارد دیگر دلیل شکست را نیز بیان می کند . یک وضعیت با مقدار s=200 نشان می دهد که درخواست  موفق است در حالی که وضعیت با مقدار s=404  نشان دهنده این است که فایل مورد درخواست  در محل مورد نظر یافت نشده است . li={li1,li2,…,lim}  به ترتیب صعودی ذخیره می شوند که یک لاگ وب سرور را تشکیل می دهند . در صورت داشتن N وب سرور، مجموعه فایل های لاگ,…,LN}  Log={L1, L2 است .با بکارگیری این علائم مسئله پیش پردازش به صورت زیر فرمول بندی می شود . " با دریافت یک مجموعه از فایل های لاگ مربوط به لاگ های وب سایت های مختلف، کاربر، نشست های کاربر، مشاهده  و مشاهدات صفحات کاربران وب سایت در یک بازه زمانی مشخص ∆t  استخراج می شود ."پیش پردازش داده همانطور که در شکل نشان داده شده است فرایند پیش پردازش گام های زیر را در بر می گیرد :ادغام فایل های لاگ از وب سرورهای گوناگونپاک کردن داده شناسایی کاربران، نشست ها و مشاهده  هافرمت بندی داده و خلاصه سازی آنادغامدر ابتدای پیش پردازش داده، درخواست از تمام فایل های لاگ در Log در یک فایل لاگ الحاقی £همراه  با نام وب سرور جهت تشخیص بین درخواست های ایجاد شده مربوط به وب سرورهای مختلف  وهمچنین توجه به همگام سازی کلاک های وب سرورهای مختلف که از لحاظ  زمانی متفاوت اند . در شکل 2 شبه کد مربوط  به این عمل نشان داده شده است . به خاطر دلایل محرمانگی، فایل لاگ نتیجه f را بی نام کرده  بطوریکه وقتی که فایل های لاگ  به اشتراک گذاشته می شود یا نتایج  منتشر می شوند،  نام  میزبان یا آدرس های IP ، از بین می روند . بنابراین  نام اصلی میزبان با یک شناسنده ای که اطلاعاتی درباره محدوده دامنه ( کد کشور یا نوع سازمان مثل .edu , .com ,.org) نگهداری می کند، جایگزین می شود . مسئله ادغام به صورت زیر فرمولبندی می شود:با دریافت یک مجموعه فایل های لاگ Log={L1,L2,…,Ln}  این فایل های لاگ در یک فایل لاگ مجزا و منفرد ادغام می شود ( فایل لاگ الحاقی ) فرض کنید Li، i امین فایل لاگ می باشد . Li.c را به عنوان اشاره گر بر روی درخواست های Li در نظر بگیرید وLi.1 عنصر لاگ جاری از Li است که با Li.c نشان داده می شود و Li.1.time، زمان t مربوط به عنصرلاگ  جاری از Li می باشد و همچنین  S=(w1,w2,…,wn) آرایه ای از اسامی وب سرورها می باشد به طوری که S[i]  نام وب سرور مربوط به لاگ L i.1 می باشد .مراحل :1.     مقداردهی اولیه اشاره گر فایل لاگ الحاقی  £2.     اسکن عناصر لاگ از هر فایل لاگ Li در Log  و افزودن  آن به £3.     مرتب سازی عناصر £ به طور صعودی بر اساس زمان دسترسی آن هابرگرداندن مقدار £پاک کردن داده ·         گام دوم در پیش پردازش داده حذف درخواست های بدون استفاده  از فایل های لاگ می باشد . بطوریکه اگر تمام ورودی های لاگ معتبر نباشند، باید ورودی های بیربط را حذف کنیم .معمولاً این فرایند تمام درخواستهایی که منابع غیر قابل تحلیل مثل تصاویر، فایل های چندرسانه ای و فایل های مربوط به سبک صفحات را در بر می گیرند، را حذف می کند . برای مثال درخواستهای مربوط  به  محتوای صفحات گرافیکی ( تصاویر *.jpg & *.gif) و همچنین درخواستهای مربوط  به هر فایل دیگر در یک صفحه وب یا حتی نشست های راهبری که توسط رباط ها و اسپا یدر های وب انجام می شود .  با فیلتر کردن داده های بی استفاده، می توانیم سایز فایل لاگ را کاهش داده تا از فضای ذخیره سازی کوچکتری  استفاده کرده و نیز کارهای بعدی را آسان تر  کنیم .برای نمونه، با فیلتر کردن درخواست های تصاویر، سایز فایل های لاگ وب سرور نسبت به سایز اولیه اش تا 50 درصد کاهش می یابد . بنابراین پاک کردن داده حذف ورودی  های بی ربطی چون موارد زیر می باشد:   درخواستهایی که توسط برنامه های خودکار انجام می شود مثل : Web Robot ,Spiders و Crawler ها .این برنامه ها ترافیکی بر روی وب سایت ایجاد می کنند که می توانند بر روی  آمار سایت  تاثیر بگذارند و همچنین در بررسی هایی که توسط KDWUD انجام می شود مطلوب نیستند .·  درخواستهای مربوط به فایل های تصویری که  به صفحات  مشخصی اختصاص داده می شود . درخواست یک کاربر برای مشاهده یک صفحه خاص معمولاً در چندین در چندین عنصر از لاگ منعکس می شود زیرا هر صفحه گرافیک هایی را شامل می شود که فقط آنهایی برای ما مهم هستند که کاربر صریحاً آنها را درخواست کرده که معمولاً فایل های منتی هسنتد .·  عناصر با کدهای وضعیت HTTP  نا موفق . کدهای وضعیت HTTP  برای نشان دادن موفقیت یا شکست یک درخواست بکار می روند که در اینجا ما فقط عناصر با کد بین 200 تا 299 که با موفقیت انجام شده اند در نظر می گیریم .·   عناصری که متدی به غیر از GET  و POST  دارند .شناسایی در این گام درخواستهای غیر ساختیافته یک فایل لاگ به صورت کاربر(user) ، نشست کاربر(user session) ، مشاهدات و ملافات صفحات(page view ,visit)   گروه بندی می شود . در پایان این گام فایل لاگ به صورت یک مجموعه از تراکنش ها خواهد بود (نشست کاربر یا مشاهدات )کاربردر بیشتر موارد فایل لاگ فقط آدرس های کامپیوتر ( نام یا IP)  و عامل کاربر را فراهم می سازد ( به عنوان مثال فایل های لاگ ECLF ) . برای وب سایتهایی که نیازمند ثبت کاربرهستند، فایل لاگ همچنین  User login را شامل می شود ( به عنوان سومین رکورد در یک عنصر لاگ ) که برای شناسایی کاربر استفاده می شود . وقتی که user login موجود نباشد هر IP  به عنوان کابر در نظر گرفته می شود . با این حال این واقعیت وجود دارد که یک آدرس IP  توسط چندین کاربر استفاده می شود واین  برای KDWUD جهت شناسایی کاربر کافی نیست . به هر حال هنوز هم  مکانیزمی برای تشخیص و تمایز بین کاربران برای تحلیل رفتار دسترسی کاربر مورد نیاز است .نشست کاربر شناسایی نشست کاربر از فایل لاگ بدلیل پروکسی سرورها، آدرس های پویا و مواردی که چندین کاربر از طریق یک کامپیوتر دسترسی پیدا می کنند ( در کتابخانه، کافی نت و...) یا یک کابر از چندین مرورگر یا کامپیوتر استفاده می کند، امکان پذیر نمی باشد . یک نشست کاربر به صورت ترتیبی از درخواست ها که بوسیله یک کاربرمنفرد  در یک دوره زمانی مشخص تعریف می شود . یک کاربر می تواند یک (یا چند) نشست در طول یک دوره زمانی داشته باشد .شناسایی نشست عبارت است از فرایند قطعه بندی لاگ دسترسی هر کاربر به نشست های دسترسی مجزا .دو روش بر اساس زمان وجود دارد که شامل روش مبتنی بر طول نشست (Session-duration)  و روش مبتنی بر page-stay-time . همچنین می توانیم از یک  آستانه زمانی timeout  استفاده می کنیم . در ادامه شبه کد مربوط به فرایند شناسایی نشست آورده شده است و بررسی می کند که آیا نشست به پایان رسیده یا اینکه فایل مورد رجوع در هیچ یک از نشست های باز قبلی وجود ندارد . در این صورت یک نشست جدید باز می شود .از آنجاییکه Log بوسیله IP address/Agent  ذخیره می شود تمام نشست های باز کاندیدهای بالقوه ای برای دسترسی به فایل پردازش شده هستند . تابع Session_ Gen   تابع Distance را فراخوانی می کند که این تابع history  مربوط به فایل هایی که اخیراً به فایل f دسترسی داشته اند را پیدا می کند .نمای صفحات(page view)  گام مربوط به شناسایی نمای صفحه تعیین می کند کدام درخواست فایل صفحه بخشی از همان نمای صفحه است و اینکه چه محتوایی ارائه شده است .این گام  لازم است  تا نتایج معناداری  برای  فاز تحلیل الگو فراهم شود و اگر این گام اجرا نشود الگوهای کشف شده تحت تاثیر فایل های صفحه که یک نمای صفحه معروف و مشخص را تشکیل می دهد قرار می گیرد . نمای صفحه با بکارگیری زمان درخواست مشخص می شود . برای درخواست هایی که در یک لحظه ایجاد شده اند تنها اولین درخواست حفظ می شود و بقیه دور ریخته می شوند . بعد از شناسایی نمای صفحه، فایل لاگ به طور نرمال فقط یک درخواست برای هر عمل کاربر در بر می گیرد . هر نشست باید با یک نمای صفحه ابتدایی شروع شود . یک فایل صفحه آغازین یا یک مجموعه از فایل های صفحه از تمام نمای صفحات بعدی مشتق می شود . در اکثر موارد، نمای صفحه آغازین از یک فایل تشکیل می شود یا با یک فایل منفرد که ساختار قاب را مشخص می سازد و بلافاصله منجر به درخواست فایل های صفحه بعدی می شود .خیلی به ندرت اتفاق می افتد که یک سایت غیر مرتبط به بیش از یک فایل صفحه ازیک  سایت دیگر از طریق یک ابر متن منفرد متصل شود .  در هر صورت چنین امری امکان پذیر است و برای چنین مواردی تمام فایل های صفحه که در نمای صفحه آغازین شرکت دارد، باید صراحتاً وارد الگوریتم شود . خلاصه سازی و فرمت بندی داده   این گام، آخرین گام پیش پردازش داده است . فایل ساختاریافته نشست ها و مشاهداتی را شامل می شود که به یک مدل پایگاه داده رابطه ای تبدیل می شود . سپس یک متد تجمیع  داده در سطح درخواست  اعمال شده و با مشاهدات و نشست های کاربر یکپارچه گشته بطور کامل پایگاه داده را پر کند . دو جدول در مدل پایگاه داده رابطه ای طراحی می شود؛ یکی برای ذخیره داده لاگ و دیگری برای ذخیره نشست ها . خلاصه سازی داده بر روی محاسبه متغیر های تجمیع شده در سطوح مختلف انتزاع دلالت دارد ( درخواست، مشاهده و نشست کاربر) .این متغیرهای جمع آوری شده بعداً در گام  داده کاوی مورد استفاده قرار می گیرد و مقادیر آماری را نمایش می دهند که اشیاء آنالیز شده را مشخص می سازند. برای نمونه، اگر شی مورد تحلیل یک نشست کاربر باشد، در داده جمع آوری شده در فرایند محاسباتی، متغیرهای زیر محاسبه می شوند:·         تعداد ملاقات ها در هر نشست طول هر نشست در ثانیه( اختلاف بین تاریخ  آخرین و اولین نشست) یا در صفحات مشاهده شده( تعداد کل مشاهدات صفحه) تعداد مشاهدات برای یک دوره زمانی مشخص، که می تواند یک روز، هفته یا یک ماه باشد.اگر شی مورد تحلیل یک مشاهده باشد، متغیرهای زیر محاسبه می شوند:·        طول مشاهدات بر حسب  زمان و صفحه مشاهده شده فاکتور تکراری در مشاهده·        درصد درخواست های موفقیت آمیز· میانگین زمان سپری شده بر روی یک صفحه  به طور مشابه، سایر متغیرهای جمع آوری شده که می توانند محاسبه شوند:· درصد درخواست ها یی که به هر وب سرور اختصاص یافته· تعداد مشاهده کنندگان و میزبان های منحصر به فرد در هر ساعت، هفته و ماه·  تعداد عاملان کاربر منحصر به فرد در هر ساعت،روز، هفته و ماه

09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com

داده کاوی چیست؟

داده کاوی چیست؟

استخراج اطلاعات و دانش و کشف الگو های پنهان از پایگاه داده های بسیار بزرگ میباشد


انگیزه کاوش داده ها ؟
انگیزه تجاری
انگیزه علمی

  داده هایی با ماهیت تجاری :


داده های وب و داده های تجارت الکترونیک
خرید و فروش های موجود در فروشگاه های خواربار فروشی و زنجیره ای
تراکنش های بانکی و کارت های اعتباری


پس داده های تجاری را با اهداف تجاری مورد پردازش قرار می دهیم و در نهایت از نتایج این پردازش برای دستیابی به سود بیشتر استفاده می کنیم

داده های با ماهیت علمی:


تصاویر ارسالی از طریق ماهواره
تصاویر ارسالی تاسکوپ ها
شبیه سازی علمی
داده های ژنی


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

  کاربرد های داده کاوی :


مدیریت بانکداری
بیمه
پزشکی
بازار یابی

مدیریت ارتباط با مشتری

09367292276
09367292276
azsoftir@gmail.com
azsoftir.com

بورس سهام
زمین شناسی و زلزله
سیاسی
هواشناسی
و غیره

09367292276
09367292276
azsoftir@gmail.com
azsoftir.com

دسته بندی چیست ؟

دسته بندی چیست ؟

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

09367292276
09367292276
azsoftir@gmail.com
azsoftir.com

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


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


دسته بندی داده ها ، فرایند دو مرحله ای میباشد . اولین مرحله ساخت مدل و دومین مرحله استفاده از مدل و پیش بینی از طریق داده های قبلی میباشد


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


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


روشهای مختلف دسته بندی :

روشهای زیادی برای دسته بندی وجود دارد که از جمله می توان به موارد زیر اشاره کرد

09367292276
09367292276
azsoftir@gmail.com
azsoftir.com

بیز ساده و شبکه های بیزی
نزدیک ترین همسایگی
شبکه های عصبی
درخت تصمیم
رگرسیون

09367292276
09367292276
azsoftir@gmail.com
azsoftir.com

خوشه بندی چیست ؟

خوشه بندی یکی از شاخه های یادگیری بدون نظارت می باشد و فرآیند خودکاری است که در طی آن، نمونه ها به دسته هایی که اعضای آن مشابه یکدیگر می با­شند تقسیم می شوند که به این دسته ها خوشه گفته می­شود. بنابراین خوشه مجموعه ای از اشیاء می باشد که در آن اشیاء با یکدیگر مشابه بوده و با اشیاء موجود در خوشه های دیگر غیر مشابه می باشند

برای مشابه بودن می توان معیارهای مختلفی را در نظر گرفت مثلا می توان معیار فاصله را برای خوشه بندی مورد استفاده قرار داد و اشیائی را که به یکدیگر نزدیکتر هستند را بعنوان یک خوشه در نظر گرفت که به این نوع خوشه بندی، خوشه بندی مبتنی بر فاصله نیز گفته می شود

خوشه­ بندی به عمل تقسیم جمعیت ناهمگن به تعدادی از زیر مجموعه­ ها یا خوشه ­های همگن گفته می­شود. وجه تمایز خوشه­بندی از دسته­بندی این است که خوشه بندی به دسته ­های از پیش تعیین شده تکیه ندارد. در دسته­ بندی بر اساس یک مدل هر کدام از داده­ها به دسته­ای از پیش تعیین شده اختصاص می­یابد؛ این دسته­ ها یا از ابتدا در طبیعت وجود داشته­اند(مثل جنسیت، رنگ پوست و مثال­هایی از این قبیل) یا از طریق یافته­های پژوهش­های پیشین تعیین گردیده ­اند

در خوشه­ بندی هیچ دستۀ از پیش تعیین شده ­ای وجود ندارد و داده ­ها صرفاً براساس تشابه گروه ­بندی می­شوند و عناوین هر گروه نیز توسط کاربر تعیین می­گردد. به طور مثال خوشه­ های علائم بیماری­ها ممکن است بیماری­های مختلفی را نشان دهند و خوشه­ های ویژگی­های مشتریان ممکن است حاکی از بخش­های مختلف بازار باشد
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com

خوشه ­بندی معمولاً به عنوان پیش درآمدی برای بکارگیری سایر تحلیل ­های داده­کاوی یا مدل­سازی به کار می­رود. به عنوان مثال، خوشه­ بندی ممکن است اولین گام در تلاش برای تقسیم­ بندی بازار باشد؛ برای ایجاد یک قانون که در همۀ موارد کاربرد داشته باشد و به این سؤال پاسخ دهد که مشتریان به چه نوع تبلیغاتی به بهترین نحو پاسخ می­دهند اول باید مشتریان را به خوشه­ های متشکل از افرادی با عادات مشابه خرید تقسیم نمود و سپس پرسید که چه نوع تبلیغاتی برای هر خوشه به بهترین نحو عمل می­ کند

09367292276
09367292276
azsoftir@gmail.com
azsoftir.com