الگوریتم نایو بیز (Naive Bayes) با پایتون — راهنمای کاربردی
«نایو بیز» (Naive Bayes)، یک روش «دستهبندی» (Classification) بر پایه «قضیه بیز» (Bayes’ Theorem) است. این روش فرض میکند که بین «پیشبینها» (Predictors) استقلال وجود دارد. در واقع، یک دستهبندی نایو بیز فرض میکند که یک ویژگی در یک کلاس، نامرتبط به دیگر موارد است. به عنوان مثال، یک میوه را میتوان در نظر گرفت. این میوه اگر گرد، قرمز و دارای شش سانتیمتر قطر باشد سیب است. یک «دستهبند» (Classifier) نایو بیز چنین در نظر میگیرد که این مشخصهها به طور مستقل در احتمال سیب بودن میوه مشارکت دارند. این مساله حتی در صورت وابسته بودن ویژگیها به یکدیگر نیز صادق است.
برای هر مجموعه داده بزرگی، ساخت یک مدل نایو بیز آسان است. نه تنها این مدل بسیار ساده است، بلکه بهتر از بسیاری از روشهای پیچیده دستهبندی کار میکند. در ادامه، کد پیادهسازی این روش با «زبان برنامهنویسی پایتون» (Python Programming Language) ارائه شده است.
قطعه کد ۱:
>>> from sklearn.naive_bayes import GaussianNB
>>> from sklearn.naive_bayes import MultinomialNB
>>> from sklearn import datasets
>>> from sklearn.metrics import confusion_matrix
>>> from sklearn.model_selection import train_test_split
>>> iris=datasets.load_iris()
>>> x=iris.data
>>> y=iris.target
>>> x_train,x_test,y_train,y_test=train_test_split(x,y,test_size=0.3,random_state=0)
>>> gnb=GaussianNB()
>>> mnb=MultinomialNB()
>>> y_pred_gnb=gnb.fit(x_train,y_train).predict(x_test)
>>> cnf_matrix_gnb = confusion_matrix(y_test, y_pred_gnb)
>>> cnf_matrix_gnb
خروجی:
array([[16, 0, 0],
[ ۰, ۱۸, ۰],
[ ۰, ۰, ۱۱]], dtype=int64)
ورودی:
>>> y_pred_mnb = mnb.fit(x_train, y_train).predict(x_test)
>>> cnf_matrix_mnb = confusion_matrix(y_test, y_pred_mnb)
>>> cnf_matrix_mnb
خروجی:
array([[16, 0, 0],
[ ۰, ۰, ۱۸],
[ ۰, ۰, ۱۱]], dtype=int64)
اگر نوشته بالا برای شما مفید بوده است، آموزشهای زیر نیز به شما پیشنهاد میشوند:
- مجموعه آموزشهای آمار، احتمالات و دادهکاوی
- آموزش دادهکاوی یا Data Mining در متلب
- مجموعه آموزشهای یادگیری ماشین و بازشناسی الگو
- دادهکاوی (Data Mining) — از صفر تا صد
- یادگیری علم داده (Data Science) با پایتون — از صفر تا صد
- زبان برنامهنویسی پایتون (Python) — از صفر تا صد
مجموعه: آمار, داده کاوی, یادگیری ماشینی برچسب ها: Bayes’ Theorem, Naive Bayes, Naive Bayesian Classifier, تئوری بیز, دسته بندی نایو بیز, قضیه بیز, نایو بیز
خیلی خیلی ممنونم از شما، واقعا دنبال یه همچین آموزشی بودم
با سلام و احترام؛
صمیمانه از همراهی شما با مجله فرادرس و ارائه بازخورد سپاسگزاریم.
برای شما آرزوی سلامتی و موفقیت داریم.