數(shù)據(jù)倉庫與及數(shù)據(jù)挖掘文本分類實驗報告_第1頁
數(shù)據(jù)倉庫與及數(shù)據(jù)挖掘文本分類實驗報告_第2頁
數(shù)據(jù)倉庫與及數(shù)據(jù)挖掘文本分類實驗報告_第3頁
數(shù)據(jù)倉庫與及數(shù)據(jù)挖掘文本分類實驗報告_第4頁
數(shù)據(jù)倉庫與及數(shù)據(jù)挖掘文本分類實驗報告_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

2015-2016學(xué)年第1學(xué)期實驗報告課程名稱:數(shù)據(jù)倉庫與及數(shù)據(jù)挖掘?qū)嶒灻Q:文本的分類實驗完成人:姓名:學(xué)號:日期:2015年12月實驗一:文本的分類實驗?zāi)康恼莆諗?shù)據(jù)預(yù)處理的方法,對訓(xùn)練集數(shù)據(jù)進(jìn)行預(yù)處理;掌握文本建模的方法,對語料庫的文檔進(jìn)行建模;掌握分類算法的原理,基于有監(jiān)督的機器學(xué)習(xí)方法,訓(xùn)練文本分類器;利用學(xué)習(xí)的文本分類器,對未知文本進(jìn)行分類判別;掌握評價分類器性能的評估方法實驗分工獨立完成實驗環(huán)境基于Windows平臺,使用eclipse開發(fā)。主要設(shè)計思想實驗工具介紹Eclipse:一個開放源代碼的/基于Java的可擴展開發(fā)平臺。就其本身而言,它只是一個框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境。Eclipse最早是由IBM開發(fā)的,后來IBM將Eclipse作為一個開放源代碼的項目發(fā)布?,F(xiàn)在Eclipse在協(xié)會的管理與指導(dǎo)下開發(fā)。特征提取與表達(dá)方法的設(shè)計在此次實驗中,我考慮了CHI特征提取的方法來建立數(shù)據(jù)字典。詳細(xì)步驟見5.3描述。根據(jù)CHI特征提取,最終建立成數(shù)據(jù)字典,數(shù)據(jù)字典記錄在目錄E:\DataMiningSample\docVector下的allDicWordCountMap.txt文檔中。最終的特征向量表達(dá)方式為:文檔類別標(biāo)識_單詞詞頻。如:alt.atheism_abstact1.0。其中alt.atheism為此文本所屬的類別,abstact為對應(yīng)的單詞,1.0為該單詞的詞頻數(shù)。分類算法的選擇本次實驗使用的是樸素貝葉斯分類算法,樸素貝葉斯法是基于貝葉斯定理與特征條件獨立假設(shè)的分類方法。樸素貝葉斯分類器基于一個簡單的假定:給定目標(biāo)值時屬性之間相互條件獨立。即:樸素貝葉斯模型:屬于V集合,其中Vmap是給定一個example得到的最可能的目標(biāo)值,a1…an是這個example里面的屬性。這里面,Vmap目標(biāo)值就是后面計算得出的概率最大的一個,所以用max來表示。貝葉斯公式應(yīng)用到中可得到,又因為樸素貝葉斯分類器默認(rèn)a1…an他們互相獨立,所以對于結(jié)果沒有用處。因為所有的概率都要出同一個東西之后再比較大小,對最后結(jié)果沒有影響??傻玫?。盡管是帶著這些樸素思想和過于簡單化的假設(shè),但樸素貝葉斯分類器在很多復(fù)雜的現(xiàn)實情形中仍能夠取得相當(dāng)好的效果。2004年,一篇分析貝葉斯分類器問題的文章揭示了樸素貝葉斯分類器取得看上去不可思議的分類效果的若干理論上的原因。盡管如此,2006年有一篇文章詳細(xì)比較了各種分類方法,發(fā)現(xiàn)更新的方法(如boostedtrees和隨機森林)的性能超過了貝葉斯分類器。樸素貝葉斯分類器的一個優(yōu)勢在于只需要根據(jù)少量的訓(xùn)練數(shù)據(jù)估計出必要的參數(shù)(變量的均值和方差)。由于變量獨立假設(shè),只需要估計各個變量的方法,而不需要確定整個協(xié)方差矩陣。性能評估方法本次實驗我使用了準(zhǔn)確率(P),召回率(R)和F1-Score來評價分類結(jié)果。下面通過表4.1具體解釋一下這三種性能評估方法的計算公式。表4.1預(yù)測結(jié)果和實際情況0-1狀態(tài)圖實際情況1代表真實情況此類,0表示不屬于預(yù)測結(jié)果1代表預(yù)測屬于此類0代表預(yù)測不屬于此類101TruepositiveFalsepositive0FalsenegativeTruenegativeP=Truepositive/(Truepositive+Falsepositive)R=Truepositive/(Truepositive+Falsenegative)F1-Score=(2*P*R)/(P+R)在此實驗中,我通過準(zhǔn)確率、召回率和F1-Score這三個性能評估方法對最后的結(jié)果進(jìn)行了詳細(xì)的分析。關(guān)于結(jié)果分析的詳細(xì)描述見5.6。實驗過程文本分類語料庫的采集本實驗的語料庫是下載網(wǎng)上現(xiàn)成的英文文本語料庫的,該語料庫的類別有20類,分別為:alt.atheism,comp.graphics,comp.os.ms-windows.misc,comp.sys.ibm.pc.hardware,comp.sys.mac.hardware,comp.windows.x,misc.forsale,rec.autos,rec.motorcycles,rec.sport.baseball,rec.sport.hockey,sci.crypt,sci.electronics,sci.med,sci.space,soc.religion.christian,talk.politics.guns,talk.politics.mideast,talk.politics.misc,talk.religion.misc,其中每個分類有九千多文檔,整個語料庫有1萬8千多文件?,F(xiàn)在需要將這1萬8千多文件分配成訓(xùn)練集和測試集,為了排除人為因素的干擾,和便于操作的效果,我編寫了一個TextClassificationofRandom類來實現(xiàn)將語料庫中20個分類都隨機均分成訓(xùn)練集和測試集,這樣我們就形成了訓(xùn)練集和測試集的數(shù)據(jù)。在后期實驗過程中,通過多次隨機生成訓(xùn)練集和測試集來進(jìn)行實驗,獲得更詳細(xì)精確的數(shù)據(jù)。詳細(xì)步驟和結(jié)果見后面分析。數(shù)據(jù)預(yù)處理(1)對所有英文文件進(jìn)行英文詞法分析,去除數(shù)字、連字符、標(biāo)點符號、特殊字符,所有大寫字母轉(zhuǎn)換成小寫字母,實現(xiàn)方法是通過正則表達(dá)式:Stringres[]=line.split("[^a-zA-Z]");(2)接著去停用詞,過濾對分類無價值的詞。結(jié)果保存在源文件對應(yīng)文件.out里面。(3)第三步是找詞根,將詞根還原,并分別將每一類的所有文件的單詞進(jìn)行匯總,同時記錄每個單詞的詞頻,最終得到源文件對應(yīng)文件.outstemed里面。特征提取和表達(dá)首先我先解釋一下CHI特征提取公式的意義:CHI特征提?。涸诖斯街?,變量的含義如下所示:N:所有文檔的數(shù)目A:在該分類下,包含此單詞的文檔數(shù)量B:不在該分類下,包含此單詞的文檔數(shù)量C:在該分類下,不包含此單詞的文檔數(shù)量D:不在該分類下,不包含此單詞的文檔數(shù)量由于最后,只需要根據(jù)CHI的卡方值進(jìn)行排序,為了簡化運算,對公式做了簡單的簡化處理:簡化后的計算方法為:,因為在排序的步驟中,N,(A+C),(B+D)都不會對最后的排序造成影響,所以這樣的簡化處理是合理的。計算每個單詞的CHI值,降序排序后,分別取每一類的排序前2000個單詞,經(jīng)過匯總,去重,得到最終的數(shù)據(jù)字典,一共是32060個單詞。根據(jù)數(shù)據(jù)字典,將每篇訓(xùn)練集文件和測試集文件轉(zhuǎn)換成特征向量。結(jié)果保存在源文件對應(yīng)文件.outstemedspecial里面。訓(xùn)練過程在本次實驗中,我做了5組實驗,每組實驗又分為兩個相對應(yīng)的實驗。因為我借鑒了交叉檢驗的思想,一開始我將整個數(shù)據(jù)集隨機分成訓(xùn)練集和測試集兩份,相當(dāng)于2折交叉檢驗,再顛倒過來將訓(xùn)練集作為測試集,測試集作為訓(xùn)練集。這樣整個過程算是一組實驗,然后再將整個數(shù)據(jù)集隨機分成訓(xùn)練集和測試集,重復(fù)上面步驟,最終進(jìn)行了5組10次實驗,利用這10次的結(jié)果的均值來對算法精度作估計。以求達(dá)到更精確的評估。這里我就簡單介紹一次實驗的訓(xùn)練過程:(1)首先,我為了避免對文件的直接操作,可以將訓(xùn)練集文本的路徑進(jìn)行匯總,匯總的方法是通過命令提示符,轉(zhuǎn)到源數(shù)據(jù)20類文件夾的目錄文件下,輸入dir/s/b/l*>aaa.lst,回車,這樣,源數(shù)據(jù)20類文件夾下面出現(xiàn)一個aaa.lst文件,用寫字板打開文件,將前面幾行非源數(shù)據(jù)文件絕對路徑的數(shù)據(jù)刪掉。最后得到如圖5.1的aaa.lst文件。圖5.1aaa.lst部分內(nèi)容示意圖(2)然后,通過java的文件操作FileReaderfileReader=newFileReader("E:/DataMiningSample/orginSample/aaa.lst");以及后面等一系列操作,不具體描述,在Eclipse中運行TextClassificationofRandom類后,在E:\DataMiningSample\docVector目錄下,生成兩個文件,一個是記錄訓(xùn)練數(shù)據(jù)絕對路徑的文件,一個是記錄測試數(shù)據(jù)絕對路徑的文件。(3)將記錄訓(xùn)練數(shù)據(jù)絕對路徑的文件的絕對路徑,作為TrainMain類的參數(shù),運行來訓(xùn)練樣本的特征,首先計算每個類別出現(xiàn)的特征詞數(shù),將結(jié)果保存在NBTrain工程下的cateWordsNum.txt文件中,保存方式為:類別+空格+次數(shù)。再計算某單詞在某類別中出現(xiàn)的次數(shù),將結(jié)果保存在NBTrain工程下的cateWordsProb.txt文件中,保存方式為:類別_單詞+空格+詞數(shù)。最后,計算所有類別的總次數(shù),將結(jié)果保存在NBTrain工程下的totalWordsNum.txt文件中。這樣我們就得到最后的訓(xùn)練模型。測試過程通過上述步驟,我們得到四個文件,即記錄測試數(shù)據(jù)絕對路徑的文件,cateWordsNum.txt,cateWordsProb.txt,totalWordsNum.txt,我們將這四個文件的絕對路徑作為TestMain類的參數(shù),運行,通過樸素貝葉斯的算法,得到每個文件屬于每個類的后驗概率,取其中最大值,作為文件最終被分到的類別,并將數(shù)據(jù)以文件絕對路徑+空格+類別的形式輸出到NBTest工程下的classifyResultNew11.txt文件中,方便后期的實驗數(shù)據(jù)統(tǒng)計。實驗結(jié)果和性能評估最后實驗結(jié)果用混淆矩陣來記錄,由于我一共做了十次實驗,這里就不一一列舉,我拿第一次的實驗結(jié)果來展示一下(后面數(shù)據(jù)均展示第一次實驗結(jié)果),完整的實驗結(jié)果記錄在E:\DataMiningSample\docVector\五組實驗數(shù)據(jù)目錄下的分類結(jié)果.xlsx文件下。第一次實驗結(jié)果的混淆矩陣如圖5.2所示。圖5.2樸素貝葉斯分類結(jié)果-混淆矩陣表示上面混淆矩陣的每一列代表了預(yù)測類別,每一列的總數(shù)表示預(yù)測為該類別的數(shù)據(jù)的數(shù)目;每一行代表了數(shù)據(jù)的真實歸屬類別,每一行的數(shù)據(jù)總數(shù)表示該類別的數(shù)據(jù)實例的數(shù)目,每一列中的數(shù)值表示真實數(shù)據(jù)被預(yù)測為該類的數(shù)目。其中第一行第一列的370表示有370個實際歸屬第一類的實例被預(yù)測為第一類,同理,第五行第一列的1表示有1個實際歸屬第一類的實例被錯誤預(yù)測為第五類。同時本文通過正確率、召回率和F1-Score這三個性能評估方法來評價分類結(jié)果。在十次實驗過程中,每次都會得到各20類分別對應(yīng)的正確率、召回率和F1-Score值,在本文給出第一次實驗得出的數(shù)據(jù),如表5.1所示。表5.1第一次實驗各20類對應(yīng)正確率、召回率和F1-Score值正確率召回率F1-Score第01類0.86450.89810.881第02類0.58790.85310.6961第03類0.79050.72070.754第04類0.74080.7260.7333第05類0.93520.69460.7971第06類0.76720.85120.8071第07類0.91610.51970.6631第08類0.9360.86710.9002第09類0.95150.96320.9573第10類0.98490.91770.9501第11類0.93970.97770.9583第12類0.93090.93090.9309第13類0.83970.79720.8179第14類0.86270.92920.8947第15類0.89420.9470.9199第16類0.84560.9470.8934第17類0.79810.93850.8626第18類0.83240.98730.9033第19類0.83530.88380.8589第20類0.95510.5120.6667總體86.04%84.31%84.23%通過上表,可以發(fā)現(xiàn)第2類的正確率、第7類的召回率和第20類的召回率均低于60%,和其他實驗數(shù)據(jù)有較大差別,同時第2類,第7類和第20類的F1-Score值都低于70%,這些都值得我們?nèi)プ屑?xì)分析。為更形象的看出上表的數(shù)據(jù)特性,通過上表數(shù)據(jù)建立成3維柱形圖,如圖5.3所示。圖5.3第一次實驗各20類對應(yīng)評估性能分布圖通過上圖可以很明顯看出第2類,第7類和第20類的數(shù)據(jù)有明顯差異,評價性能不好。為更精確的評估該分類器的性能,下面給出10次實驗,各20類對應(yīng)的平均正確率、平均召回率和平均F1-Score,見表5.2.表5.210次實驗各20類對應(yīng)數(shù)據(jù)指標(biāo)平均正確率平均召回率平均F1-Score第01類0.88870.88670.8871第02類0.68660.79830.7303第03類0.75960.74760.7516第04類0.77340.72350.7471第05類0.89320.73480.8042第06類0.77570.85700.8135第07類0.90310.55520.6870第08類0.91370.89440.9038第09類0.95900.94040.9495第10類0.97480.92620.9499第11類0.94940.97780.9633第12類0.87770.95740.9152第13類0.85260.78700.8180第14類0.87870.94370.9099第15類0.86090.95320.9036第16類0.84190.94780.8914第17類0.84630.93880.8896第18類0.85770.98750.9176第19類0.84030.87970.8592第20類0.93250.59260.7227總體86.33%85.

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論