Machine Learning | (5) Scikit-learn的分類器算法-樸素貝葉斯

      網友投稿 1481 2025-03-31

      Machine Learning | 機器學習簡介

      Machine Learning | (1) Scikit-learn與特征工程

      Machine Learning | (2) sklearn數據集與機器學習組成

      Machine Learning | (3) Scikit-learn的分類器算法-k-近鄰

      Machine Learning | (4) Scikit-learn的分類器算法-邏輯回歸

      Machine Learning | (5) Scikit-learn的分類器算法-樸素貝葉斯

      樸素貝葉斯

      樸素貝葉斯(Naive Bayes)是一個非常簡單,但是實用性很強的分類模型。樸素貝葉斯分類器的構造基礎是貝葉斯理論。

      概率論基礎

      概率定義為一件事情發生的可能性。事情發生的概率可以 通過觀測數據中的事件發生次數來計算,事件發生的概率等于改事件發生次數除以所有事件發生的總次數。舉一些例子:

      扔出一個硬幣,結果頭像朝上

      某天是晴天

      某個單詞在未知文檔中出現

      我們將事件的概率記作P(X),那么假設這一事件為X屬于樣本空間中的一個類別,那么0≤P(X)≤1。

      聯合概率與條件概率

      聯合概率

      是指兩件事情同時發生的概率。那么我們假設樣本空間有一些天氣數據:

      是指兩件事情同時發生的概率。那么我們假設樣本空間有一些天氣數據:

      a = "life is short,i like python"

      b = "life is too long,i dislike python"

      c = "yes,i like python"

      label=[1,0,1]

      詞袋法的特征值計算

      若使用詞袋法,且以訓練集中的文本為詞匯表,即將訓練集中的文本中出現的單詞(不重復)都統計出來作為詞典,那么記單詞的數目為n,這代表了文本的n個維度。以上三個文本在這8個特征維度上的表示為:

      上面a',b'就是兩個文檔的詞向量的表現形式,對于貝葉斯公式,從label中我們可以得出兩個類別的概率為:

      P(c i =1)=0.5,P(c i =0)=0.5

      對于一個給定的文檔類別,每個單詞特征向量的概率是多少呢?

      提供一種TF計算方法,為類別y_ky k 每個單詞出現的次數N_iN i ,除以文檔類別y_ky k 中所有單詞出現次數的總數NN:

      P i = N /N i

      首先求出現總數,對于1類別文檔,在a'中,就可得出總數為1+1+1+1+1+1=6,c'中,總共1+1+1+1=4,故在1類別文檔中總共有10次

      Machine Learning | (5) Scikit-learn的分類器算法-樸素貝葉斯

      每個單詞出現總數,假設是兩個列表,a'+c'就能得出每個單詞出現次數,比如P(w=python)= 2 /10=0.20000000,同樣可以得到其它的單詞概率。最終結果如下:

      # 類別1文檔中的詞向量概率

      p1 = [0.10000000,0.10000000,0.20000000,0.10000000,0,0.20000000,0,0,0.20000000,0.10000000]

      # 類別0文檔中的詞向量概率

      p0 = [0.16666667,0.16666667,0.16666667,0,0.16666667,0,0.16666667,0.16666667,0.16666667,0]

      拉普拉斯平滑系數

      為了避免訓練集樣本對一些特征的缺失,即某一些特征出現的次數為0,在計算P(X 1 ,X 2 ,X 3 ,...,X n ∣Y i )的時候,各個概率相乘最終結果為零,這樣就會影響結果。我們需要對這個概率計算公式做一個平滑處理:

      P i = N+α?m / N i +α

      其中mm為特征詞向量的個數,\alphaα為平滑系數,當\alpha{=}1α=1,稱為拉普拉斯平滑

      sklearn.naive_bayes.MultinomialNB

      class sklearn.naive_bayes.MultinomialNB(alpha=1.0, fit_prior=True, class_prior=None)

      """

      :param alpha:float,optional(default = 1.0)加法(拉普拉斯/ Lidstone)平滑參數(0為無平滑)

      """

      互聯網新聞分類

      讀取20類新聞文本的數據細節

      from sklearn.datasets import fetch_20newsgroups

      news = fetch_20newsgroups(subset='all')

      print news.data[0]

      上述代碼得出該數據共有18846條新聞,但是這些文本數據既沒有被設定特征,也沒有數字化的亮度。因此,在交給樸素貝葉斯分類器學習之前,要對數據做進一步的處理。

      20類新聞文本數據分割

      from sklearn.cross_validation import train_test_split

      X_train,X_test,y_train,y_test = train_test_split(news.data,news.target,test_size=0.25,random_state=42)

      文本轉換為特征向量進行TF特征抽取

      from sklearn.feature_extraction.text import CountVectorizer

      vec = CountVectorizer()

      # 訓練數據輸入,并轉換為特征向量

      X_train = vec.fit_transform(X_train)

      # 測試數據轉換

      X_test = vec.transform(X_test)

      樸素貝葉斯分類器對文本數據進行類別預測

      from sklearn.naive_bayes import MultinomialNB

      # 使用平滑處理初始化的樸素貝葉斯模型

      mnb = MultinomialNB(alpha=1.0)

      # 利用訓練數據對模型參數進行估計

      mnb.fit(X_train,y_train)

      # 對測試驗本進行類別預測。結果存儲在變量y_predict中

      y_predict = mnb.predict(X_test)

      性能測試

      特點分析

      樸素貝葉斯模型被廣泛應用于海量互聯網文本分類任務。由于其較強的特征條件獨立假設,使得模型預測所需要估計的參數規模從冪指數量級想線性量級減少,極大的節約了內存消耗和計算時間。到那時,也正是受這種強假設的限制,模型訓練時無法將各個特征之間的聯系考量在內,使得該模型在其他數據特征關聯性較強的分類任務上的性能表現不佳

      參考資料

      Mac OS scikit-learn 機器學習 深度學習

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:對Word表格中的數據進行統計的方法(word文檔統計數據)
      下一篇:excel表格中如何實現行篩選?
      相關文章
      一本色道久久88亚洲精品综合| 777亚洲精品乱码久久久久久| 激情内射亚洲一区二区三区| 亚洲中文久久精品无码| 亚洲精品无码激情AV| 亚洲欧美日韩中文二区| 亚洲精品在线播放视频| 亚洲精品美女久久久久| 亚洲高清不卡视频| 亚洲视频一区在线观看| 自怕偷自怕亚洲精品| 亚洲第一页在线播放| 亚洲国产午夜精品理论片| 亚洲国产成人久久| 色偷偷女男人的天堂亚洲网 | 亚洲精品456在线播放| 亚洲国产品综合人成综合网站| 亚洲人成高清在线播放| 亚洲一区精彩视频| 亚洲色无码专区一区| 国产成人亚洲综合在线| 亚洲国产精品自产在线播放| 久久精品国产亚洲Aⅴ香蕉 | 国产精品久久亚洲不卡动漫| 亚洲综合色丁香婷婷六月图片| 久久久久久亚洲精品影院| 亚洲人成未满十八禁网站| 亚洲变态另类一区二区三区| 国产青草亚洲香蕉精品久久| 亚洲乱码中文字幕手机在线| 亚洲人成无码网站| 亚洲日本va午夜中文字幕一区| 亚洲精品亚洲人成在线观看麻豆| 亚洲专区一路线二| 亚洲精品久久久久无码AV片软件| 精品亚洲视频在线| 在线a亚洲v天堂网2019无码| 亚洲av无码一区二区三区不卡 | 亚洲第一中文字幕| 亚洲午夜精品国产电影在线观看| 在线观看亚洲AV日韩A∨|