把腿张开老子臊烂你多p视频软件,free性国产高清videos,av在线亚洲男人的天堂,hdsexvideos中国少妇,俄罗斯真人性做爰

會員中心 |  會員注冊  |  兼職信息發(fā)布    瀏覽手機(jī)版!    超值滿減    人工翻譯    英語IT服務(wù) 貧困兒童資助 | 留言板 | 設(shè)為首頁 | 加入收藏  繁體中文
當(dāng)前位置:首頁 > 機(jī)翻技術(shù) > 識別技術(shù) > 正文

使用Python進(jìn)行文本分類

發(fā)布時間: 2023-03-04 10:19:50   作者:etogether.net   來源: 網(wǎng)絡(luò)   瀏覽次數(shù):



我們將使用上述公式,對每個類計算該值,然后比較這兩個概率值的大小。如何計算呢?首先可以通過類別i(侮辱性留言或非侮辱性留言)中文檔數(shù)除以總的文檔數(shù)來計算概率p(ci)。接下來計算p(w|ci),這里就要用到樸素貝葉斯假設(shè)。如果將w展開為一個個獨立特征,那么就可以將上述概率寫作p(w0,w1,w2,wN|ci)。這里假設(shè)所有詞都互相獨立,該假設(shè)也稱作條件獨立性假設(shè),它意味著可以使用p(w0|ci)p(w1lci)p(w2lci)...p(wN|ci)來計算上述概率,這就極大地簡化了計算的過程。


該函數(shù)的偽代碼如下:


計算每個類別中的文檔數(shù)目

對每篇訓(xùn)練文檔:

      對每個類別:

            如果詞條出現(xiàn)文檔中→增加該詞條的計數(shù)值

            增加所有詞條的計數(shù)值

     對每個類別:

           對每個詞條:

                 將該詞條的數(shù)目除以總詞條數(shù)目得到條件概率

     返回每個類別的條件概率


我們利用下面的代碼來實現(xiàn)上述偽碼。打開文本編輯器,將這些代碼添加到bayes.py文件中。該函數(shù)使用了NumPy的一些函數(shù),故應(yīng)確保將from numpy import*語句添加到bayes.py文件的最前面。


程序清單1-2樸素貝葉斯分類器訓(xùn)練函數(shù)


圖6.png


代碼函數(shù)中的輸入?yún)?shù)為文檔矩陣trainMatrix,以及由每篇文檔類別標(biāo)簽所構(gòu)成的向量trainCategory。首先,計算文檔屬于侮辱性文檔(class=1)的概率,即p(1)。因為這是一個二類分類問題,所以可以通過1-P(1)得到P(0)。對于多于兩類的分類問題,則需要對代碼稍加修改。


計算p(wilc1)和p(wi|c0),需要初始化程序中的分子變量和分母變量①。由于w中元素如此眾多,因此可以使用NumPy數(shù)組快速計算這些值。上述程序中的分母變量是一個元素個數(shù)等于詞匯表大小的NumPy數(shù)組。在for循環(huán)中,要遍歷訓(xùn)練集trainMatrix中的所有文檔。一旦某個詞語(侮辱性或正常詞語)在某一文檔中出現(xiàn),則該詞對應(yīng)的個數(shù)(p1Num或者pONum)就加1,而且在所有的文檔中,該文檔的總詞數(shù)也相應(yīng)加1②。對于兩個類別都要進(jìn)行同樣的計算處理。


最后,對每個元素除以該類別中的總詞數(shù)③。利用NymPy可以很好實現(xiàn),用一個數(shù)組除以浮點數(shù)即可,若使用常規(guī)的Python列表則難以完成這種任務(wù),讀者可以自己嘗試一下。最后,函數(shù)會返回兩個向量和一個概率。


接下來試驗一下。將程序清單1-2中的代碼添加到bayes.py文件中,在Python提示符下輸入:


>>> from numpy import*

>>> reload(bayes)

>>> listOPosts, listClasses = bayes.loadDataSet ()


該語句從預(yù)先加載值中調(diào)入數(shù)據(jù)。


>>>myvocabList = bayes.createVocabList(listOPosts)


至此我們構(gòu)建了一個包含所有詞的列表myVocabList。


>>> trainMat=[ ]

>>> for postinDoc in listOPosts:

>>>trainMat.append (bayes.setOfWords2Vec (myVocabList, postinDoc))


該for循環(huán)使用詞向量來填充trainMat列表。下面給出屬于侮辱性文檔的概率以及兩個類別的概率向量。


>>> p0V,p1V,pAb=bayes.trainNB0 (trainMat,listClasses)



接下來看這些變量的內(nèi)部值:


>>> pAb

0.5


這就是任意文檔屬于侮辱性文檔的概率。


圖7.png


首先,我們發(fā)現(xiàn)文檔屬于侮辱類的概率pAb為0.5,該值是正確的。接下來,看一看在給定文檔類別條件下詞匯表中單詞的出現(xiàn)概率,看看是否正確。詞匯表中的第一個詞是cute,其在類別0中出現(xiàn)1次,而在類別1中從未出現(xiàn)。對應(yīng)的條件概率分別為0.04166667與0.0。該計算是正確的。我們找找所有概率中的最大值,該值出現(xiàn)在P(1)數(shù)組第21個下標(biāo)位置,大小為0.15789474。在myVocabList的第26個下標(biāo)位置上可以查到該單詞是stupid。這意味著stupid是最能表征類別1(侮辱性文檔類)的單詞。

使用該函數(shù)進(jìn)行分類之前,還需解決函數(shù)中的一些缺陷。



微信公眾號

[上一頁][1] [2] [3] [下一頁] 【歡迎大家踴躍評論】
  • 上一篇:基于最大間隔分隔數(shù)據(jù)
  • 下一篇:自然語言歧義的消除


  • 《譯聚網(wǎng)》倡導(dǎo)尊重與保護(hù)知識產(chǎn)權(quán)。如發(fā)現(xiàn)本站文章存在版權(quán)問題,煩請30天內(nèi)提供版權(quán)疑問、身份證明、版權(quán)證明、聯(lián)系方式等發(fā)郵件至info@qiqee.net,我們將及時溝通與處理。


我來說兩句
評論列表
已有 0 條評論(查看更多評論)