从零开始的AI·朴素贝叶斯?拿来吧你(附实例代码)
生活随笔
收集整理的這篇文章主要介紹了
从零开始的AI·朴素贝叶斯?拿来吧你(附实例代码)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
從零開始的AI系列
- 從零開始的AI·機器學習の基本概念
- 從零開始的AI·吃透kNN算法,學完我悟了(附實例代碼)
- 從零開始的AI·決策樹原來這么好理解(附實例代碼)
文章目錄
- 從零開始的AI系列
- 前言
- 一、權衡利弊
- 二、整體感知
- 三、理論基礎
- 四、具體實現過程及細節
前言
本文理論部分基于Peter Harrington的《機器學習實戰》一書
樸素貝葉斯算法(Naive Bayesian algorithm) 是應用最為廣泛的分類算法之一。 樸素貝葉斯方法是在貝葉斯算法的基礎上進行了相應的簡化,即假定給定目標值時屬性之間相互條件獨立。也就是說沒有哪個屬性變量對于決策結果來說占有著較大的比重,也沒有哪個屬性變量對于決策結果占有著較小的比重。雖然這個簡化方式在一定程度上降低了貝葉斯分類算法的分類效果,但是在實際的應用場景中,極大地簡化了貝葉斯方法的復雜性。
如果覺得AI學習枯燥,可以選擇看一下這個老哥做的網站,趣味性直接拉滿>>人工智能教程
一、權衡利弊
- 優點:在數據較少的情況下仍然有效,可以處理多類別問題
- 缺點:對于輸入數據的準備方式較為敏感
- 數據類型:標稱型數據
- 應用:文本分類,垃圾郵件的分類,信用評估,釣魚網站檢測
二、整體感知
有兩百名學生,情況如下
| 男 | 100 | 0 |
| 女 | 50 | 50 |
從遠處又來了一名穿長褲的學生,僅從穿著判斷該學生是男是女
首先計算出穿長褲且是男生的概率為100/150=2/3
其次計算出穿長褲且是女生的概率為50/150=1/3
2/3>1/3,因此我們估計該學生為男生
三、理論基礎
- 先驗概率:通過已知的數據計算出的概率。如“貝葉死”的發病率是萬分之一
- 后驗概率:根據當前已知的信息,去預測,所得出的概率。如某人患有“貝葉死”,患病原因可能是 A、B 或 C。則由于A而患病的概率即后驗概率。它是屬于條件概率的一種。
- 貝葉斯理論
p(c1|x, y) 意義為給定某個由x、y表示的數據點,那么該數據點來自類別c1的概率是多少? - 基本思想:先通過樣本獲取先驗概率,再通過貝葉斯的相關公式計算后驗概率,比較后驗概率,最大的為分類的結果
四、具體實現過程及細節
#讀取數據 import pandas as pd skin=pd.read_csv(r'train.csv') skin.z.value_counts() #劃分數據集 from sklearn import model_selection X_train, X_test, Y_train, Y_test =model_selection.train_test_split(skin.iloc[:,:2],skin.z,test_size=0.25,random_state=1234) #使用高斯分類器進行預測 from sklearn import naive_bayes gnb=naive_bayes.GaussianNB() gnb.fit(X_train,Y_train) gnb_pred =gnb.predict(X_test) pd.Series(gnb_pred).value_counts() #構造混淆矩陣并得出準確率 from sklearn import metrics cm=pd.crosstab(gnb_pred,Y_test) print('準確率為\n',metrics.accuracy_score(Y_test,gnb_pred))總結
以上是生活随笔為你收集整理的从零开始的AI·朴素贝叶斯?拿来吧你(附实例代码)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 从零开始的AI·吃透kNN算法,学完我悟
- 下一篇: 从零开始的AI·决策树原来这么好理解(附