任務: 使用Weka完成一個簡單的文本分類試驗,原始數據是文本,訓練文本和測試文本的內容都描述了籃球運動和谷歌地球的情況,分類標簽要求關于籃球運動為yes,谷歌地球的標簽為no。
訓練文本:train.txt測試文本:test.txt
一:準備工作####
1.首先,我用文本編輯器(EmEditor)分別打開訓練文本和測試文本,將其另存為csv格式.
2.用Excel打開剛剛csv后綴的兩個文件...在訓練集train中插入首行,加入兩列的列名,分別為text和label.在訓練集里根據描述內容判斷其為yes或者為no...在測試集里只插入首行,填上第一列和第二列列名text與label...保存..
二:數據導入weka進行文本分類###
1.用weka分別打開處理好的csv文件...##如果打開為亂碼,請用方法解決:打開weka文件,,找到RunWeka.ini,,將其里的fileEncoding修改為fileEncoding=cp936...###
2.將文件打開后,我們發現屬性類型為Nominal.第一步經過filter里的nominaltoString將其改變為String類型..
注意兩點: (1)將第一列屬性改變為String,
(2)下方選擇noclass
附圖
第二步再次經過filter,使用StringToWordVector過濾器,對其進行預處理.將文本分割...
3.將兩個文件進行相同預處理后,保存成arff格式.打開train.arff,,使用classify算法對其分類.注意三點:
(1).我們用Supplied test set的方式加載測試集,點擊set,然后open file,將test.arff加載進去,,在open file下方選擇class為label.
(2)第一步完成之后,,在start上方選擇label.最后點擊start..
(3)在result list中將鼠標放在剛剛出現的分類名稱上,右擊,然后選擇visualize classifier errors ,將其保存成arff格式,(我保存為graph.arff)
附圖:
三:呈現結果###
將上面保存的graph.arff用weka打開,點擊editor,即可看到我們對測試文本進行分類的結果.
附圖: