【正文】
果的混淆矩陣表示(2)KNN算法實現在java編程實現中,包含兩大類:文檔向量計算類()和KNN算法實現類()。分別如圖5和圖6所示:圖5:文檔向量計算類Java代碼注解:1)計算IDF非常耗時,3萬多個詞的屬性詞典初步估計需要25個小時;2)可以先嘗試所有詞的IDF都設成1的情況。圖6:KNN分類器主類Java代碼注解:1)用TreeMapString,TreeMapString,Double保存測試集和訓練集;2)注意要以類目_文件名作為每個文件的key,才能避免同名不同內容的文件出現;3)注意設置JM參數,否則會出現JAVA heap溢出錯誤;4)本程序用向量夾角余弦計算相似度。 KNN算法的分類結果(混淆矩陣)如圖7所示:圖7:KNN分類器的分類結果表示 實驗結果分析(1)貝葉斯分類結果與分析由不同的特征提取策略,可得貝葉斯分類器結果如下:方法一:取所有詞作為特征詞,共87554個。做10次交叉驗證實驗,%,用時23min,第6次實驗準確率超過80%;方法二:取出現次數大于等于4次的詞作為特征詞,共計30095個。做 10次交叉驗證實驗,%,用時22min,第6次實驗準確率超過80% 。結論:樸素貝葉斯算法不必去除出現次數很低的詞,因為出現次數很低的詞的IDF比較大,去除后分類準確率下降,而計算時間并沒有顯著減少。(2)KNN分類結果與分析由于KNN分類算法的復雜度較高,若選取所有詞作為特征詞進行分類實驗,則所需時間較長,為了適當提高分類效率,考慮提取出現次數不小于4次的詞作為特征詞,分類結果如下: 取出現次數大于等于4次的詞共計30095個作為特征詞: %,用時1h55min,其中有3次實驗準確率超過80%。(3)兩種分類算法的性能比較在相同的硬件環(huán)境下,貝葉斯分類算法和KNN分類算法經比較,可知:在分類準確率方面,KNN算法更優(yōu);在分類速度方面,樸素貝葉斯算法更優(yōu)。結論本文首先對文本分類的相關技術做了詳細的介紹,然后針對文本分類系統(tǒng)中的特征提取過程和算法進行了進一步的研究與探討。對特征降維模塊中常用的特征提取方法,如文檔頻率(DF)、信息增益(IG)、互信息(MI)、分布、TFIDF,進行了系統(tǒng)的理論概述;對常用的分類算法(如樸素貝葉斯算法、KNN算法和支持向量(SVM))的原理進行了詳細的描述。最后通過采用Newsgroups18828數據源以及java軟件環(huán)境搭建文本自動分類的實驗平臺,證明了文檔頻率(DF)和TFIDF特征提取方法的有效性,并對樸素貝葉斯分類算法和KNN分類算法的實驗結果進行比較,得出結論:在分類準確率方面,KNN算法更優(yōu);在分類速度方面,樸素貝葉斯算法更優(yōu)。本文存在的不足之處是并未驗證信息增益(IG)、互信息(MI)、分布等特征提取方法在文本分類中的有效性,對上述特征提取方法的對分類結果的影響也并未做出比較。因此,我的下一步任務就是驗證上述特征提取方法在文本分類中的實效性,并對相應的分類結果作出比較,從而找出一種高效的文本特征提取方法。參考文獻[1]Mark Graven,Dan Dipasquo,Daven Freitag Learning to Construct Knowledge Bases from the World Wide Web[J]Artificial Intelligence 2000,118(12):69113[2][D].吉林:[3]Sebastiani Learning In Automated Text Categorization[C].ACM Computing Surveys,2002,34(1):147[4]劉健,[J].,44(10):135137[5]范小麗,[J].,46(34):123125[6][D].重慶:[7]. Liand . Jain Classification of text document[J]The puter Joural,141(8):537546,1998[8]臺德藝,基于特征權重算法的文本分類研究[D].合肥:合肥工業(yè)大學,2007[9]張小莉,基于信息增益的中文特征提取算法研究[D].重慶:重慶大學,2008[10]蔣健,文本分類中特征提取和特征加權方法研究[D].重慶:重慶大學,2010[11],Text catagorization with support vector machines:learning with many relevant features in proceedings of ECML98 10th European Conference on Machine ,1998第12頁共12頁