1. 程式人生 > >python機器學習0基礎到入門的心得----入門篇3 樸素貝葉斯

python機器學習0基礎到入門的心得----入門篇3 樸素貝葉斯

什麼是樸素貝葉斯

  • 整個形式只做最原始, 最簡單的假設
  • 上一章要求分類器做出多數表決, 給出該樣本到底屬於哪一類, 不過分類器有時會產生錯誤結果, 這時候可以要求分類器給出一個最優的類別猜測結果, 也就是選擇高概率的決策結果, 同時給出這個猜測的概率是多少

本章節程式碼

優點:

  1. 資料較少的情況仍然有效, 可以處理多類別問題
  2. 分類準確率高, 速度快
  3. 對缺失資料不敏感, 常用語文字分類

缺點:

  1. 對於輸入資料的方式比較敏感, 也就是說所有條件都相互獨立, 需要知道先驗概率(即每個詞出現的次數)

適用資料型別: 標稱型

術語

一個特徵需要N個樣本, 10個特徵需要1000樣本, 如果特徵之間相互獨立, 樣本就可以減少到1000*N, 獨立指的是統計意義上的獨立, 即一個特徵或單詞出現的可能性和其他單詞相鄰沒有關係, 舉個例子, bacon出現在unhealthy附近,而很少出現在unhealthy附近, 這個假設正式樸素貝葉斯分類器中’樸素’一詞的含義, 另一個假設是, 每個特徵同等重要(不考慮詞在文件中出現的次數, 只考慮出不出現, 這個意義上相當於假設詞是等權重的), 這個假設也有一些問題, 如果要判斷留言板的留言是否得當, 那麼可能不需要看完全部的單詞, 只需要看10~20個特徵就足以判斷, 上述假設有一些小問瑕疵, 但樸素貝葉斯實際效果很好

詞集模型: 將每個詞的出現與否作為一個特徵, 每個詞只能出現一次, 這可以被描述為詞集模型

詞袋模型: 如果一個詞在文件中出現不止一次, 這可能意味著 包含 該詞 是否出現在 文件中 所不能表達的 某種資訊, 在詞袋中, 每個單詞可以出現多次

留存交叉驗證: 隨機選擇資料的一部分作為測試集, 而剩餘部分作為訓練集的過程稱為留存交叉驗證

停用詞表: 不僅移除高頻詞, 同時從某個預訂詞表中移除結構上的輔助詞

本人歸納:

  • 準備資料, 進行文字特徵抽取
  • 計算文字出現次數的向量
  • 計算類別概率
    • 這裡寫圖片描述
    • 這裡寫圖片描述
  • 計算文件裡面每個字的出現的頻率, 在累加所有詞的概率, 在加上類別概率的ln, 最後哪個類別的概率大,選哪個
  • 計算大的類別概率,很大程度取決於各個類別文字出現的頻率, 出現的次數越多, 越偏向於出現次數最多的類別