java weka 聚类_简单开源数据挖掘工具weka进行文本聚类
目前非代碼的數(shù)據(jù)挖掘工具很多,但非開源,weka是一款開源軟件。只要安裝jdk環(huán)境就可使用(具體安裝jdk可以百度)
本文將論述如何不用代碼,使用weka操作,通過與文檔頻數(shù)與單詞權(quán)的特征選擇方法進(jìn)行文本聚類(數(shù)據(jù)為附件)
第一步:將weka創(chuàng)建NetBeans文件目錄中
將weka導(dǎo)入NetBeans軟件中,
1 在某處新建一個WEKA-Rebuild目錄,在它下面建一個目錄叫src。在WEKA的安裝目錄中找到weka-src.jar,用winrar之類的解壓縮軟件打開,并把其中的目錄weka解壓縮到剛才建立的src目錄下。 現(xiàn)在的目錄結(jié)構(gòu)應(yīng)該是 WEKA-Rebuild -> src-> weka -> associations, attributeSelection, ... 打開NetBeans,“文件”菜單 - “新建項目” - 選擇“常規(guī)”中的“基于現(xiàn)有源代碼的Java項目” - “下一步”。“項目文件夾”選擇WEKA-Rebuild目錄,“項目名稱”寫weka-rebuild, “下一步”。在“源包文件夾”那里“添加文件夾”,找到src目錄“打開”,“完成”。
2現(xiàn)在NetBeans左上方項目那一欄應(yīng)該有粗體的“weka-rebuild”,這就是我們要編譯的weka項目。右鍵點它,“生成項目”。下方會出現(xiàn)很多警告,不用管,不出意外的話最后會提示你生成項目成功。仍然右鍵點擊“weka-rebuild”,“運(yùn)行項目”。會彈出一個對話框讓你設(shè)置主類。WEKA的主類可設(shè)置成weka.gui.Main。選中合適的主類后“確定”,不一會兒WEKA的界面就會出現(xiàn)在你面前,和開始菜單里運(yùn)行的WEKA效果一樣。
打開NetBeans軟件。點擊源包-weka.gui.,找到Main.java文件。雙擊,結(jié)果如下圖所示。
第二步:執(zhí)行weka
1.點擊 源包-weka core tokenizers,右鍵 選擇 新建java類。
修改類名為:CHWordTokenizer
選擇包為:weka core tokenizers
點擊完成 。結(jié)果見下圖。
2.修改代碼。將已給資料中的代碼復(fù)制到文本中。
并將原橘黃色部分“Utf-8”改成“cp936”。如下圖所示。
3.點開之前已經(jīng)打開過的Main.java界面
點擊 運(yùn)行-運(yùn)行文件
出現(xiàn)下圖所示界面。
在該界面中,點擊 application-explorer。返回weka界面,點擊open file,載進(jìn)中文文檔。
第三步:創(chuàng)建中文文本文件。
1.將已有中文文本資料 sample 文件夾放入D盤。
2.打開weka - SimpleCLI。
3.在輸入欄輸入 【java weka.core.converters.TextDirectoryLoader-dir d:/sample > d:/sample.arff】點擊回車鍵運(yùn)行。如下圖所示。
4.D盤出現(xiàn)sample.arff文件。
5.打開C盤weka的安裝文件夾,找到RunWeka.ini文件
將cp1252替換成cp936(簡體中文)
保存文件
第四步:改分詞。
1.打開 weka-explorer-open file-sample .arff
2.Filter-choose-unsupervised-attribute-StringToWordVector
將 tokenizer 改成 CHWordTokenizer
點擊ok
4.點擊apply,點擊save,查看word形式(命名:sampleword1)的成果。
再次打開Filter-choose-unsupervised-attribute-StringToWordVector
雙擊修改 StringToWordVector 的參數(shù)。
將 IDFTransform 改為 True (調(diào)平滑)
outputWordCounts 改為 True
minTermFreq改為 1
wordToKeep 改為 200
點擊 OK 運(yùn)行
7.點擊apply,點擊save,查看word形式(命名:sampleword2)的成果。
8.由下圖可以看出,第1個的權(quán)重變成1。660731,第2個權(quán)重是2.040221,第5個權(quán)重是2.278869……
權(quán)重結(jié)果和sampleword1 不同。
9.返回weka,重新加載sample.arff原始文件
10.點擊 Cluster-simpleMeans,雙擊調(diào)整參數(shù)。
11.點擊 distanceFunction ,選擇第二項 歐氏距離。
將 numClusters 改為 10
點擊OK
總結(jié)
以上是生活随笔為你收集整理的java weka 聚类_简单开源数据挖掘工具weka进行文本聚类的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 给台积电28nm芯片厂补贴240亿元 专
- 下一篇: LeetCode每日打卡 - 4的幂