دسته‌ بند بیز ساده در پایتون (Naïve Bayes)

در این جلسه تیم کدگیت را با آموزش دسته‌ بند بیز ساده در پایتون همراهی کنید. ابتدای این جلسه دسته‌بند بیز ساده را توضیح داده و سپس به پیاده سازی این الگوریتم (به کمک دیتاست Social network ads و کتابخانه sklearn) در پایتون می‌پردازیم. پیشنهاد می‌کنیم پیش از مطالعه این جلسه، آموزش‌های زیر را مرور کنید:

بیز ساده

دسته‌بند بیز ساده یک الگوریتم دسته‌بندی (Classification) بر اساس تئوری بیز می‌باشد. به زبان ساده ، این الگوریتم فرض می کند که وجود یک ویژگی خاص در یک کلاس با ویژگی دیگر ارتباطی ندارد.

به عنوان مثال، میوه ای اگر قرمز، گرد و قطر حدود 8 سانتی‌متر باشد، ممکن است یک سیب در نظر گرفته شود. حتی اگر این ویژگی ها به یکدیگر یا وجود ویژگی های دیگر بستگی داشته باشند، همه این خصوصیات به طور مستقل در احتمال سیب بودن این میوه نقش دارند و به همین دلیل به “naive” معروف است (naive به معنی ساده لوح می‌باشد).

ساخت مدل Naive Bayes به ویژه برای داده‌های بسیار بزرگ آسان است. همراه با سادگی، Naive Bayes از بسیاری الگوریتم‌ها عملکرد بهتری دارد.

دسته‌ بند بیز ساده در پایتون

برای پیاده سازی بیز ساده ابتدا دیتاست خود را وارد برنامه می‌کنیم.

دیتاست

برای پیاده سازی بیز ساده ما از دیتاست زیر استفاده می‌کنیم(دانلود دیتاست). در این دیتاست افرادی که با استفاده از تبلیغات آنلاین اقدام به خرید کرده‌اند، دسته‌بندی شده‌اند.

دسته‌ بند بیز ساده در پایتون

این دیتاست شامل پنج ستون می‌شود:

  • ستون اول یک کد برای کاربران است.
  • ستون دوم جنسیت کاربر است.
  • ستون سوم سن کاربر است.
  • ستون چهارم میزان حقوق دریافتی می‌باشد. مقدار این ستون تقریبی است و دقیق نمی‌باشد.
  • مقادیر ستون پنجم صفر (0) و یک (1) می‌باشد. در صورت خرید کاربر مقدار این ستون 1 می‌شود. در غیر این صورت مقدار این ستون صفر است.
بیشتر بخوانید:  مرتب سازی ادغامی در پایتون (Merge Sort)

به کمک دیتاست فوق و الگوریتم naïve Bayes ما می‌خواهیم پیش‌بینی کنیم که کاربران ما با توجه به سن و حقوق دریافتی اقدام به خرید آنلاین خواهند کرد یا خیر.

پیش‌پردازش

در گام اول دیتاست خود را وارد برنامه می‌کنیم همچنین کتابخانه‌های مورد نیاز خود را فراخوانی می‌کنیم:

حال نوبت به بررسی دیتاست به کمک توابع info و describe رسیده است:

خروجی توابع بالا به صورت زیر است (خروجی ها به ترتیب است):

دسته‌ بند بیز ساده در پایتون

بر اساس توابع بالا دیتاست ما شامل 400 سطر بوده و مقدار Null در دیتا نمی‌باشد. مقادیر X و Y دیتا را مشخص می‌کنیم:

بیشتر بخوانید:  لیست در پایتون و کار با آنها (List in Python)

  پیاده سازی بیز ساده در پایتون

دیتا را به دو قسمت test و train تقسیم می‌کنیم.

حال دسته‌بند بیز ساده در پایتون را به کمک کتابخانه sklearn پیاده سازی می‌کنیم:

برای ارزیابی خطا الگوریتم خود کد زیر را می‌زنیم:

خروجی کد بالا برابر با 0.9 است نتیجه مناسبی است. برای تغییر در نتیجه شما می‌توانید دیتاها را نرمال کنید و یا الگوریتم‌های مانند svm را با naïve Bayes مقایسه کنید.

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

    پسورد: www.codegate.ir

    2 c دیدگاه

    دیدگاهتان را بنویسید

    نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *