امروزه افراد زیادی به علت بیماری قلب و عروق جان خود را از دست می دهند این بیماری با توجه به شیوع و سهمی که در مرگ و میر انسانها دارد از اهمیت بالایی برخوردار است .
لذا در این پروژه با استفاده از تکنیک هاي داده کاوي و الگوریتم هایی مانند درخت تصمیم، شبکه عصبی ،ماشي ن بردار پشتيبان، بيز ساده، K نزديک ترين همسايه و دسته بندي هاي مبتني بر قانون(قاعده) مدل هايی بر اساسيک مجموعه داده قلب و سیزده متغییر( سن ، جنس ، نوع درد قفسه سینه ، فشار خون ، کلسترل ، قند خون ، …)ایجاد شده وسپس به دو سوال زير به عنوان هدف تحقیق پاسخ داده مي شود.
1-آیا فردی با متغیرهاي ( سن ، جنس ، نوع درد قفسه سینه ، فشار خون ، کلسترل ، قند خون ، … ) بیماری قلبی دارد؟ (پیش بینی بیماری قلبی در یک فرد؟)
2-کدام یک از الگوریتم های داده کاوی مدل بهتری را از مجموعه داده جمع آوری شده استخراج می کند؟
کلیه مدل هاي استخراج شده ارزيابي شدند مدلبيز ساده با کاهش ابعاد از روش انتخاب زير محموعه اي از ويژگي ها به عنوان مدل بر تر انتخاب شده و از سه تکنيکbagging و boostingوvoteجهت بهبود اين مدل استفاده شد و در نهايت مدل بيز ساده با کاهش ابعاد از روش انتخاب زير محموعه اي از ويژگي ها با بهبود دادن مدل از طريق تکنیک boosting به عنوان بهترين مدل با دقت70/82درصد انتخاب گرديد و سپس اين مدل بر يک مجموعه داده تستي اعمال شده و نتيجه با نود درصد دقت، متغير هدف (وجود يا عدم وجود بيماري قلبي در یک فرد) را پيش بيني کرد.
واژه های کلیدی
داده کاوی، دسته بندی، درخت تصمیم، شبکه عصبی ،ماشين بردار پشتيبان، الگوریتم بيز ساده،الگوریتمK نزديکترين همسايه ، دسته بندي مبتني بر قانون(قاعده)، بیماری قلب و عروق
فصل اول :کلیات تحقیق
مقدمه فصل اول
در فصل اول بیان مسئله ، مدل مفهومی تحقیق ،هدف تحقیق ،سوالات تحقیق ،قلمرو موضوعی تحقیق ،تعریف واژه ها و جمع بندی فصل آورده شده است.
بیان مسئله
امروزه افراد زیادی به علت بیماری قلب و عروق جان خود را از دست می دهند این بیماری با توجه به شیوع و سهمی که در مرگ و میر انسانها دارد از اهمیت بالایی برخوردار است .
به گزارش گروه اجتماعی خبرگزاری آنا مورخ 27 تیر 1393، آقای فریدون نوحی رئیس انجمن قلب و عروق ایران بیشترین علت مرگ و میر ها در کشور را ناشی از ابتلا به بیماری قلبی و عروقی دانست و گفت: مرگ 38 درصد ایرانیان بر اثر بیماری قلبی رقم بسیار بالایی محسوب میشود. رئیس انجمن قلب و عروق ایران خاطر نشان کرد: البته این مسئله مختص کشور ما نیست و در اکثر قریب به اتفاق کشورهای دنیا وضعیت به همین شکل است اما نکته اینجاست که در کشورهای پیشرفته ای نظیر فنلاند، انگلیس و آمریکا با رعایت برخی اقدامات پیشگیرانه این روند رو به کاهش است اما در کشور ما به دلایل مختلف از جمله تغییر نسبت هرم سنی و پیر شدن جمعیت، آمارها روند افزایشی دارد.لذا سهم38 درصدی مرگ ومیر به علت بیماری قلب و عروق منجر به انتخاب این تحقیق توسط اینجانب گردید.
مدل مفهومی تحقیق
با استفاده از تکنیک دسته بندی و الگوریتم هایی مانند درخت تصمیم، شبکه عصبی،ماشين بردار پشتيبان، بيز ساده، K نزديکترين همسايه و دسته بندي هاي مبتني بر قانون(قاعده) مدل هايی بر اساس يک مجموعه داده قلب با سیزده متغییر( سن ، جنس ، نوع درد قفسه سینه ، فشار خون ، کلسترل ، قند خون ، …)ایجاد می شود و از متغییر هدف جهت پیش بینی وجود و یا عدم وجود بیماری قلبی استفاده می گردد .
هدف تحقیق
طراحی مدلی مناسب برای پیش بينيبیماری قلبی با استفاده از تکنیک داده کاوی، در این پروژه متغیرهایی از قبیل سن ، جنس ، نوع درد قفسه سینه ، فشار خون ، کلسترل ، قند خون ، …هر فردبه مدل داده می شود و از طریق مدل می توان وجود و یا عدم وجود بیماری قلبی را در آن فردپیش بینی کرد.
سوالات تحقیق
1- آیا فردی با متغیرهای( سن ، جنس ، نوع درد قفسه سینه ، فشار خون ، کلسترل ، قند خون ، …) بیماری قلبی دارد؟(پیش بینی بیماری قلبی در یک فرد؟)
2-کدام یک از الگوریتم های داده کاوی مدل بهتری را از مجموعه داده جمع آوری شده استخراج می کند؟
قلمرو تحقیق (موضوعی)
از آنجایی که موضوع تحقیق طراحی مدلی برای تشخیص وجود بیماری قلبی با استفاده از تکنیک داده کاوی است لذا قلمرو موضوعی”پیش بینی بیماری قلب و عروق”می باشد.
تعریف واژه ها(متغییر ها)
نام فارسی | نام لاتین |
سن | Age |
جنسیت | Sex |
نوع درد قفسه سینه | Chest Pain |
فشار خون | Blood Pressure |
کلسترل | Cholestoral |
قند خون | Blood Sugar |
نوار قلبی | Electrocardiographic |
ضربان قلب | Heart Rate |
گرفتگی رگ | ca |
تست ورزش | Exercise Induced |
افسردگی | Depression |
Thal | |
شیب پیک ورزش | Slope |
جمع بندی فصل اول
در این فصل به تشریح ، بیان مسئله (ضرورت و اهمیت تحقیق)، مدل مفهومی تحقیق ،هدف و سوالات تحقیق پرداخته شدو همچنین در پایان قلمرو موضوعی تحقیق و تعاریف واژه ها ذکر گردید.
فصل دوم :ادبیات تحقیق
ادبيات موضوعي مربوط به تحقيق
این مقاله بر موضوع داده کاوی متمرکز است داده کاوی فرآیندی پیچیده جهت شناسایی الگوها و مدل های پنهان ، صحیح، جدید و به صورت بالقوه مفید در حجمی از داده ها است به طریقی که این الگوها و مدلها برای انسانها قابل درک باشند. داده کاوی که به عبارتی دیگر، کشف دانش از حجم گسترده ای از داده هانامیده می شود جهت استخراج دانش از پایگاه یا انباره داده بسته به نوع دادها از تکنیک های مختلفی استفاده می کند که عبارتند از :
تکنیک دسته بندی : در دسته بندی کل مجموعه داده ها به دو قسمت مجموعه داده های آموزشی و مجموعه داده های آزمایشی تقسیم بندی می شوند در مرحله آموزش الگوریتم یاد می گیرد و بر اساس مجموعه داده های آموزشی یک مدل ساخته می شود شکل مدل ساخته شده به الگوریتم یاد گیرنده که مورد استفاده قرار می گیرد و می تواند درخت تصمیم ، شبکه عصبی ، بیز ، ماشین بردار پشتیبان و غیره باشد بستگی دارد مثلا اگر الگوریتم یاد گیرنده درخت تصمیم باشد مدل ساخته شده یک درخت تصمیم خواهد بود و در مرحله ارزیابی بر اساس مجموعه داده های آزمایشی دقت و کارایی مدل ساخته شده ارزیابی خواهد شد .
تکنیک خوشه بندی : در این روش رکوردها بر اساس شباهتی که به یکدیگر دارند و عدم شباهت شان با رکورد های دیگر در خوشه های متعددی قرار می گیرند در این تکنیک مراحلی تحت عنوان آموزشی و آزمایشی وجود نداشته ودر پایان مدلی ساخته می شود که عملا” همان تعیین خوشه ها بوده و به همراه کارایی آن به عنوان خروجی ارائه می شود در این تکنیک از الگوریتم هایK-Means،DBSCAN,K-Medoidsو غیره می توان استفاده کرد.
تکنیک کشف قوانین انجمنی : در این روش مجموعه داده مورد کاوش شامل تعداد زیادی تراکنش مثلا” تراکنش های خرید از یک فروشگاه است که هر تراکنش شامل تعدادی شیء است در این الگوریتم بدنبال کشف قوانین وابستگی یا انجمنی در میان این تراکنش ها هستیم بر اساس قوانین کشف شده می توان بگوییم که وجود چه اشیایی بر وجود چه مجموعه اشیاء دیگری اثر گذار است در این تکنیک از الگوریتم هایApriori،FP-Growthو غیره می توان استفاده کرد.
در این پروژهاز تکنیک داده کاوی دسته بندیاستفاده می شودکه روی یک مجموعه داده اعمال و با ساخت چندین مدل برای مجموعه داده، دقت مدل ها مورد بررسی و ارزیابی قرار می گيرد در ضمن برای انجام این کار (ساخت مدل ها ، بررسی دقت مدل ها و غیره)از نرم افزار RapidMiner استفاده می شود.
بررسي پيشينه تحقيق
زمینه های متعددی درخدمات پزشکی مانند پیش بینی اثر بخشی عمل های جراحی ،آزمایشات پزشکی و تشخیص بیماری با استفاده از روش های داده کاوی مورد توجه قرار گرفته اند. محققان در زمینه شناسایی و پیش بینی بیماری ها، علاوه بر بررسی کیفیت مراقبت از بیماران با کمک تکنیک های داده کاوی مبادرت به تشخیص بیماری های مختلفی شامل دیابت ،هپاتیت ،سرطان و بیماری های قلبی نموده اند که در ذیل چند نمونه از پیشینه تحقیق خارجي و داخلي در خصوص بیماری قلبی آورده شده است.
خلاصه اي از نکات پيشينه تحقيق(خارجي)
ترتيب | محقق | سال | اقدامات |
1 | پارتيبان وسابرامانيان | 2007 | آنها الگوريتم داده کاوي شبکه عصبي را با قابليت هاي يادگيري با منطق فازي که داراي رويکردي کيفي است ترکيب کرده و از آن براي تشخيص بيماري قلبي استفاده کرده اند. |
2 | گورو | 2007 | در مدل خود از متغيرهايي مانند سن ، فشار خون و نتايج آنژيوگرافي براي پيش بيني استفاده کرده است. |
3 | سرينيواس | 2010 | نشان داد که نرخ بيماري قلب که توسط خود بيمار گزارش شده است در منطقه اي از هند به نام آندرا پرادش که معدن زغال سنگ سينگارني نيز در اين منطقه واقع شده است در مقايسه با ساير مناطق بيشتر است ايشان پيش بيني بيماري قلبي را از طريق متغيير هايي مانند سن ، قوميت ، سطح آموزش فرد ، ميزان درآمد ، شاخص توده بدني و غيره و باکمک تکنيک داده کاوي دسته بندي و الگوريتم هاي داده کاوي مانند شبکه عصبي ،شبکه بيزي ، درخت تصميم و ماشين بردار پشتيبان انجام داد که در اين بين درخت تصميم از دقت بالاتري نسبت به ساير الگوريتمها برخوردار بوده است. |
4 | کوماري و گودارا | 2011 | آنها از الگوريتم هاي داده کاوي درخت تصميم ، شبکه عصبي و ماشين بردار پشتيبان جهت دسته بندي داده ها استفاده کرده و نتايج حاصل را با يکديگر مقايسه کرده اند. |
5 | سوبالا کشمي | 2011 | ايشان از الگوريتم داده کاوي بيز جهت دسته بندي داده ها استفاده کرده است. |
6 | وانسري و سينگاراجو | 2011 | براي تشخيص بيماري قلبي مادر زادي سيستم پشتيبان تصميمي را با استفاده از شبکه عصبي ارائه کرده اند. |
خلاصه اي از نکات پيشينه تحقيق(داخلي)
ترتيب | محقق | سال | اقدامات |
1 | کاج آبادي،سرايي،عسگري | در اين تحقيق از دسته بندي به کمک درخت تصميم و نرم افزار CART استفاده شدهاست با اعمال داده کاوي روي داده هاي جمع آوري شده در شهر اصفهان از متغير هاي کلسترول ، سن ، شاخص توده بدن ، تري گليسيريد و استعمال دخانيات و… جهت پيش بيني بيماري قلبي استفاده شده است. | |
2 | رسول سالي | 1390 | در اين مطالعه از تکنيک دسته بندي و ترکيب الگوريتم ژنتيک با الگوريتم هاي شبکه عصبي و درخت تصميم مدل هاي ترکيبي ايجاد و کارايي اين مدل ها روي پنج مجموعه داده بررسي شده است که مدل ترکيبي الگوريتم ژنتيک و شبکه عصبي نتايج بهتري نسبت به مدل ترکيبي ديگر داشته است. |
3 | عليزاده ثاني | 1391 | در اين پايان نامه از 303 نمونه استفاده شده که 87 نمونه سالم و 216 نمونه بيمار بودند چندين روش داده کاوي روي مجموعه داده اجرا شده و مدلي با دقت خوب کشف شده است. |
فصل سوم:روش شناسي تحقيق
متغیرهای تحقیق
سن:
سن یک عامل مهم بیماری قلبی عروقی است. بعد از سن ۶۵ سالگی احتمال ابتلا به بیماری قلبی و سکته افزایش می یابد به طوری که بیش از ۴۰ درصد همه موارد مرگ در میان افراد بالای ۶۵ تا ۷۴ سال و تقریبا ۶۰ درصد در سن ۸۵ به بالا به این بیماری نسبت داده می شود. احتمال وقوع بیماری قلبی و فشار خون بالا که منجر به نارسایی قلبی می شود در افراد ۶۵ ساله یا مسن تر بیشتر است.
اما یکی از علل وقوع این بیماری ها اتفاقاتی است که با افزایش سن برای عروق رخ می دهد. به طور کلی خون از طریق عروق سرخرگی از قلب خارج شده و از طریق عروق سیاهرگی به آن باز می گردد. با افزایش سن تغییرات متعددی برای عروق رخ می دهد از جمله سفت شدن عروقی خونی در پی افزایش سن ، این عروق در برابر جریان خون بویژه جریان خون پر ضربان، سرخرگ های بزرگ نزدیک قلب مقاومت می کنند. این مقاومت که امپدانس نامیده می شود عامل مهم افزایش فشار خون همزمان با بالا رفتن سن است.
جنسیت:
مردان در معرض خطر بیشتری از ابتلا به بیماری های قلبی و عروقی هستند و در سنین پایین تر به این بیماری دچار می شوند. این میزان نزد زنان حتی پس از یائسگی ( هنگامی که میزان مرگ زنان به دلیل بیماری قلبی افزایش می یابد ) به اندازه مردان نیست زنان پیش از یائسگی بدلیل وجود هورمون های جنسی خود در مقابل بیماری های قلبی عروقی محافظت می شوند پس از یائسگی خطر ابتلاء به بیماری های قلبی عروقی در زنان شروع به افزایش یافتن می کند.معمولا علت اینکه مردان بیشتر از زنان به بیماری قلبی دچار می شوند به دلیل استرس زیاد، فشار خون بالا و کشیدن سیگار بیشتر، نسبت به زنان می باشد.
نوع درد قفسه سینه:
از جمله بيماري درد قفسه سينه ايسكمي و آسيب به عضله قلب است. (ايسكمي يعني اين كه اكسيژنرساني به قلب براي تامين نيازهاي متابوليك سوخت و ساز كافي نباشد) اين عدم هماهنگي ناشي از كاهش اكسيژنرساني ، افزايش تقاضا براي اكسيژن يا هر دو است و بارزترين علت زمينهساز ايسكمي قلبي انسداد رگهاي كرونر قلب به وسيله تصلب شرائين است كه با وجود چنين انسدادي دورههاي ايسكمي گذرا به واسطه افزايش تقاضا براي اكسيژن به دنبال فعاليتهاي فيزيكي و افزايش ضربان قلب به وجود ميآيد.
فشار خون:
چهل و نه درصد بیماری ایسکمی قلبی (ايسكمي يعني اين كه اكسيژنرساني به قلب براي تامين نيازهاي متابوليك سوخت و ساز كافي نباشد) به فشارخون بالا منتسب است شیوع بالای این بیماری و بیعلامت بودن آن اهمیت این مشکل بهداشتی را چندین برابر میکند و باید بدانیم این بیماری قابل علاج است 17.5 درصد از افراد 15 تا 65 سال مبتلا به فشارخون بالا هستند. با افزایش سن، شیوع این بیماری افزایش و باعث ایجاد بیماری قلبی می گردد.
کلسترل:
کلسترول ماده ای است از جنس چربی ومومی شکل که در تمام سلول های بدن وجود دارد و برای
ادامه زندگی ماده ای حیاتی و ضروری است اما رسوب همین ماده حیاتی در جدار سرخرگها وتشکیل پلاک موجب تنگی عروق می شود که اگر رسوب کلسترل در جدار عروق کرونری باشد موجب بیماری قلب و عروق می شود .
قند خون:
دیابت بطور جدی شانس بروز بیماریهای قلبی عروقی را افزایش می دهد. حتی با وجود کنترل قند خون ، دیابت شانس بیماری قلبی را افزایش می دهد ولی در صورت عدم کنترل این خطر به مراتب بالاتر خواهد رفت.
نوار قلب و اکوکاردیوگرافی:
در نوار قلب با استفاده از الکترودهایی که روی قفسه سینه و اندامها قرار میگیرد،گزارشی از فعالیت الکتریکی قلب ثبت میشود. با نوار قلب تا حدودی از خون رسانی قلب، بیماری عضله قلب، تغییرات یونی در بدن و تاثیر داروهای قلبی مطلع میشویم.
اکوکاردیوگرافی در واقع سونوگرافی مخصوص قلب میباشد که با استفاده از امواج ماوراء صوت به بررسی ساختمان و کار قلب میپردازد. با اکوکاردیوگرافی به سایز حفره های قلب، ناهنجاریهای مادرزادی قلب،میزان انقباض و بیماریهای دریچه ای قلب پی میبریم. بعد از نوار قلب،اکوکاردیوگرافی معمول ترین اقدام تشخیص در بیماریهای قلب و عروق بوده و کامل کننده اطلاعاتی است که توسط معاینه به دست میآید.
تپش قلب:
تپش قلب به معنی آگاهی از تپش قلب خود است. علیرغم تپش و فعالیت مداوم و بیوقفه قلب
، این فعالیت نباید توسط خود فرد احساس شود. به عبارت دیگر انسان اصلاً نباید متوجه تپش قلب در بدن خود باشند. پس هرگاه فرد احساس بکند که قلب درون قفسه سینه در حال تپش میباشد، دچار تپش قلب شده است .
گرفتگی رگ:
گرفتگی رگ عبارت است از تصلب و باریك شدن فضای داخل سرخرگهای قلب، قلب ۳ سرخرگ اصلی دارد زمانی كه هر كدام یا همگی تنگ شوند، آنها دیگر نمیتوانند اكسیژن كافی به سلولهای قلب برسانند و باعث ایجاد گرفتگی رگ و به دنبال آن بیماری قلبی در فرد می شوند.
تست ورزش:
در این روش درحالیکه بیمار روی دستگاه تردمیل حرکت میکند از بیمار نوار قلب گرفته میشود و درصورت وجود تنگی در عروق قلب، همزمان با افزایش ضربان قلب با ورزش، در نوار قلب بیمار تغییراتی حاصل میشود که پزشک را به تشخیص گرفتگی عروق کرونر هدایت میکند.
افسردگی:
اضطراب و افسردگی خطر مرگ و میر را در افراد مبتلا به بیماریهای قلبی عروقی افزایش میدهد به گفته سرپرست محققان در دانشگاه دوک در دورهام، در میان بیماران مبتلا به بیماریهای قلبی عروقی، اضطراب خطر مرگ و میر ناشی از بیماری را تا دو برابر افزایش میدهد.
شیب پیک ورزش:
سرعت حرکت نوار گردان تردمیل معمولا بین صفرتا 12کیلومتردر ساعت است. هنگامی که ورزشکارروی نوار گردان می دود،امکان وصل کردن دستگاه های مختلف به بدن وجود دارد.دستگاه هایی از قبیل: الکترود های اندازه گیری فشارخون، دستگاه تجزیه گازهای تنفسی برای اندازه گیری حداکثراکسیژن مصرفی وبسیاری از دستگاه های دیگر که برای اندازه گیری متغیر های فیزیولوژیکی در ورزش کاربرد دارند.صفحه متحرک نوار گردان قادر است که شیب های متفاوت قابل کنترلی را از صفر تا 24 درصد ایجاد کند در صورت داشتن شیب های بالا ، شرایط فعالیت روی صفحه متحرک دشوارتر می شود و از این طریق می توان شدت راه رفتن یا دویدن را افزایش داد.
روش تحقيق
روش تحقيق مجموعه اي از قواعد ابزار و راهي معتبر و نظام يافته براي بررسي واقعيتها ، کشف مجهولات و دستيابي به راه حل مشکلات است . تحقيق را از نظر غايت به دو دسته بنيادي و کاربردي و از نظر رويکرد به دو دسته کمي و کيفي مي توان طبقه بندي کرد .
تحقيق بنيادي:
هدف اساسي اين نوع تحقيقات آزمون نظريه ها ، تبيين روابط بين پديده ها و افزودن به مجموعه دانش موجود در يک زمينه خاص است .تحقيقات بنيادي ، نظريه ها را بررسي کرده آنها را تاييد ،تعديل يا رد مي کنند. با تبيين روابط ميان پديده ها تحقيق بنيادي به کشف قوانين و اصول علمي مي پردازدبا اين اهداف تحقيقات بنيادي در صدد توسعه مجموعه دانسته هاي موجود در باره اصول و قوانين علمي است. اين نوع تحقيقات نتيجه گرا بوده و در رابطه با نيازهاي تصميم گيري انجام نمي شود در تحقيق بنيادي ، موارد و جنبه هاي کاربردي تحقيق در مسائل واقعي و استفاده علمي از نتايج تحقيق کمتر مورد توجه محقق است . انگيزه تحقيق عمدتا” ارضاي کنجکاوي محقق و کشف اصول و قواعد کلي حاکم بر روابط پديده ها ست . تحقيق بنيادي توسط دانشمندان رشته هاي مختلف علوم و اغلب در مورد جانوران و در موقعيت هاي آزمايشگاهي انجام مي گيرد افراد مورد مطالعه به روش تصادفي انتخاب مي شوند و يافته هاي تحقيق به صورت اصول و قواعد کلي تنظيم و به جامعه تعميم داده مي شود.مجموعه اصول و قواعد حاصل از نتايج تحقيقات بنيادي در هر رشته پايه هاي دانش بشر را به وجود مي آورند که ممکن است به تدوين نظريه هاي علمي براي تبيين پديده ها منتهي شوند . يافته هاي تحقيق بنيادي اغلب به عنوان پايه هاي تحقيق کاربردي مورد استفاده قرار مي گيرند.
تحقيق کاربردي:
اصول و روش هاي انجام تحقيق کاربردي همانند بنيادي است بدين معنا که در اينجا نيز افراد مورد مطالعه به روش تصادفي انتخاب مي شوند و نتايج حاصل از تحقيق در مورد گروه نمونه به جامعه اي که نمونه از آن انتخاب شده است بر اساس همان اصول تحقيق بنيادي تعميم مي يابد . تفاوت اصلي تحقيق کاربردي با تحقيق بنيادي در اين است که هدف محقق از تحقيق کاربردي دستيابي به اصول و قواعدي است که در موقعيت هاي واقعي و عملي به کار بسته مي شوند و به بهبود محصول و کارآيي روش هاي اجرايي کمک مي کنند . در حقيقت مي توان گفت هدف تحقيقات کاربردي ، توسعه دانش کاربردي در يک زمينه خاص است به عبارت ديگر تحقيقات کاربردي به سمت کاربرد عملي دانش هدايت مي شود.
تحقيق کيفي:
در تحقيق کيفي واقعيت عيني و مجزايي وجود ندارد واقعيت ذهني است و تنها در ارتباط با مشاهده گر است که وجود دارد محقق کيفي فرايند کل را مي آزمايد و باور دارد که واقعيت کلي است و نمي توان آن را به اجزايش تقسيم يا تجزيه نمود.
تحقيق کمي:
در تحقيق کمي واقعيت عيني است يعني خارج از ذهن محقق وجود دارد و هر کسي مي تواند آن را مشاهده کند علاوه بر آن محقق کمي معتقد است که واقعيت را مي توان به اجزاي تشکيل دهنده آن تجزيه کرد و محقق بايد دانش کلي خود را از واقعيت با بررسي اجزا به دست آورد.
بنابر اين روش تحقيق پروژه حاضر از نوع تحقيق کاربردي-کمي مي باشد.
جامعه آماري
جامعه آماري عبارت است از کل گروه افراد ، وقايع يا چيزهايي که محقق مي خواهد به تحقيق در مورد آنها به پردازد يا به عبارت ديگر همه اعضاي واقعي يا فرضي که علاقه مند هستيم يافته هاي پژوهش را به آنها تعميم دهيم.بنابراين جامعه آماري پژوهش حاضر کل انسانها مي باشند.
نمونه ونمونه گيري
مجموعه داده پروژه حاظر از پايگاه داده UCI استخراج شده که به ادعاي ايشان روش نمونه گيري مورد استفاده نمونه گيري تصادفي طبقه بندي شده است.روش نمونه گيري تصادفي طبقه بندي شده به اين ترتيب است که ابتدا جامعه را طبقه بندي مي نماييم و سپس نمونه تصادفي از هر طبقه را انتخاب مي کنيم .يکي از دلايل نمونه گيري از طبقات به جاي گرفتن يک نمونه تصادفي ساده از کل جامعه اين است که مي توانيم اطمينان حاصل کنيم که نمونه هاي با عناصر کافي از هر طبقه انتخابشده است.
ابزار گرد آوري اطلاعات
لازم به ذکراست پس از مذاکره با چند ين شرکت از جمله شرکت فولاد مبارکه در خصوص ارائه مجموعه داده جهت انجام داده کاوي نهايتا” بعد از چندين ماه تاخير هيچ يک از شرکت ها حاضر به همکاري نشدند سر انجام با راهنمايي اساتيد و جستجوي فراوان يک مجموعه داده مربوط به بيماران قلبي از سايت UCI استخراج شد.
روش تجزيه و تحليل داده ها
معيارهاي ارزيابي تکنيکدسته بندي
قبل از آنکه به بررسی انواع معیارهای مهم ارزیابی دسته بندی بپردازیم لازم است که با مفهوم ماتریس درهم ریختگی آشنا شویم این ماتریس چگونگی عملکرد تکنيک دسته بندی را با توجه به مجموعه داده ورودی به تفکیک انواع دسته های مسئله دسته بندی نشان می دهد در این ماتریس مفاهیم TP,FN,FP,TN به شرح ذیل می باشد.
پیشبینی |
واقعی |
– | + | |
FN | TP | + |
TN | FP | – |
ماتریس درهم ریختگی برای یک مسئله دسته بندی |
:TNاین مقدار بیانگر تعداد رکوردهایی است که دسته واقعی آنها منفی بوده و الگوریتم دسته بندی نیز دسته آنها را به درستی منفی تشخیص داده است.
:FPاین مقدار بیانگر تعداد رکوردهایی است که دسته واقعی آنها منفی بوده و الگوریتم دسته بندی آنها را به اشتباه مثبت تشخیص داده است.
:FNاین مقدار بیانگر تعداد رکوردهایی است که دسته واقعی آنها مثبت بوده و الگوریتم دسته بندی آنها را به اشتباه منفی تشخیص داده است.
:TPاین مقدار بیانگر تعداد رکوردهایی است که دسته واقعی آنها مثبت بوده و الگوریتم دسته بندی نیز دسته آنها را به درستی مثبت تشخیص داده است.
اکنون به تشریح انواع معیارهای ارزیابی مهم مربوط به تکنیک دسته بندی با توجه به ماتریس درهمریختگی می پردازیم . مهم ترین معیار برای تعیین کارایی تکنیک دسته بندی معیار Accuracy است. این معیار دقت کل یک دسته بندی را محاسبه می نماید این معیار نشان دهنده این حقیقت است که دسته بندی طراحی شده چند درصد از کل مجموعه رکوردهای آزمایشی را به درستی دسته بندی کرده است . دقت دسته بندی بر اساس مفاهیم مطرح شده در ماتریس درهم ریختگی به شکل ذیل قابل محاسبه می باشد.
Accuracy=
این رابطه نشان می دهد که کلیه مواردی را که می بایست یک دسته بندی رعایت کند تا بتواند عملکرد مطلوب را برای آن در نظر گرفت در معیار Accuracyلحاظ شده اند همانگونه که مشخص است دو مقدار TP وTN مهمترین مقادیری هستند که در یک مسئله باید بیشینه شوند از آنجا که هر دو مقدار TP وTNدر صورت کسر قرار گرفته اند بنابر این می توان عنوان نمود که رابطه فوق به تمام دسته های موجود در مسئله دسته بندی توجه شده است به همین دلیل معیار دقت دسته بندی مشهورترین و عمومی ترین معیار محاسبه کارایی الگوریتم های دسته بندی است.در مسائل واقعی معیار Accuracy دسته بندی به هیچ عنوان معیار مناسبی برای ارزیابی کارایی الگوریتم های دسته بندی نمی باشد دلیل این امر آن است که در رابطه Accuracy دسته بندی ارزش رکوردهای دسته های مختلف یکسان در نظر گرفته شده است بنابراین چنانچه در یک کاربرد خاص ارزش دسته ای در مقایسه با دسته دیگر متفاوت باشد در آن صورت پیشبینی درست و یا غلط برچسب رکورد های آن دسته نفع یا ضرر متفاوتی را در قیاس با رکوردهای سایر دسته ها به همراه خواهد داشت به همین دلیل معیارها و روش هایی جهت حل این مشکل در اینگونه مسائل که مسائل با دسته های نا متعادل نامیده می شوند وجود دارد که به تشریح آنها خواهیم پرداخت. معیارRecall(x) دقت دسته بندی دسته x را با توجه به کل رکوردهای با برچسب x نشان میدهد معیار (Precision(xدقت دسته بندی x را با توجه به کل موارد نشان می دهد که بر چسبxبرای رکورد مورد بررسی توسط دسته بند پیشنهاد شده است توجه کنید که معیارRecall(x)کارایی دسته بند را با توجه به تعداد رخداد دسته xنشان می دهد.
حال آنکه معیار (Precision(xاساسا” مبتنی بر دقت پیشبینی دسته بندی می باشد و مبین آن است که به چه میزان می توان به خروجی دسته بندی اعتماد نماییم نکته مهم دیگری که می بایست به آن توجه کنیم آن است که در دسته بندی هایی که بر چسب برخی از رکوردها نامشخص تعیین می شود باید مخرج روابط به محاسبه Recall(x)را برابر با کل تعداد رکوردهای با برچسب x در نظر گرفت. معیار (F-Measure(xترکیب معیارهایRecall(x)و(Precision(xرا نشان می دهد و در مواردی مورد استفاده قرار می گیرد که نتوان اهمیت ویژه ای را برای هر یک از دو معیارRecall(x)و (Precision(xنسبت به یکدیگر قائل شد.
Recall(+)=
Precision(+)=
F_measure(+)=
روش هاي ارزيابي الگوريتم هاي دسته بندي
در اين قسمت سه روش ارزيابي الگوريتم هاي دسته بنديHoldout,Cross-Validation,Bootstrap توضيح داده مي شود.
روشHoldout :
در اين روش مجموعه داده اصلي به دو مجموعه داده با نام هاي مجموعه داده آموزشي و مجموعه داده آزمايشي تقسيم مي شود مدل دسته بندي توسط مجموعه داده آموزشي ساخته شده و به وسيله مجموعه داده آزمايشي مورد ارزيابيAccuracy,Recall,precision,…) ) قرار مي گيرد چگونگي نسبت تقسيم مجموعه داده ها بستگي به تشخيص تحليل گر دارد معمولا” دو نسبت شناخته شده تر هستند که عبارتند 50-50 ويا دو سوم براي آموزش و يک سوم براي ارزيابي، مهم ترين حسن اين روش سادگي و سرعت بالاي عمليات ارزيابي مي باشد روشHoldout معايب مهمي دارد اولين ايراد اين روش آن است که بخشي از مجموعه داده اوليه که براي آزمايش جدا مي شود شانسي براي حضور يافتن در مرحله آموزش ندارد بديهي است مدلي که با توجه به کل مجموعه داده اوليه ساخته شود جامع تر بوده و پوشش کلي تري را بر روي مجموعه داده مورد بررسي خواهد داشت .
روشK-FOLD Cross-Validation:
فرض کنيد مجموعه داده را به دو قسمت مساوي تقسيم نماييم حال يکي از دو قسمت را به عنوان مجموعه داده آموزشي در نظر گرفته و مدل را بر اساس آن مي سازيم سپس از مجموعه داده ديگر براي ارزيابي مدل ساخته شده استفاده مي کنيم اکنون جايگاه دومجموعه داده را با يکديگر تعويض مي نماييم به اين ترتيب که از مجموعه داده اول که قبلا” براي آموزش استفاده کرده بوديم براي ارزيابي و از مجموعه داده دوم که پيش تر براي ارزيابي بهره برداري کرده بوديم براي آموزش در ساخت مدل استفاده نماييم به اين روش ارزيابي روش
2-Fold Cross Validationگفته مي شودچنانچه به جاي 2 بارKمرتبه اين عمليات را انجام دهيم روش جامع K-Fold Cross Validationحاصل خواهد شد. در اين روش کل مجموعه داده ها به K قسمت مساوي تقسيم بندي مي شود از K-1 قسمت به عنوان مجموعه دادهاي آموزشي استفاده و بر اساس آنها مدل ساخته شده و با يک قسمت باقي مانده عمليات ارزيابي انجام مي شود فرايند مزبور به تعداد K مرتبه تکرار خواهد شد به گونه اي که از هر کدام از K قسمت تنها يک بار براي ارزيابي استفاده شده و در هر مرتبه يک دقت براي مدل ساخته شده محاسبه مي شود در اين روش ارزيابي دقت نهايي دسته بندي برابر با ميانگين K دقت محاسبه خواهد شد.
روشBootstrap:
در روش هاي فوق فرض بر آن بود که عمليات هاي انتخاب نمونه هاي آموزشي بدون جايگزين صورت مي گيرد به عبارت ديگر يک رکورد تنها يکبار در يک فرايند آموزشي مورد توجه واقع مي شود حال فرض کنيد که هر رکورد در صورت انتخاب شدن براي شرکت در عمليات يادگيري مدل بتواند مجددا” براي يادگيري مورد استفاده قرار گيرد روش مزبور در متون علمي مرتبط با نام Bootstrapشناخته مي شود.
نرم افزارRapid Miner
نرم افزار RApidMiner يک ابزار داده کاوي Open Source است که با زبان جاوا نوشته شده و از سال 2001 تا به حال توسعه داده شده است در اين نرم افزار سعي تيم توسعه دهنده بر آن بوده است که تا حد امکان تمامي الگوريتم هاي رايج داده کاوي و همچنين يادگيري ماشين پوشش داده شوند به گونه اي که حتي اين امکان براي نرم افزار فراهم شده است تا بتوان ساير ابزارهاي Open Source داده کاوي را نيز به آن الحاق نمود رابط گرافيکي شکيل و کاربر پسند نرم افزار نيز آن را يک سر و گردن بالاتر از ساير ابزارهاي رقيب قرار مي دهد از نقاط قوت نرم افزار مي توان به موارد زير اشاره کرد .
– ارائه گزارش و رونوشت از مراحل اجراي الگوريتم
– ظاهر پرداخته و آراسته
– نماي گرافيکي خوب
– قابليت تطابق با فايل هاي خروجي بسيار از نرم افزارها مانند Excel
– قابليت “پيکر بندي بين اجزاي مختلف با يکديگر از طريق رابط کاربري گرافيکي ETLworkflows
– امکان تصحيح و خطايابي بسيار سريع
– وجود آموزش هاي ويديويي مناسب که براي اين نرم افزار تهيه شده و در وب قرار داده شده است
– مستندات شامل راهنماي بسياري از عملگرها در نرم افزار و همچنين ويکي مناسب در تارنماي شرکت توسعه دهنده براي اين ابزار در دسترس است
– امکان اجراي هم زمان الگوريتم هاي يادگيري متفاوت در نرم افزار و مقايسه آنها با يکديگر در ابزار در نظر گرفتهشده است
– به دليل پياده سازي و توسعه اين نرم افزار با استفاده از زبان جاوا امکان کار در سيستم هاي عامل مختلف از جمله ويندوز ، لينوکس و سيستم هاي مکينتاش براي اين نرم افزار وجود دارد.
– امکانات متن کاوي نيز در اين نرم افزار پيشبيني شده است
– کليه الگوريتم هاي يادگيريمدل در نرم افزار داده کاوي WEKA پس از به هنگام سازي RapidMinerبه نرم افزار اضافه خواهند شد.
به دلايل فوق الذکردر اين پايان نامه از نرم افزارRapidMinerجهت داده کاوي استفاده شده است.
الگوريتم هاي ارزيابي دسته بنديRapidMiner
Split Validation-
اينعملگر روش ارزيابي Holout را انجام مي دهد پارامتر split مشخص مي کند که مجموعه داده با چه رويکردي بايد تقسيم شود با تعيين پارامتر به ميزان relativeاين مقدار به صورت نسبي خواهد بود پارامتر Split Ratioاندازه نسبي مجموعه آموزشي را که به صورت پيش فرض مقدار 0.7 مجموعه داده اوليه است مشخص کرده و باقي رکوردها نيز به عنوان مجموعه آزمايشي در نظر گرفته خواهد شد در صورتيکه اين مقدار absolute در نظر بگيريم تعداد رکوردها براي هر يک از مجموعه هاي آموزشي و آزمايشي توسط پارامترtrainingsetsize و test set size تعيينخواهند شد براي trainingsetsizeمقدار -1 به معني استفاده از بقيه داده ها(همه به جز داده هاي آزمايشي) براي آموزش و براي test set size مقدار 1- به معني استفاده از بقيه داده ها ( به جز داده هاي آموزشي ) براي آزمايش است.
Bootstrapping validation
اين عملگر روش ارزيابي Bootstrappiung validationرا انجام مي دهد تعداد تکرار نمونه گيري با پارامتر number of validation و ميزان نرخ نمونه برداري نيز با پارامتر sample ratio تعيين خواهد شد عملگر دو بخش مجزا را به عنوان عملگر دروني در خود دارد در بخشTraining يک مجموعه داده مي سازد و بر اساس يک مدل آن را آزمايش خواهد نمود سپس رکوردهاي باقيمانده يعني آنهايي که نمونه برداري نشده اند را در بخش ارزيابي روي مدل فوق اعمال مي کند اين فرايند براي تعداد تکرارهاي مشخص شده در پارامتر number of validations تکرار مي شود و بعد از آن متوسط دقت محاسبه خواهد شد. اولين بخش عملگر دروني،يک مدل ايجاد خواهد کرد و دومين بخش مي بايست يک بردار عملکرد فراهم سازد پارامتر Use weights در صورت فعال بودن، مشخص خواهد نمود که در صورت وجود فاکتور وزن براي ويژگي ها ، اين اوزان در عمليات Bootstrapping مورد استفاده قرار گيرند . پارامترonlyaverage performancesنشان مي دهد آيا بايد فقط بردارهاي عملکرد ميانگين گيري شوند يا بر روي همه انواع بردارهاي نتيجه که قابليت ميانگين گيري دارند عمليات ميانگين گيري را اعمال نمود .
X-Validation-
اين عملگر روش ارزيابي K-Fold Cross Validationرا انجام مي دهد پارامتر averageperformance only نشان مي دهد که آيا بايد فقط بردارهاي عملکرد، ميانگين گيري شوند يا بر روي همه انواع بردارهاي نتيجه که قابليت ميانگين گيري دارند عمليات مورد نياز را اعمال نمود با فعال بودن پارامتر leave one out به تعداد مجموعه داده ورودي ، طبقه خواهيم داشت با کمک پارامتر number of validationتعداد طبقات مورد نظر را مي توان مشخص نمود پارامتر samplingtype نوع نمونه برداري نمونه هاي ممکن را تعيين مي کند که مي تواند يکي از حالات زير باشد:
Linear sampling: نمونه ها بر اساس توالي خطي داده ورودي انتخاب خواهند شد
Shuffled sampling : نمونه ها بدون هيچ گونه طبقه بندي و به صورت تصادفي و چند در ميان انتخاب خواهند شد
Stratified sampling : داده ها به صورت متوازن از دسته ها ي تعيين شده انتخاب خواهند شد
در اين پروژه از عملگرX-Validationو از معيارهايAccuracy,recall,precisionوF_measure جهت ارزيابي مدل هاي داده کاوياستفاده شده است.
خلاصه چگونگي تجزيه و تحليل داده ها:
1- آیا فردی با متغیرهاي (سن ، جنس ، نوع درد قفسه سینه ، فشار خون ، کلسترل ، قند خون ، …) بیماری قلبی دارد؟ (پیش بینی بیماری قلبی در یک فرد؟)
در اين پايان نامه براي پاسخ به سوال فوق از تکنیک دسته بندیو يک مجموعه داده آموزشي و الگوریتمي مانند درخت تصمیم، شبکه عصبی ،ماشين بردار پشتيبان، بيز ساده، K نزديکترين همسايه و دسته بندي هاي مبتني بر قانون(قاعده)مدلی بر اساس سیزده متغییر( سن ، جنس ، نوع درد قفسه سینه ، فشار خون ، کلسترل ، قند خون ، …) ایجاد می شود و از متغییر هدف جهت پیش بینی وجود بیماری قلبی در مجموعه داده آزمايشي استفاده می گردد.
2-کدام یک از الگوریتم های داده کاوی مدل بهتری را از مجموعه داده های جمع آوری شده استخراج می کند؟
براي پاسخ به سوال فوقاز عملگرX-Validationو ازمعيارهايAccuracy,recall,precision,F_measureاستفاده شده و مدلي که بيشترين مقدار معيارهاي فوق را داشته باشد به عنوان بهترين مدل شناخته مي شود.
فصل چهارم:تجزيه و تحليل داده ها
روش انجام پروژه
برای انجام پروژه های داده کاوی روش های مختلفی وجود دارد یکی از بهترین روش ها در عمل روش استفاده از استاندارد CrispDmاست . در ذیل این استاندارد به صورت مختصر آورده شده و انجام پروژه بر اساس آن توضیح داده خواهد شد.
استانداردCrispDm
مدل فرآیند متداول برای داده کاوی خلاصه ای از چرخه حیات پروژه داده کاوی را تهیه می کند این چرخه شامل مراحل یک پروژه ، وظایف مربوطه و روابط بین وظایف آنها می شود. در این سطح از تشریح ، تشخیص همه روابط ممکن نیست . روابط می تواند میان هر کدام از وظایف داده کاوی وابسته به هدف ، زمینه ، علاقه کاربر و از همه مهمتر روی داده و جود داشته باشد. در این استاندارد چرخه حیات داده کاوی از شش مرحله تشکیل شده است که در شکل ذیل نشان داده شده است . توالی مراحل مستقیم نیست حرکت به عقب و جلو بین مراحل مختلف همیشه نیاز است . خروجی هر مرحله مشخص می کند که چه مرحله ای یا وظیفه ای خاص از یک مرحله باید بعد از آن اجرا شود . بردارها وابستگی های مهم و غالب بین مراحل را مشخص می کند. دایره بیرونی در شکل فوق طبیعت گردشی خود داده کاوی را نشان می دهد . داده کاوی تا هنگامی که یک راه حل گسترش داده شود ، پایان نمییابد . آموزش هایی که در طول پردازش و از طریق راه حل گسترده شده فرا گرفته می شود ، اغلب برای مسائل تجاری می تواند به روز شود. پردازش های بعدی داده کاوی از تجربیات پردازش های قبلی سود خواهد برد. در ادامه خلاصه هر مرحله به طور مختصر بیان می شود.
درک مسئله کسب و کار(Business Understanding)
مرحله ابتدایی بر روی درک نیازمندی ها و اهداف پروژه از منظر کسب و کار تمرکز می کند. سپس این دانش را به یک تعریف مسئله داده کاوی تبدیل و یک طرح مقدماتی برای دستیابی به اهداف را طراحی می کند که شامل موارد زیر می باشد.
– تعیین اهداف کسب و کار
-وضعیت ارزیابی
– تعیین اهداف داده کاوی
– تولید طرح پروژه
درک داده(Data Understanding)
مرحله درک داده با جمع آوری داده اولیه آغاز شده و با فعالیت هایی که شما را با داده مانوس تر می کند ، تشخیص مشکلات کیفیت داده ، دریافتن درک داده و یا تعیین زیر مجموعه های جالب توجه برای تشکیل فرضیه راجع به اطلاعات پنهان پیش می رود و می تواند شامل موارد زیر باشد.
– جمع آوری داده اولیه
– توصیف داده
-کشف داده
– بررسی کیفیت داده
آماده سازی داده(Data Preparation)
مرحله آماده سازی داده همه فعالیت هایی که نیاز به ساخت داده های نهایی از داده اولیه خام دارد را تحت پوشش قرار می دهد.(داده ای که به ابزار مدل سازی خورانده شده است.) وظایف تولید داده شبیه این هستند که بارها و البته نه به ترتیب خاص اجرا شوند. وظایف شامل جدول ، رکورد، انتخاب خصوصیت و پاک سازی دادهبرای ابزارهای مدل سازی می شود که شامل موارد زیر می باشد.
– انتخاب داده
– پاکسازی داده
– ساخت داده
– یکپارچه سازی داده
– طراحی ظاهر داده
مدل سازی(Modeling)
در این مرحله ، تکنیک های متفاوت مدل سازی انتخاب شده و به کار گرفته می شوند و پارامترهای آنها به مقدار بهینه تنظیم مي شوند. به طور نمونه ، تکنیک های زیادی برای انواع یکسان مسائل داده کاوی وجود دارد . بعضی از تکنیک ها نیازمندی ها ی خاصی برای تشکیل داده دارند. بنابر این ، اغلب عقبگرد به مرحله تولید داده لازم است و می تواند شامل موارد زیر باشد.
– انتخاب تکنیک مدل سازی
– تولید طرح آزمایشی
– ساخت مدل
– ارزیابی مدل
ارزیابی(Evaluation)
در این مرحله از پروژه ، شما مدل یا مدل هایی را ساخته اید که به نظر می رسد کیفیت بالایی از منظر تحلیل یک داده را دارد . قبل از پیشروی به گسترش نهایی مدل ، مهم است که کاملا” آنرا ارزیابی نموده و گام هایی را که اجرا شده تا ساخته شوند را بازبینی کنیم تا مطمئن شویم مدل به طور کامل به اهداف تجاری می رسد. در پایان این مرحله ، تصمیم روی کاربرد داده کاوی باید به نتیجه برسد که شامل موارد زیر می باشد.
– ارزیابی نتیجه ها
– بازبینی فرایند
– تعیین گام بعدی
استقرار(Deployment)
ساخت مدل عموما” پایان پروژه نیست. حتی اگر هدف مدل افزایش دانش داده است ، دانش بدست آمده به طوری که مشتری بتواند آن را استفاده کند . نیاز به سازماندهی دارد . این بخش اغلب درگیر اجرای مدل های “جاری” در حین سازماندهی تصمیم فرآیندهای ساخته شده هستند. خصوصی سازی صفحات وب یا امتیازبندی مکرربازیابی پایگاه داده مثال هایی از این نمونه ها هستند. بسته به نیاز، مرحله استقرار می تواند به سادگی تهیه یک گزارش یا به پیچیدگی اجرای یک فرآیند داده کاوی تکرار پذیر در نسخه ای تجاری باشد. در موارد زیادی ، کسی که گام های استقرار را انجام میدهد تحلیلگر داده نیست بلکه مشتری است . هر چند حتی اگر تحلیلگر تلاش برای استقرار داشته باشد ، مهم است که مشتری بداند که چه فعالیت هایی نیاز است انجام شوند که در حقیقت باعث کاربرد مدل های ساخته شده می شود و می تواند شامل موارد زیر باشد.
– طرح ریزی برای استقرار
– طرح ریزی برای نگهداری و نظارت
– تهیه گزارش پایانی
– بازبینی پروژه
تشریح انجام پروژه
همانطوریکه در بالا اشاره شد این پروژه مطابق استاندارد CrispDmانجام شده و در اینجا به توضیح بیشتر پروژه بر اساس این استاندارد می پردازیم.
درک مسئله کسب و کارپروژه
امروزه در دانش پزشکی جمع آوری داده ها ی فراوان در مورد بیماری های مختلف از اهمیت فراوانی برخوردار است . مراکز پزشکی با مقاصد گوناگونی به جمع آوری این داده ها می پردازند. تحقیق روی این داده ها و به دست آوردن نتایج و الگوهای مفید در رابطه با بیماری ها ، یکی از اهداف استفاده از این داده ها است . حجم زیاد داده ها و سر در گمی حاصل از آن مشکلی است که مانع رسیدن به نتایج قابل توجه می شود بنابراین از داده کاوی برای غلبه بر این مشکل و به دست آوردن روابط مفید بین عوامل خطرزا در بیماری ها از جمله بیماری قلبی استفاده می شود .در ابتدای قرن بیستم 10% کل مرگ و میر ها به علت بیماریهای قلبی عروقی بود در انتهای همین قرن موارد مرگ و میر ناشی از بیماریهای قلبی به 25% افزایش یافت و پیش بینی می شود با توجه به روند کنونی تا سال 2025 میلادی بیشتر از 35 تا 60 درصد موارد مرگ و میر در جهان از بیماریهای قلبی عروق ناشی شود. طبق گزارش معاونت بهداشتی وزارت بهداشت و درمان 46 درصد علل مرگ ومیر در سطح ایران بعلت بیماریهای گردش خون می باشد. از طرفی طبق بررسیها بعمل آمده شیوع بیماریهای قلبی عروقی در شهر اصفهان 4/19 درصد بوده است. رشد چشمگیر این بیماریها و اثرات و عوارض آنها و هزینه های بالایی که بر جامعه وارد می کند باعث شده که جامعه پزشکی به دنبال برنامه هایی جهت بررسی بیشتر ، پیشگیری ، شناسایی زود هنگام و درمان موثر آن باشند . استفاده از روش های داده کاوی در بررسی داده ها مدتی است که رونق گرفته است بطوریکه اغلب تحلیل های پزشکی به وسیله روش های داده کاوی و آماری انجام می شود . همکاری متخصصین در زمینه کامپیوتر و پزشکی راه حل جدیدی را در تحلیل این داده ها و بدست آوردن الگوهای مفید و کاربردی ارائه می دهد که همان داده کاوی می باشد. در داده کاوی بر خلاف علم آمار به دنبال پیشگویی هستیم نه کشف یا اثبات. بدین معنا که با استفاده از روش های داده کاوی به دنبال تایید آنچه از قبل می دانسته ایم نیستیم بلکه به دنبال مشخص کردن الگوهای از قبل شناخته نشده ایم . همچنین در این پروژه به دنبال این هستیم که بر اساس داده های آموزشی تعیین کنیم کدامیک از داده های آزمایشی ما دارای بیماری قلبی هستند .
درک داده پروژه
جمع آوری داده اولیه
اين مجموعه داده از پايگاه داده UCI استخراج شده و متد به کار گرفته شده برای دستیابی به آن وب کاوی بوده است لازم به ذکراست پس از مذاکره با چندين شرکت از جمله شرکت فولاد مبارکه در خصوص ارائه مجموعه داده جهت انجام داده کاوي نهايتا” بعد از چندين ماه تاخير هيچ يک از شرکت ها حاضر به همکاري نشدند سر انجام با راهنمايي اساتيد و جستجوي فراوان يک مجموعه داده مربوط به بيماران قلبي از سايت UCI استخراج شد.
توصیف داده
در این مجموعه داده ششصد رکورد انتخاب شده است و نام فیلد ها به شرح زیر می باشد
نام فارسی | نام لاتین | نوع ویژگی |
سن | Age | integer |
جنسیت | Sex | binominal |
نوع درد قفسه سینه | Chest Pain | nominal |
فشار خون | Blood Pressure | integer |
کلسترول | Cholestoral | integer |
قند خون | Blood Sugar | binominal |
نوار قلبی | Electrocardiographic | nominal |
ضربان قلب | Heart Rate | integer |
گرفتگی رگ | Ca | Poly nominal |
تست ورزش | Exercise Induced | binominal |
افسردگی | Depression | numeric |
Thal | Poly nominal | |
شیب پیک ورزش | Slope | integer |
متغییر هدف | C(lass) | binominal |
کشف داده
سوال:آیا فردی با متغیرهاي ( سن ، جنس ، نوع درد قفسه سینه ، فشار خون ، کلسترل ، قند خون ، …) بیماری قلبی دارد؟ (پیش بینی بیماری قلبی در یک فرد؟)
با استفاده از تکنیک دسته بندیو يک مجموعه داده آموزشي و الگوریتمي مانند درخت تصمیم، شبکه عصبی ،ماشين بردار پشتيبان، بيز ساده، K نزديکترين همسايه و دسته بندي هاي مبتني بر قانون(قاعده) مدلی بر اساس سیزده متغییر( سن ، جنس ، نوع درد قفسه سینه ، فشار خون ، کلسترل ، قند خون ، …) ایجاد می شود و از متغییر هدف جهت پیش بینی وجود بیماری قلبی در مجموعه داده آزمايشي استفاده می گردد.
بررسی کیفیت داده
به پیوست مجموعهداده اولیهدر فایلی بانامheart first.xlsxآورده شده است همانطوریکه ملاحظه می شود این داده ها شامل داده های مفقود شده می باشد و همچنین بایدداده های پرت آن نیز بر اساس فرمول شوهارت بررسی شده و درصورت وجود حذف گردند لذا در قسمت “آماده سازی”نویز داده ها(داده های پرت)،Missing valuesو …اصلاح خواهند شد.
آماده سازی داده پروژه
حذف داده های پرت
این نمونه ها رکوردهایی هستند که مقادیر ویژگی های آنها نسبت به سایر رکوردها بسیار متفاوت است. این تفاوت سبب می شود که در فضای چند بعدی ویژگی ها محل قرار گرفتن نمونه های پرت نسبت به سایر رکوردها بسیار متفاوت باشد امکان یافتن نظم با حضور نمونه های پرت بسیار مشکل تر از زمانی است که داده ها دارای این نوع از داده نیستند. به همین دلیل داده پرت باعث خواهند شد که الگوریتم یاد گیری نتواند مدل دقیقی را برای تبیین دانش نهفته در داده بیابد.
از فرمول شوارت برای حذف داده های پرت می توان استفاده کرد.
فرمول شوارت : انحراف معیار*3±میانگین
داده هایی که خارج از بازه (انحراف معیار*3+ میانگین) و (انحراف معیار*3- میانگین) باشند داده پرت محسوب می شوند. مثلا” برای حذف داده های پرت فیلد سن در ابتدا میانگین و انحراف معیار سن مجموعه داده اولیه در این پروژه را محاسبه می کنیم میانگین برابر183/51 و انحراف معیاربرابر074/9است لذا مطابق فرمول شوارت افرادی که سن آنها خارج از بازه4/78 و 96/23می باشند داده پرت محسوب شده و باید از مجموعه داده حذف گردند نا گفته نماند که این کار را باید برای تمام فیلدها انجام داد که کار دشواری است.
می توان از امکانات نرم افزار Rapid Miner نیز جهت حذف داده های پرت استفاده کرد که در این پروژه از آن استفاده شده است و به صورت گام به گام توضیح داده خواهد شد.
همانطور که از شکل بالا ملاحظه می گردد این کار در سه مرحله انجام می گردد.
-1صدا زدن مجموعه داده اولیه که در یک فایل Excle قرار دارد.
2-استفاده از تابعDetect Outlierجهت تشخیص داده های پرت که در این عملگر پارامتر ها به شکل زیر set شده است
Number of neighbors=10
Number of Outliers=30
3- در مرحله Filter Examples رکورد هایی که در مرحله 2 به عنوان داده پرت تشخیص داده شده اند از مجموعه داده حذف می گردند.
حال داده های پرت حذف شده اند و بایستی تکلیف داده های از دست رفته تعیین گردند.
اصلاح داده های از دست رفته(Missing values)
به دلایلی ممکن است بعضی از مقادیر مربوط به برخی ویژگی ها Null باشند به این گونه مقادیر داده های از دست رفته می گوییم دلایل به وجود آمدن این مقادیر متفاوت است گاهی اوقات اطلاعات به درستی جمع آوری نمی شوند مثلا” بعضی افراد از گفتن سن و وزن خود اجتناب می ورزند که در این صورت مقدار این ویژگی برای این افراد Null ذخیره خواهد شد بعضی از ویژگی ها ممکن است برای همه رکوردها قابل استفاده نباشند مثلا” در آمد سالیانه برای کودکان قابل محاسبه نیست، در این مواقع نه می توان رکوردهای مربوط به کودکان و نه ویژگی در آمد سالانه را حذف نمود . بنابراین مجبور خواهیم بود که مقدار ویژگی در آمد سالانه را برای رکوردهایی که متعلق به کودکان است Null در نظر بگیریم. چهار روش برای مدیریت مقادیر از دست رفته و جود دارند که عبارتند از :
حذف کردن : در این روش رکوردهایی که حداقل یکی از ویژگی های آنها Null است حذف می شوند.
تخمین زدن : در این روش مقادیر Nullبا استفاده از روش های ابتکاری تخمین زده می شوند که در اینصورت بایستی مقادیر ویژگی مورد تخمین از توزیع و نظم ویژه ای تبعیت کنند.
نادیده گرفتن:در این روش در زمان تحلیل داده ها ، آن دسته از ویژگی هایی که مقادیرشانNull است را در نظر نمی گیریم ولی از مقادیر بقیه ویژگی های غیر Null استفاده می کنیم.
جایگزین کردن : در این روش مقادیر Null با تمام مقادیر امکان پذیر جایگزین می شوند. این روش همیشه با شرط عدم محدودیت زمان و حافظه بهترین روش است.
در این پروژه داده های از دسته رفته از طریق نرم افزارRapid Miner و به “روش تخمین زدن” با مقدار میانگین داده ها جایگزین می گردند که جزئیات انجام کار در زیر آورده شده است .
پس از حذف داده های پرت که در بالا توضیح داده شد از تابع Select Attributes استفاده کرده و فیلد Outlier را که در مرحله قبل ایجاد شده بود را کنار می گذاریم وسپس از تابع replaceMissing valuesاستفاده کرده و داده های از دسته رفته را با مقدار میانگین آنها جایگزین می کنیم. از طریق شکل زیر نیز ملاحظه می شود که داده های از دست رفته (Missing) کلیه فیلدها مجموعه داده حذف شده است .
کاهش ابعاد
به طور کلی هر چه ابعاد یا همان تعداد ویژگی های مساله(تعداد فیلد ها) مورد کاوش بالاتر رود باعث خواهد شد رکوردها در فضای جستجو پراکنده تر شوند . سه روش برای کاهش ابعاد وجود دارند که عبارتند از :
انتخاب زیر مجموعه ای از ویژگی ها :
در این روش ویژگی هایی که ارزش اطلاعاتی آنها برای کاوش پایین تر است برای حذف شدن انتخاب خواهند شد . به همین دلیل معمولا” تعداد ویژگی هایی که از این طریق نادیده گرفته می شوند خیلی زیاد نیست بر این اساس نمی توان عملیات انتخاب زیر مجموعه ای از ویژگی ها را برای حل مشکل مسائلی که تعداد ویژگی های آنها بسیار بالا است زیاد موثر دانست.
تحلیل اجزای اصلی(PCA):
در این روش ابتدا از روی رکوردهای موجود در مجموعه داده اصلی ماتریس کواریانس محاسبه می شود . سپس مقادیر ویژه ای با توجه به آن ماتریس استخراج خواهند شد این مقادیر ویژه در ادامه در ماتریس اولیه ضرب شده و در نهایت ویژگی های مسئله ابتدایی به یک فضای جدید با ابعاد کمتر تصویر می شوند که خصوصیات ماتریس اولیه را با ابعاد کمتر در بر دارند این روش از جمله روش های بسیار مشهور است.
روشSVD:
در این روش از مفاهیم جبر خطی برای کاهش ابعاد استفاده می شود این روش که قرابت بسیار بالایی با روش PCA دارد بیشتر در کاربردهای پردازش متون مورد استفاده قرار می گیرد.
در این پروژه از طریق نرم افزارRapid Minerو با دو روش “انتخاب زیر مجموعه ای از ویژگی ها” و”تحلیل اجزایاصلی(PCA)” ابعاد مجموعه داده کاهش داده شده است که در زیر هر کدام به صورت جدا گانه توضیح داده شده است.
انتخاب زیر مجموعه ای از ویژگی ها از طریق نرم افزار Rapid Miner:
مجموعه داده به روش”انتخاب زیر مجموعه ای از ویژگی ها” به پنج بعد تاثیر گذارکاهش داده شده است .
پس از جایگزین کردن داده های از دست رفته با میانگین که در بالا توضیح داده شد از دو تابع اضافی جهت کاهش ابعاد استفاده شده است از تابع Weight by information Gain استفاده شده است تا ابعاد بر اساس بیشترین تاثیر گذاری اولویت دهی شوند و سپس از تابع select by weight با پارامتر top k=5 جهت انتخاب 5 بعد با بیشترین تاثیر استفاده می شود.
تحلیل اجزای اصلی(PCA) از طریق نرم افزار Rapid Miner:
مجموعه داده به روش”تحلیل اجزایاصلی(PCA)” به سه بعد کاهش داده شده است. لازم به ذکر است که مجموعه داده کاهش داده شده به سه بعد ، حاوی خصوصیات تمام فیلد ها ی مجموعه داده پیش از کاهش ابعاد می باشد.
پس از جایگزین کردن داده های از دست رفته با میانگین که در بالا توضیح داده شد از دو تابع اضافی جهت کاهش ابعاد استفاده شده است از تابع Nominal To Numerical استفاده شده است تا داده های گسسته به داده های پیوسته تبدیل شوند سپس از تابعPCAبا پارامتر
Number of Components=3
استفاده می شود تا مجموعه داده به سه بعد کاهش یابد .
در نهایت از برنامه Rapid Minerشکل زیر استفاده می شود تا مجموعه داده پس از حذف داده های پرت و جایگزین کردن داده های از دست رفته با مقدار میانگیندر فایل Heartclean.xlsx ذخیره شودو همچنین مجموعه دادهپس از پاکسازی و کاهش ابعاد از روش” انتخاب زیر مجموعه از ویژگی ها” در فایلHeartweight.xlsxذخیره می شودو در پایانمجموعه دادهپس از پاکسازی وکاهش ابعاد از روشPCAدر فایلHeartPCA.xlsx ذخیره می گردد.
این سه فایل به پیوست پایان نامه آورده شده است.
مدل سازی پروژه
در این پروژه از الگوریتم های دسته بندی برای مدل سازی مجموعه داده استفاده شده است و در پایان با مقایسه دقت مدل ها ، مدلی که بالاترین دقت را دارد انتخاب می شود . دسته بندی از جمله روش هایی است که در آن برای هر کدام از رکوردهای مجموعه داده مورد کاوش ، یک بر چسب که بیانگر حقیقتی در مسئله است ، وجود دارد این برچسب سبب می شود که هر الگوریتم دسته بندی یک الگوریتم با ناظر محسوب شود در روش های با ناظر ، الگوریتم ابتدا در مرحله آموزش مدلی را فرا می گیرد و سپس در مرحله ارزیابی ، کارایی مدل یاد گرفته شده بررسی می شود در ادامه انواع الگوریتم های دسته بندی که جهت مدل سازی در پروژه استفاده شده است آورده می شود.
درخت تصمیم :
درخت تصمیم یکی از مشهورترین و قدیمی ترین روش های ساخت مدل دسته بندی است در الگوریتم های دسته بندی مبتنی بر درخت تصمیم دانش خروجی به صورت یک درخت از حالات مختلف مقادیر ویژگی ها ارائه می شود.نمایش دانش به شکل درخت سبب شده است که دسته بندی های مبتنی بر درخت تصمیم کاملا” قابل تفسیر باشند.درحالت کلی درخت تصمیم رسم شده برای یک مجموعه داده آموزشی،واحد ویکتا نیست و بر اساس یک مجموعه داده درخت تصمیم های مختلفی می توان بدست آورد. لازم به ذکر است در یک درخت تصمیم انواع روش های شکست وجود دارد که به طور کلی می توان آنرا به دو روش شکست چند انشعابی و شکست دو انشعابی تقسیم کرد در شکست دو انشعابی هر گره درخت به حداکثر دو شاخه تقسیم می شود درصورتی که در شکست چند انشعابی یک گره درخت می تواند به بیش از دو شاخه نیز تقسیم شود حال در ساخت درخت تصمیم این سوال پیش می آید که چگونه بهترین شکست شناسایی شود در پاسخ به این سوال باید گفت شکستی که در آن توزیع دسته ها در گره های حاصل از آن همگن باشد نسبت به سایر شکست ها بهتر است منظور از همگن بوده گره این است که همه رکوردها ی موجود در آن متعلق به یک دسته خاص(lableخاص) باشند در واقع گره همگن گره ای است که کمترین میزان ناخالصی را داشته باشد انواع روش های محاسبه ناخالصی گره عبارتند از Gini Index و Entropyو…می باشند نرم افزار RapidMinerاین دو روش را پشتیبانی می کند برای محاسبهGini IndexوEntropy فرمولهای جداگانه ای وجود دارد و روش کار به این ترتیب است که موارد فوق را برای هر گره با هر چند انشعاب ممکن محاسبه کرده و آن تعداد انشعابی انتخاب می شود که Gini Indexیا Entropy آن کمتر باشد در آن صورت نا خالصی آن گره کمتر بوده و همگن تر است.
در اين پروژه درخت تصمیم در تابع Validationصدا زده شده استو همانطوریکه از شکل زير ملاحضه می شود سه تابع 1- Decision Tree برای ایجاد مدل درخت تصمیم 2-Apply Modelبرای به کارگیری مدل درخت تصمیم و 3-تابعperformance با فعال شدن پارامترهای recall, precision,accuracy وF_measureبه عنوان پارامترهای اندازه گیری دقت، همگي در تابع Validation صدا زده شده اند .
با توجه به برنامه Rapid Miner زیر سه مدل درخت تصمیم1- پس از پاکسازی و کاهش ابعاد داده از روش” انتخاب زیر مجموعه از ویژگی ها”2-پس از پاکسازی وکاهش ابعاد داده از روشPCA3-پس از حذف داده های پرت و جایگزین کردن داده های از دست رفته با مقدار میانگین(بدون کاهش ابعاد)، ایجاد شده است.
که برای نمونه یکی از درخت های تصمیم ایجاد شده بعد از حذف داده های پرت و جایگزین کردن داده های از دست رفته با مقدار میانگین در زیر نمایش داده شده است.
در زیر ماتریس درهم ریختگی مدل درخت تصمیم مجموعه داده بعد از پاکسازی و کاهش ابعاد از روش” انتخاب زیر مجموعه از ویژگی ها”با استفاده از نرم افزار Rapid Miner آورده شده است.(دقت برابر 34/76 درصد بدست آمده است)
ماتریس درهم ریختگی مدل درخت تصمیم مجموعه داده بعد از پاکسازی و کاهش ابعاد از روشPCAبا استفاده از نرم افزار Rapid Miner در زیرآورده شده است.(دقت برابر 79/59 درصد بدست آمده است)
ماتریس درهم ریختگی مدل درخت تصمیم مجموعه داده بعد از حذف داده های پرت و جایگزین کردن داده های از دست رفته با مقدار میانگین(بدون کاهش ابعاد)،با استفاده از نرم افزار Rapid Miner در ذیل آورده شده است(دقت برابر 23/74 درصد بدست آمده است).
بررسی ، مقایسه و تحلیل دقت کلیه مدل ها متعاقبا” انجام خواهد شد.
شبکه عصبی :
به مجموعه اي از واحدهاي ورودي و خروجي متصل به هم که هر کدام از اتصالات وزن دارند شبکه عصبي گفته مي شود در طول فاز آموزش، شبکه با تنظيم وزن هاي اتصالات سعي دارد با توجه به رکورد هاي ورودي ، پيش بيني درستي از lable آنها داشته و به درستي برچسب زني کند آموزش اين شبکه ها بسيار زمان بر است به عبارت ديگر شبکه هاي عصبي يکي از روش هاي ساخت مدل دسته بندي هستند که در آنها مدل ياد گرفته شده به صورت مجموعه اي از گره هاي به هم متصل به همراه ارتباطات وزن دار آنها نشان داده مي شود. به کمک شبکه هاي عصبي امکان مدل سازي يک تابع غير خطي که بردار ورودي را به مقدار اسمي نگاشت مي کند وجود دارد از شبکه عصبي به وفور براي طراحي دسته بندي هاي جعبه سياه استفاده مي شود منظور از به کارگيري عبارت جعبه سياه اين است که در دسته هاي مبتني بر شبکه هاي عصبي امکان تفسير دانش خروجي به هيچ وجه وجود ندارد به عبارت بهتر هرگز نمي توان دانش مستمر کشف شده در شبکه هاي عصبي را به صورت شفاف مشاهده نمود دقيقا” بر عکس دسته بندهاي مبتني بر درخت که روش کاملا” قابل تفسيري است
در اين پروژه تابعشبکه عصبيدر داخل تابع Validationصدا زده شده استو همانطوریکه در شکل زير مشاهده می شود چهار تابع1- Nominal To Numericalبرای تبديل داده هاي گسسته به داده هاي پيوسته که قبل ازمدل شبکه عصبي لازم است2- Neural networkبرای ایجاد مدل شبکه عصبي3-Apply Modelبرای به کارگیری مدل شبکه عصبي و 4-تابعperformanceبا فعال شدن پارامترهای recall, precision,AccuracyوF_measureبه عنوان پارامترهای اندازه گیری دقت، همگي در تابع Validationصدا زده شده اند .
سه مدل شبکه عصبي1- پس از پاکسازی و کاهش ابعاد داده از روش” انتخاب زیر مجموعه از ویژگی ها”2-پس از پاکسازی وکاهش ابعاد داده از روشPCA3-پس از حذف داده های پرت و جایگزین کردن داده های از دست رفته با مقدار میانگین(بدون کاهش ابعاد)، ساخته شده اند.
در زیر ماتریس درهم ریختگی مدل شبکه عصبي مجموعه داده بعد از پاکسازی و کاهش ابعاد از روش” انتخاب زیر مجموعه از ویژگی ها”با استفاده از نرم افزار Rapid Miner آورده شده است.(دقت برابر 30/75 درصد بدست آمده است)
ماتریس درهم ریختگی مدل شبکه عصبي مجموعه داده بعد از پاکسازی و کاهش ابعاد از روشPCA با استفاده از نرم افزار Rapid Miner در زیرآورده شده است.(دقت برابر 97/65درصد بدست آمده است)
ماتریس درهم ریختگی مدل شبکه عصبي مجموعه داده بعد از حذف داده های پرت و جایگزین کردن داده های از دست رفته با مقدار میانگین(بدون کاهش ابعاد)،با استفاده از نرم افزار Rapid Miner در ذیل آورده شده است(دقت برابر 92/62 درصد بدست آمده است).
ماشين بردار پشتيبان(support vector machine):
استفاده از بردارهاي پشتيبان خطي در مسائل دسته بندي ، رويکرد جديدي است که در چند ساله اخير مورد توجه بسياري قرار گرفته است . ماشين بردار پشتيبان در ابتدا توسط واپينک در سال 1990 طراحي شد و نظريه آماري يادگيري را به صورت مستحکمي بنا نهاد. در اين الگوريتم با فرض اینکه دسته ها بصورت خطی جداپذیر باشند، ابرصفحه هائی با حداکثر حاشیه را بدست می آورد که دسته ها را جدا کنند.در مسایلی که داده ها بصورت خطی جداپذیر نباشند داده ها به فضايی با ابعاد بیشتر نگاشت پیدا میکنند تا بتوان آنها را در این فضای جدید بصورت خطی جدا نمود.رويکرد svm به اين صورت است که در مرحله آموزش ، سعي دارد که مرز تصميم گيري را به گونه اي انتخاب نمايد که حداقل فاصله آن با هر يک از دسته هاي مورد نظر را بيشينه کند. اين نوع انتخاب باعث مي شود که تصميم گيري ما در عمل ، شرايط نويزي را به خوبي تحمل نموده و همچنين پاسخ دهي مناسبي داشته باشد اين نحوه انتخاب مرز بر اساس نقاطي به نام بردارهاي پشتيبان انجام مي شود.الگوريتم هاي مبتني بر ماشين هاي بردار پشتيبان الگوريتم هايي هستند که سعي مي کنند يک حاشيه را بيشينه کنند. اين الگوريتم ها براي پيدا کردن خط جدا کننده دسته ها ، از دو خط موازي شروع کرده و اين خطوط را در خلاف جهت يکديگر حرکت مي دهند تا هر کدام از خطوط به يک نمونه از يک دسته خاص در سمت خود برسد . پس از انجام اين مرحله ميان دو خط موازي يک نوار يا حاشيه شکل مي گيرد. هر چه پهناي اين نوار بيشتر باشد به اين معنا است که الگوريتم توانسته حاشيه را بيشينه کند و هدف نيز بيشينه نمودن اين حاشيه است در واقع هدف ما اين است که بيشترين مقدار ممکن براي اين حاشيه انتخاب شود در مرکز حاشيه، شکل خط جدا کننده دسته ها يا همان خط مرکزي قرار مي گيرد حال از بين خطوطي که رسم مي شوند الگوريتم خطي را که حاشيه کناري آن بيشترين باشد، به عنوان خط جدا کننده دستهها انتخاب مي کند هدف ماشين هاي بردار پشتيبان بيشينه نمودن حاشيه است. نزديکترين داده هاي آموزشي به ابر صفحه هاي جدا کننده،”بردار پشتيبان” ناميده مي شوند که در شکل زير نشان داده شده اند به طور خلاصه در مدل ماشين بردار پشتيبان از داده هاي آموزشي استفاده شده و معادله خط با بيشترين فاصله از دو مجموعه داده بدست مي آيد سپس مقدار داده هاي آزمايشي در معادله خط قرار مي گيرد اگر مقدار حاصل بزرگتر از 1باشد مدل دسته واقع در سمت چپ خط راپيش بيني مي شود و اگرمقدار حاصل کوچکتر از 1- باشد مدل دسته واقع در سمت راست خط را پيش بيني مي کند
در اين پروژه تابع svmدر داخل تابع Validationصدا زده مي شودو همانطوریکه در شکل زير مشاهده می شود چهار تابع 1- Nominal To Numericalبرای تبديل داده هاي گسسته به داده هاي پيوسته که قبل ازمدل svm لازم است2- تابع svmبرای ایجاد مدل ماشين بردار پشتيبان3-تابع ApplyModelبرای به کارگیری مدل svmو 4-تابعperformance با فعال شدن پارامترهای recall ,precision, Accuracy وF_measure
به عنوان پارامترهای اندازه گیری دقت، همگي در تابع Validationصدا زده شده اند .
سه مدل svm1- پس از پاکسازی و کاهش ابعاد داده از روش” انتخاب زیر مجموعه از ویژگی ها”2-پس از پاکسازی وکاهش ابعاد داده از روشPCA3-پس از حذف داده های پرت و جایگزین کردن داده های از دست رفته با مقدار میانگین(بدون کاهش ابعاد)، ساخته شده اند.
در زیر ماتریس درهم ریختگی مدل svm مجموعه داده بعد از پاکسازی و کاهش ابعاد از روش” انتخاب زیر مجموعه از ویژگی ها” با استفاده از نرم افزار Rapid Miner آورده شده است.(دقت برابر 01/73 درصد بدست آمده است)
ماتریس درهم ریختگی مدل svm مجموعه داده بعد از پاکسازی و کاهش ابعاد از روشPCA با استفاده از نرم افزار Rapid Miner در زیرآورده شده است.(دقت برابر 49/66 درصد بدست آمده است)
ماتریس درهم ریختگی مدل svmمجموعه داده بعد از حذف داده های پرت و جایگزین کردن داده های از دست رفته با مقدار میانگین(بدون کاهش ابعاد)،با استفاده از نرم افزار Rapid Miner در ذیل آورده شده است(دقت برابر 35/42 درصد بدست آمده است).
الگوریتم بیز ساده(Navi Bayes):
دسته بندی مبتنی بر رابطه نظریه بیز از یک چهارچوب احتمالات برای حل مسا ئل دسته بندی استفاده می کند.درنظریه بیز احتمالات شرطی زیر را داریم:
از دو رابطه فوق رابطهBayesاستخراج می شود.
یک رکورد مفروض با مجموعه ویژگی های را در نظر بگیرید هدف محاسبه دسته این رکورد است. در واقع از بین دسته های موجود به دنبال پیدا کردن دسته ای هستیم که مقدار را بیشینه کند.در نتیجه این احتمال را برای تمامی دسته های موجود محاسبه نموده و دسته ای که مقدار این احتمال به ازای آن بیشینه شود را به عنوان دسته رکورد جدید در نظر می گیریم. نحوه عملکرد این دسته بندی به صورت زیر می باشد ابتدا با استفاده از نظریه بیز احتمال
برای تمام دسته های موجود از رابطه زیر محاسبه می شود.
دسته ای که به ازای آن اندازه احتمالبیشینه می شود، انتخاب خواهد شد از آنجایی که مخرج رابطه فوق برای تمام دسته ها یکسان است،در نتیجه عملا” هدف پیدا کردن دسته ای است که صورت رابطه را بیشینه می کند. از طرفیبرابر با احتمال رخداددسته در میان مجموعه داده ها است که میزان آن را می توان به دست آورد.در نتیجه مقداری که باید به ازای هر دسته از روی مجموعه داده ها محاسبه شود ، مقدار رابطه است.نحوه محاسبه اگر ویژگی ها مستقل با شند در این صورت این رابطه به صورت زیر محاسبه می شود.
=
همچنین احتمال رخداد یک دسته بر اساس رابطه زیر محاسبه می شود:
در این رابطه و به ترتیب برابر با تعداد کل رکوردهای موجود و تعداد رکوردهای با برچسب دسته است احتمال برای ویژگی های گسسته بر اساس رابطه زیر محاسبه می شود:
در این رابطه برابر با تعداد رکوردهای متعلق به دسته است که مقدار ویژگی آنها با مقدار همین ویژگی از رکورد داده شده برابر باشد. برابر با تعداد رکوردهای متعلق به دسته است. لذا مقدار برای تمام دسته هامحاسبه شده و آنگاه مقادیر به دسته ای اختصاص می یابد که مقدار بیشتر شده باشد.
در اين پروژهNavi Bayes در تابع Validationصدا زده شده استو همانطوریکه از شکل زير ملاحضه می شود سه تابع 1- Navi Bayes برای ایجاد مدلبیز2-Apply Modelبرای به کارگیری مدل بیز و 3-تابعperformanceبا فعال شدن پارامترهای recall ,precision, accuracy وF_ measureبه عنوان پارامترهای اندازه گیری دقت، همگي در تابع Validation صدا زده شده اند .
سه مدل بیز 1- پس از پاکسازی و کاهش ابعاد داده از روش” انتخاب زیر مجموعه از ویژگی ها”2-پس از
پاکسازی وکاهش ابعاد داده از روشPCA3-پس از حذف داده های پرت و جایگزین کردن داده های از دست رفته با مقدار میانگین(بدون کاهش ابعاد)، ساخته شده اند.
در زیر ماتریس درهم ریختگی مدل بیز مجموعه داده بعد از پاکسازی و کاهش ابعاد از روش” انتخاب زیر مجموعه از ویژگی ها” با استفاده از نرم افزار Rapid Minerآورده شده است.(دقت برابر 82/81 درصد بدست آمده است)
ماتریس درهم ریختگی مدل بیز مجموعه داده بعد از پاکسازی و کاهش ابعاد از روشPCA با استفاده از نرم افزار Rapid Miner در زیرآورده شده است.(دقت برابر 08/65 درصد بدست آمده است)
ماتریس درهم ریختگی مدل بیز مجموعه داده بعد از حذف داده های پرت و جایگزین کردن داده های از دست رفته با مقدار میانگین(بدون کاهش ابعاد)،با استفاده از نرم افزار Rapid Minerدر ذیل آورده شده است(دقت برابر 29/81 درصد بدست آمده است).الگوریتمk نزديکترينهمسايه(K Nearest Neighbor):
هنگام تلاش برای حل مسائل جدید، افراد معمولاً به راهحل های مسائل مشابه که قبلاً حل شدهاند مراجعه می کنند. k نزدیکترین همسایه یک تکنیک کلاسه بندی است که از نسخهای از این متد استفاده می کند. در این روش تصمیمگیری اینکه یک نمونه جدید در کدام کلاس قرار گیرد با بررسی تعدادی k از شبیه ترین نمونه ها یا همسایهها انجام میشود. در بین این kنمونه، تعداد نمونه ها برای هر کلاس شمرده می شوند، و نمونه جدید به کلاسی که تعداد بیشتری از همسایهها به آن تعلق دارند نسبت داده میشود. شکل مقابل محدوده همسایگی نمونه Nرا نشان می دهد. در این محدوده، بیشتر همسایه ها در کلاسX قرار گرفته اند. اولین کار برای استفاده از KNNیافتن معیاری برای شباهت یا فاصله بین صفات در دادهها و محاسبه آن است. هنگامی که فاصله بین نمونه های مختلف را توانستیم اندازه بگیریم، میتوانیم مجموعه نمونه هایی که قبلاً دسته بندی شدهاند را به عنوان پایه دستهبندی نمونه های جدید استفاده کنیم.فاصله بين دو نمونه با استفاده از فاصله اقليدسي بصورت زير محاسبه مي شود.
KNNبار محاسباتی زیادی را روی کامپیوتر قرار میدهد زیرا زمان محاسبه بصورت فاکتوریلی از تمام نقاط افزایش مییابد. درحالی که بکاربردن درخت تصمیم یا شبکه عصبی برای یک نمونه جدید فرایند سریعی است، KNNنیاز به محاسبه جدیدی برای هر نمونه جدید دارد. برای افزایش سرعت KNNمعمولاً تمام دادهها در حافظه نگهداری میشوند. فهم مدلهای KNNهنگامی که تعداد متغیرهای پیشبینی کننده کم است بسیار ساده است. به طور خلاصه در دسته بندي هايKNN براي دسته بندي کردن يک رکورد با دسته نامشخص به صورت زير عمل مي شود. 1( فاصله رکورد جديد از همه رکوردهاي آموزشي محاسبه مي شود. 2(به تعداد K، نزديک ترين همسايه ها مشخص مي شوند. 3( از برچسب دسته متعلق به اين K نزديک ترين همسايه،براي پيش بيني دسته رکورد جديد استفاده مي شود. به اين صورت که بين K رکورد، دسته اي که بيشترين تعداد دفعات ديده شدن را در بين اين K رکورد دارا است،به عنوان دسته رکورد جديد در نظر گرفته خواهد شد.
در اين پروژه تابع KNNداخل تابع Validationصدا زده شده است و همانطوریکه از شکل زير ملاحضه می شود سه تابع 1-تابعKNN برای ایجاد مدلK نزديک ترين همسايه باKبرابر هشت2-Apply Modelبرایبه کارگیری مدل K نزديک ترين همسايه و 3-تابعperformance با فعال شدن پارامترهای recall, precision,AccuracyوF_measureبه عنوان پارامترهای اندازه گیری دقت، همگي در تابع Validation صدا زده شده اند .
سه مدلK نزديک ترين همسايه1- پس از پاکسازی و کاهش ابعاد داده از روش” انتخاب زیر مجموعه از ویژگی ها”2-پس از پاکسازی وکاهش ابعاد داده از روشPCA3-پس از حذف داده های پرت و جایگزین کردن داده های از دست رفته با مقدار میانگین(بدون کاهش ابعاد)، ساخته شده اند.
در زیر ماتریس درهم ریختگی مدل K نزديک ترينهمسايه مجموعه داده بعد از پاکسازی و کاهش ابعاد از روش” انتخاب زیر مجموعه از ویژگی ها” با استفاده از نرم افزارRapid Miner آورده شده است.(دقت برابر 02/79 درصد بدست آمده است)
ماتریس درهم ریختگی مدل K نزديک ترين همسايه مجموعه داده بعد از پاکسازی و کاهش ابعاد از روشPCA با استفاده از نرم افزار Rapid Miner در زیرآورده شده است.(دقت برابر 38/61 درصد بدست آمده است)
ماتریس درهم ریختگی مدل K نزديک ترين همسايه مجموعه داده بعد از حذف داده های پرت و جایگزین کردن داده های از دست رفته با مقدار میانگین(بدون کاهش ابعاد)،با استفاده از نرم افزار Rapid Miner در ذیل آورده شده است(دقت برابر 73/64 درصد بدست آمده است).
دسته بندی های مبتنی بر قانون(قاعده):
دسته بندی های مبتنی بر قانون ، دسته بندهایی هستند که دانش خروجی را به صورت یک مجموعه از قوانین “اگر – آنگاه” نشان می دهند. هر قانون یک بخش شرایط و یک بخش نتیجه دارد.این دو بخش به شکل گیری قانون کمک می کنند به عنوان مثال در زیر به یک نمونه قانون استخراج شده از مجموعه داده مورد بررسی اشاره دارد
یکی از روش ها برای استخراج یک مجموعه قانون، ساخت درخت تصمیم برای مجموعه داده های موجود و استخراج قوانین از درخت ساخته شده است مهم ترین ویژگی درخت تصمیم این است که در صورت انتخاب یک ویژگی به عنوان خصیصه گره درخت ، تمام حالت های امکان پذیر را برای آن ویژگی در نظر می گیرد و پوشش می دهد. در نتیجه اگر از یک درخت تصمیم یک مجموعه از قوانین را استخراج کنیم، اولا” این مجموعه قوانین تمامی حالت های ممکن از ویژگی ها را پوشش می دهد در نتیجه قوانین جامع خواهند بود. ثانیا” هیچ گونه تداخلی هم بین این مجموعه قوانین وجود نداردچون اگر تداخل داشت درخت دارای حلقه می شد و در واقع درخت تصمیم شکل نمی گرفت.
در اين پروژه تابع دسته بندی مبتنی بر قانون داخل تابع Validationصدا زده شده است و همانطوریکه از شکل زير ملاحضهمی شود سه تابع1-تابعrule inductionبرای ایجاد مدلدسته بندی مبتنی بر قانون2-ApplyModelبرایبه کارگیری مدل دسته بندی مبتنی بر قانونو 3-تابعperformance با فعال شدن پارامترهای recall, precision,AccuracyوF_measure به عنوان پارامترهای اندازه گیری دقت، همگي در تابع Validation صدا زده شده اند .
سه مدل دسته بندی مبتنی بر قانون1- پس از پاکسازی و کاهش ابعاد داده از روش” انتخاب زیر مجموعه از ویژگی ها”2-پس از پاکسازی وکاهش ابعاد داده از روشPCA3-پس از حذف داده های پرت و جایگزین کردن داده های از دست رفته با مقدار میانگین(بدون کاهش ابعاد)، ساخته شده اند.
در زیر ماتریس درهم ریختگی مدل دسته بندی مبتنی بر قانونمجموعه داده بعد از پاکسازی و کاهش ابعاد از روش” انتخاب زیر مجموعه از ویژگی ها” با استفاده از نرم افزار Rapid Miner آورده شده است.(دقت برابر 74/74 درصد بدست آمده است)
ماتریس درهم ریختگی مدل دسته بندی مبتنی بر قانون مجموعه داده بعد از پاکسازی و کاهش ابعاد از روشPCA با استفاده از نرم افزار Rapid Miner در زیرآورده شده است.(دقت برابر 73/58 درصد بدست آمده است)
ماتریس درهم ریختگی مدل دسته بندی مبتنی بر قانون مجموعه داده بعد از حذف داده های پرت و جایگزین کردن داده های از دست رفته با مقدار میانگین(بدون کاهش ابعاد)،با استفاده از نرم افزار RapidMiner در ذیل آورده شده است(دقت برابر 19/76 درصد بدست آمده است).
ارزیابی مدل های پروژه
“معیارهای ارزیابی” اندازه گیری شده، مربوط به کلیه مدل ها ی فوق در جدول ذیل آورده شده است.
مدل معیار | accuracy | precision | recall | f_measure |
درخت تصمیم(کاهش ابعاد از روش انتخاب زیر مجموعه ای از ویژگی ها) | 76/34 | 81/22 | 56/99 | 89/64 |
درخت تصمیم(کاهش ابعاد از روش PCA) | 59/79 | unknown | 0/00 | unknown |
درخت تصمیم(بدون کاهش ابعاد) | 74/23 | 75/48 | 56/95 | 63/64 |
شبکه عصبی(کاهش ابعاد از روش انتخاب زیر مجموعه ای از ویژگی ها) | 30/75 | 63/69 | 98/71 | 24/70 |
شبکه عصبی(کاهش ابعاد از روش PCA) | 79/65 | 87/61 | 08/46 | 40/51 |
شبکه عصبی(بدون کاهش ابعاد) | 92/62 | 28/58 | 98/80 | 92/63 |
ماشین بردار پشتیبان( (svm(کاهش ابعاد از روش انتخاب زیر مجموعه ای از ویژگی ها) | 01/73 | 54/85 | 32/40 | 13/54 |
ماشین بردار پشتیبان( (svm(کاهش ابعاد از روش PCA) | 49/66 | 85/62 | 03/42 | 89/49 |
ماشین بردار پشتیبان( (svm(بدون کاهش ابعاد) | 35/42 | 31/40 | 00/90 | 75/55 |
بیز ساده( (Navi Bayes(کاهش ابعاد از روش انتخاب زیر مجموعه ای از ویژگی ها) | 82/81 | 65/78 | 30/76 | 21/77 |
بیز ساده( (Navi Bayes(کاهش ابعاد از روش PCA) | 08/65 | 22/60 | 54/38 | 66/46 |
بیز ساده( (Navi Bayes(بدون کاهش ابعاد) | 29/81 | 17/77 | 15/77 | 86/76 |
K نزدیک ترین همسایه(کاهش ابعاد از روش انتخاب زیر مجموعه ای از ویژگی ها) | 02/79 | 01/84 | 84/58 | 85/68 |
K نزدیک ترین همسایه(کاهش ابعاد از روش PCA) | 38/61 | 42/53 | 47/35 | 46/42 |
K نزدیک ترین همسایه(بدون کاهش ابعاد) | 73/64 | 93/59 | 99/38 | 02/47 |
دسته بندی مبتنی بر قانون(کاهش ابعاد از روش انتخاب زیر مجموعه ای از ویژگی ها) | 74/74 | 78/81 | 25/49 | 57/60 |
دسته بندی مبتنی بر قانون(کاهش ابعاد از روش PCA) | 73/58 | 84/47 | 77/49 | 86/46 |
دسته بندی مبتنی بر قانون(بدون کاهش ابعاد) | 19/76 | 82/77 | 50/57 | 10/65 |
حال می خواهیم از جدول فوق استفاده کرده و دو مدل برتر را انتخاب کنیم. با توجه به تعریف معیارهای اندازه گیری که در ذیل آورده شده است نتیجه می گیریم کهمقادیر فرمول های Recallوprecision در فرمول F_measure وجود دارند لذا در انتخاب مدل های برتر به جای Recallوprecision از F_measureاستفاده می شود .
Recall(+)=
Precision(+) =
F_measure(+) =
سپس ا ز طریق مصور سازی داده ها، نموداردو متغییرF_measure و Accuracy راترسیم می کنیم . همان طوری که از شکل پایین مشاهده می شود سه نقطه بالا ، سمت راست نمودار، به عنوان مدل های برتر می باشندو از تکنیک های بهبود کارایی(Bagging ، BoostingوVote که در زیر توضیح داده شده است )استفاده می شود تا به توان این مدل ها را بهبود داد.
سه مدل زیر به عنوان مدل های برتر ارزیابی می شوند.
مدل معیار | accuracy | precision | recall | f_measure |
بیز ساده( (Navi Bayes(کاهش ابعاد از روش انتخاب زیر مجموعه ای از ویژگی ها) | 82/81 | 65/78 | 30/76 | 21/77 |
بیز ساده( (Navi Bayes(بدون کاهش ابعاد) | 29/81 | 17/77 | 15/77 | 86/76 |
K نزدیک ترین همسایه(کاهش ابعاد از روش انتخاب زیر مجموعه ای از ویژگی ها) | 02/79 | 01/84 | 84/58 | 85/68 |
بهبود کارايي تکنيک هاي دسته بندي
اجراي روش هاي دسته بندي مختلف بر روي داده هاي متفاوت نشان مي دهد که عملکرد اين روش ها يکسان نيست هر يک از آنها عملکرد مناسبي بر روي مجموعه داده خاصي از خود نشان مي دهند بنابر اين مي بايست با توجه به ماهيت داده ها و همچنين برنامه کاربردي خود، مدل هاي مختلف را از روي مجموعه داده استخراج کردهو سپس از تکنيک هاي بهبود کاراييجهت افزايش دقت مدل ها استفاده کردکه در اين پروژه از سهروش بهبود کارايي استفاده شده که در اينجا معرفي مي شوند.1-Bagging،2-Boostingو3-Vote
Bagging:
اصولاً میتوان از اين تکنیک به منظور افزايش دقت مدل هاي بکار گرفته شده در داده کاوي، از طریق نمونه برداري با جایگذاري از دادههاي آموزشی استفاده نمود. در این تکنیک فرض بر آنست که مجموعهداده هاي آموزشی نماینده جامعه تحت بررسی بوده و انواع حالات تحقق یافته جامعه را میتوان از این مجموعه داده شبیه سازی نمود. بنابراین با استفاده از دوباره نمونه گیری از مجموعه داده و به کارگیری آنها در مجموعه دادههای مختلف تنوع مورد نیاز حاصل خواهد شد و زمانی که یک نمونه جدید وارد هرکدام از مدل هايدسته بندي میشود، توافق اکثریتیپاسخ مدل هاي ساخته شده از اين مجموعه داده هابه عنوان خروجي به کار گرفته شدهو کلاس مورد نظر تشخیص داده مي شود.
Boosting:
در اين روش از يک الگوريتم تکرار شونده استفاده مي کند تا به طور تطبيقي، توزيع نمونه هاي آموزشي را تغيير دهد و در فرايند يادگيري بيشتر روي رکورد هايي که در مراحل قبلي به اشتباه دسته بندي شده اند تمرکز مي کند. در ابتدا به تمام رکوردهاي موجود يک وزن برابر نسبت داده مي شود در ايده Boosting در انتهاي هر مرحله ممکن است وزن نمونه ها تغيير کند. به اين صورت که وزن رکوردهايي که به اشتباه دسته بندي شده اند افزايش يافته و وزن رکوردهايي که به درستي دسته بندي شده اند کاهش مي يابد همچنين وزن رکوردهايي که مدل ساخته شده نتوانسته آنها را دسته بندي کند ثابت مي ماند. در اين صورت پس از گذشت مدتي ، دسته بندي ها براي يادگيري به سمت رکورد هايي مي روند که وزن بيشتري داشته باشند. يعني رکوردهايي که به اشتباه دسته بندي شده اند. چون اگر بر اساس اين رکوردها آموزش ببينند و مدل بسازند ارزش مدل ساخته شده افزايش مي يابد. اين فرايند ادامه مي يابد تا زماني که مجموع وزن رکوردها از آستانه اي مشخص کمتر شود، در اين وضعيت الگوريتم متوقف خواهد شد.
Vote:
ایده اصلی این عملگر انتخاب رأی اکثریت برای دسته بندی است . در واقع عملگر Vote دارای زیر پردازشی است که حاوی حداقل دو عملگر مدل سازی است. جهت تخمین برچسب یک نمونه جدید، هریک از مدل های موجود در زیر پردازش عملگر Vote برچسب کلاس پیشنهادی خود را به عنوان یک رأی انتخاب می کنند و در نهایت با شمارش آراء ، رأی اکثریت به عنوان بر چسب کلاس نمونه مورد نظر انتساب می شود. اغلب استفاده از این عملگر باعث افزایش قابل ملاحظه ای در مدل می شود و همچنین مدل در مواجهه با مجموعه داده های دارای نویز یا مقادیر مفقود شده نیز مقاوم تر خواهد شد.
ارزیابی نهایی
در مرحله اول مطابق شکل های زیر روی سه مدل برتر، تکنیک های Bagging و Boostingاجرا می شوند
نتیجه حاصل در جدول زیر آورده شده است. همان طوری که از جدول مشاهده می شود درمدل بیز ساده (کاهش ابعاداز روش انتخاب زیر مجموعه ای از ویژگی ها) با اجرای تکنیک های Bagging و Boostingدقتمدل هاافزایش می یابد.
در مدل بیز ساده (بدون کاهش ابعاد) اجرای تکنیک Baggingرویدقتبی تاثیر و اجرای تکنیک Boostingباعث کاهش دقت شده است.
در مدل Kنزدیک ترین همسایه (کاهش ابعاد از روش انتخاب زیر مجموعه ای از ویژگی ها) دقت مدل با اجرای تکنیک Bagging افزایشیافته و اجرای تکنیک Boosting باعث کاهش دقت شده است.
مدل معیار | accuracy | accuracybagging)) | accuracy (boosting) |
بیز ساده( (Navi Bayes(کاهش ابعاد از روش انتخاب زیر مجموعه ای از ویژگی ها) | 82/81 | 81/99 | 82/70 |
بیز ساده( (Navi Bayes(بدون کاهش ابعاد) | 29/81 | 81/29 | 81/12 |
K نزدیک ترین همسایه(کاهش ابعاد از روش انتخاب زیر مجموعه ای از ویژگی ها) | 02/79 | 80/25 | 79/01 |
در مرحله دوم دو مدل با دقت بالاتر را جهت انجام تکنیک Vote انتخاب می کنیم.
1-مدل بیز ساده (کاهش ابعاداز روش انتخاب زیر مجموعه ای از ویژگی ها) با اجرای تکنیک Boosting
2-مدل بیز ساده (کاهش ابعاداز روش انتخاب زیر مجموعه ای از ویژگی ها) با اجرای تکنیک Bagging
مطابق شکل زیر عملگر Voteرا روی دو مدل فوقاجرا می کنیم
طبق شکل زیر عملگر Voteباعث افزایش دقت نشده است(دقت برابر 55/64 درصد بدست آمده است).
لذا بهترین مدل برای مجموعه داده مورد بررسی بیز ساده (کاهش ابعاداز روش انتخاب زیر مجموعه ای از ویژگی ها) با اجرای تکنیک Boostingمی باشد.(با دقت 70/82 درصد)
استقرار مدل
در این قسمت می خواهیم از مدل برتری که در مرحله قبل بدست آمده، استفاده کرده و جهت پیش بینی متغیر هدف (بیماری قلبی) در یک مجموعه داده تستی از آن استفاده کنیم. بدین منظور ده رکورد از مجموعه داده اصلی را انتخاب کرده و اجازه می دهیم متغیر هدف آنها را، مدل برتر پیش بینی کند(تشخیص دهد). مجموعه داده تست در فایل heart data-test.xlsx به پیوست آورده شده و همانطور که از شکل زیر مشاهده می شود پنج رکورد آن، متغیر هدفc(lass) برابر صفر و پنج رکورد آن، متغیر هدف برابر یک دارند.
از برنامه Rapid Miner زیر استفاده کرده و متغیر هدف مجموعه داده تستی فوق را پیش بینی می کنیم .
مجموعه داده آموزشی در عملگر Read Excle و مجموعه داده تست در عملگرRead Excle(2) قراردارند.
نتیجه پیش بینی مدل در زیر آورده شده است.
با مقایسه دو فیلدc(lass) وpreciction(c)ملاحظه می گردد فقط یکی از متغیرها را مدل اشتباه پیش بینی کرده است یعنی 90 درصد مجموعه داده تست را مدل درست پیش بینی کرده است و با توجه به دقت مدل برتر ما که 70/82 درصد بود پیش بینی 90 درصد قابل توجیه می باشد.
خواهش میکنم متن کامل این پایانامه رو برای من ارسال کنید
با سلام و احترام
بسیار ممنون از اشتراک این مطلب به این مهمی و مفیدی
چگونه میتوانم متن کامل این پایان نامه را داشته باشم.
سایت
به دانشگاه نویسنده مراجعه فرمایید.