کد متلب Naive Bayes classifier
در این کار ما میخواهیم داده های موجود در دیتاست iris را با استفاده از کلاسیفایر Naive Bayes classifier دسته بندی کنیم
همینطور که میدانیم دیتاست iris تعداد 150 نمونه دارد که هر نمونه ان 4 ویژگی دارد و 150 نمونه متعلق به سه دسته می باشند که در هر دسته نیز 50 نمونه قرار گرفته است.
تئوری بیز:
- سنگ بنای یادگیری بیزی را تئوری بیز تشکیل میدهد. این تئوری امکان محاسبه احتمال ثانویه را بر مبنای احتمالات اولیه میدهد:
- در مسایلی که مجموعه ای از فرضیه های H وجود داشته و بخواهیم محتملترین فرضیه را از میان آنان انتخاب بکنیم، فرضیه با حداکثر احتمال Maximum A Posteriori (MAP) hypothesis نامیده میشود و از رابطه زیر بدست می آید.
- در مورد مسائل طبقه بندی، در واقع ما کلاسی را انتخاب میکنیم که بیشترین احتمال را بین همه کلاسها داشته باشد:
رابطه فوق را میتوان بصورت زیر بازنویسی کرد:
که y^ کلاس پیش بینی شده خواهد بود
بنابراین روال کار به صورت زیر خواهد بود:
الف- داده های دیتاست iris را لود میکنیم
ب- داده های اموزش و تست را مشخص میکنیم . برای این کار ما 80 درصد از داده ها را بصورت تصادف انتخاب کرده و انها را به عنوان داده اموزش در نظر میگیرم و 20 درصد باقیمانده را بعنوان داده های تست در نظر میگیرم
ج- برای اینکه بتوانیم داده های تست را با استفاده از کلاسیفایر naïve Bayes طبقه بندی کنیم مراحل زیر را انجام میدهیم
- احتمال اولیه (Priori) هر یک از کلاس ها را محاسبه میکنیم
- مقدار Likelihood را برای هر یک از کلاس های محاسبه میکنیم
- برای محاسبه Likelihood ، ابتدا داده های متعلق به هر کلاس را مشخص میکنم
- میانگین و انحراف معیار را برای هر یک از ویژگیها را مشخص میکنیم
- به ازای هر ویژگی ، احتمال ویژگی به شرط ان کلاس را محاسبه میکنیم
- احتمالات محاسبه شده را در هم ضرب میکنیم:
- به ازای هر داده تست، احتمال پسین (Posterior) هر یک از کلاس ها را محاسبه میکنیم
- به ازای هر داده تست، هر کلاسی که احتمال Posterior بیشتری داشته باشد را بعنوان کلاس آن داده در نظر میگیرم.
- کلاس پیش بینی شده و کلاس واقعی داده تست را مقایسه کرده و دقت کار را محاسبه میکنیم.
برای دریافت کد متلب کلاسیفای دیتای iris با nave bayes از بخش زیر اقدام کرده و بصورت انلاین کد را خریداری و دانلود نمایید.بهمراه کد یک فایل توضیحات کامل کد نیز موجود می باشد.
[parspalpaiddownloads id=”82″]
ایمیل ما :matlab24ir@gmail.com و یا info@matlab24.ir
با سلا و خسته نباشید. برای هر داده ای قابل اجرا است. یا فقط دیتاست خاصی را می پذیرد؟
سلام. وقت بخیر. کد با دیتای iris نوشته شده است اما با مقداری تغییر میتونید اون رو برای دیتای خودتون اصلاح کنید یا اینکه دیتای خودتون رو ارسال کنید تا تغییرات را اعمال کنیم.
باسلام ، آیا کد مورد نظر به ازای هر خط کد توضیح هم دارد ؟ یعنی فایل آموزش داره ؟
سلام ، بله ، توضحات خط به خط کد در کنار کد موجود هست.