الگوریتم Naive Bayes
الگوریتم naive bayes، یک روش دستهبندی (Classification) بر پایه قضیه بیز (Bayes’ Theorem) است. این روش فرض میکند که بین پیشبینها (Predictors) استقلال وجود دارد.
الگوریتم Naive Bayes
در واقع، یک دستهبندی نایو بیز فرض میکند که یک ویژگی در یک کلاس، نامرتبط به دیگر موارد است. به عنوان مثال یک میوه را میتوان در نظر گرفت. این میوه اگر گرد، قرمز و دارای شش سانتیمتر قطر باشد سیب است. یک دستهبند (Classifier) نایو بیز چنین در نظر میگیرد که این مشخصهها به طور مستقل در احتمال سیب بودن میوه مشارکت دارند. این مساله حتی در صورت وابسته بودن ویژگیها به یکدیگر نیز صادق است. برای هر مجموعه داده بزرگی، ساخت یک مدل نایو بیز آسان است. نه تنها این مدل بسیار ساده است، بلکه بهتر از بسیاری از روشهای پیچیده دستهبندی کار میکند.
برای پیادهسازی این الگوریتم در پایتون از دستورات زیر استفاده میکنیم:
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)
در ارتباط با شاخههای مختلف هوش مصنوعی در این لینک بیشتر بخوانید.
ارسال پاسخ