機器學習實戰 樸素貝葉斯Python實現記錄

2021-08-28 10:17:14 字數 2009 閱讀 4895

屬於列印錯誤。

正確:     regex = re.compile('\w*')

regex = re.compile('\w*')
關於'\w' 和'\w'區別,可參考部落格:

正規表示式元字元的具體應用:

/fo+/ 因為上述正規表示式中包含「+」元字元,表示可以與目標物件中的 「fool」, 「fo」, 或者 「football」等在字母f後面連續出現乙個或多個字母o的字串相匹配。 

/eg*/ 因為上述正規表示式中包含「*」元字元,表示可以與目標物件中的 「easy」, 「ego」, 或者 「egg」等在字母e後面連續出現零個或多個字母g的字串相匹配。 

/wil?/ 因為上述正規表示式中包含「?」元字元,表示可以與目標物件中的 「win」, 或者「wilson」,等在字母i後面連續出現零個或乙個字母l的字串相匹配。

有時候不知道要匹配多少字元。為了能適應這種不確定性,正規表示式支援限定符的概念。這些限定符可以指定正規表示式的乙個給定元件必須要出現多少次才能滿足匹配。

n 是乙個非負整數。匹配確定的 n 次。例如,'o' 不能匹配 "bob" 中的 'o',但是能匹配 "food" 中的兩個 o。 

n 是乙個非負整數。至少匹配 n 次。例如,'o' 不能匹配 "bob" 中的 'o',但能匹配 "foooood" 中的所有 o。'o' 等價於 'o+'。'o' 則等價於 'o*'。 

m 和 n 均為非負整數,其中n <= m。最少匹配 n 次且最多匹配 m 次。例如,"o" 將匹配 "fooooood" 中的前三個 o。'o' 等價於 'o?'。請注意在逗號和兩個數之間不能有空格。 

除了元字元之外,使用者還可以精確指定模式在匹配物件中出現的頻率。例如,/jim / 上述正規表示式規定字元m可以在匹配物件中連續出現2-6次,因此,上述正規表示式可以同jimmy或jimmmmmy等字串相匹配。

在對如何使用正規表示式有了初步了解之後,我們來看一下其它幾個重要的元字元的使用方式。 

** \s:用於匹配單個空格符,包括tab鍵和換行符; 

\s:用於匹配除單個空格符之外的所有字元; 

\d:用於匹配從0到9的數字; 

\w:用於匹配字母,數字或下劃線字元; 

\w:用於匹配所有與\w不匹配的字元; 

. :用於匹配除換行符之外的所有字元。

(說明:我們可以把\s和\s以及\w和\w看作互為逆運算) 

下面,我們就通過例項看一下如何在正規表示式中使用上述元字元。 

/\s+/ 上述正規表示式可以用於匹配目標物件中的乙個或多個空格字元。 

/\d000/ 如果我們手中有乙份複雜的財務報表,那麼我們可以通過上述正規表示式輕而易舉的查詢到所有總額達千元的款項。 

除了我們以上所介紹的元字元之外,正規表示式中還具有另外一種較為獨特的專用字元,即定位符。定位符用於規定匹配模式在目標物件中的出現位置。 較為常用的定位符包括: 「^」, 「$」, 「\b」 以及 「\b」。

解決方案:簡單點.............把這個資料夾直接拖到python在c盤的安裝目錄裡。

至於目錄在**....

常用方法是:

開啟我們的cmd命令

輸入python

輸入 import sys

輸入 print(sys.path)

這種樣子

最簡單的方法!

開啟python的idle介面  點open ,基本上開啟的路徑就是python的預設路徑。

原因:python3.x   range返回的是range物件,不返回陣列物件

解決方法:

把 trainingset = range(50) 改為 trainingset = list(range(50))

解決辦法:開啟email\ham\23.txt,找到scifinance?,把?替換成空格即可。

第1種可能情況

list[index]index超出範圍,也就是常說的陣列越界

第2種可能情況

list是乙個空的 沒有乙個元素 

樸素貝葉斯 機器學習實戰

主要引用的是機器學習實戰中第四章的例子。該例子中將所有的詞當作乙個特徵。我們已知類別下相應特徵的概率,計算出乙個特徵下屬於不同類別的概率大小,然後選取較大的為此特徵的類別。import numpy as np def loaddataset postinglist my dog has flea p...

機器學習實戰之樸素貝葉斯

4.樸素貝葉斯的優缺點 優點 在資料較少的情況下仍然有效,可以處理多類別問題。缺點 對於輸入資料的準備方式較為敏感。適用資料型別 標稱型資料。5.使用python進行文字分類 5.1 準備資料 從文字中構建詞向量 我們將把文字看成單詞向量或者詞條向量。考慮出現在所有文件中的所有單詞,再決定將哪些詞納...

機器學習 樸素貝葉斯

樸素貝葉斯原理 1.貝葉斯公式 2.樸素貝葉斯的模型 3.後驗概率最大化的含義 4.樸素貝葉斯的引數估計 4.1.特徵是離散值 假設符合多項式分布 4.2.特徵是稀疏的離散值 假設符合伯努利分布 4.3.特徵是連續值 假設符合正態分佈 5.樸素貝葉斯演算法過程 6.樸素貝葉斯演算法小結 scikit...