1. 數據挖掘WEKA工具怎樣來用來進行文本分類有800多個測試文本,求大神給出具體的步驟和通俗易懂的
第一步,你要有中文的數據集;
第二步,數據集要准備成weka能處理的結構,這很好做到,你把數據集壓縮了就行了,因為它要求的格式是,一個類別的文件放一個文件夾下。但是還有一個問題,你的機器往往沒那麼多內存去處理這個數據集,滑滲那麼你可以選幾個類別猛讓兄出來,在每個類別中放幾十個文檔來做就可以了。
第三步,分詞。
第四步,使用weka wiki中的例子將數據集轉換成arff格式。
weka是一種機器學習演算法的集合,它可以用於分類,預測等。由於weka支持的數據格式是arff或csv的格式,因此在進行weka實驗的時候必須進行數據的預處理。一般,我們可以在EXCEL裡面導入TXT,然後另存為.CSV格式的文件(這個格式WEKA也是可以識別的),然後打開WEKA,–》TOOL–》 arffviewer中打開剛才的.CSV文件,另存枝襲為.arff就OK了!
2. weka分類演算法選項不可用是怎麼回事
兩種原櫻段因1、你的weka出脊睜譽問題了;
2、你的數據不適合分類,自然分類選項會是灰色的;早衡
3. 我是weka新手,我下載數據集後,用weka中的id3演算法來進行分類,結果不能看到決策樹,是怎麼回事啊
weka的ID3演算法是會輸出一個決策樹的,只不過那隻是中間計算時輸出的結果。同時還會輸出很多其他的統計結果。
要看看它有沒有報錯。 數據集的屬性是不是都是離散型的。如果有些是實數型,如17.1,17.2,1.735,17.2....這樣就不符合要求,無法生成合理的決策樹。
以下是一個簡單的weka輸出決策樹:
age = youth
| student = no: no
| student = yes: yes
age = middle_aged: yes
age = senior
| credit_rating = fair: yes
| credit_rating = excellent
| | income = high: null
| | income = medium: no
| | income = low: no
4. 從java中調用weka中的分類函數的問題
詳細咐輪亂請見:http://stackoverflow.com/questions/8112041/error-while-using-weka-api-in-java-code-class-attribute-not-set
你應桐正該在這行 Instances instances = getArffData("E:\\Book2.arff"); // 讀衡檔入文件
後加入一條語句: instances.setClassIndex(instances.numAttributes() - 1);
You should set class index of for your dataset before passing it into classifier. Your classifier must know which is your outcome variable.
//Rest of your code
loader.setQuery("select * from data_training"); Instances data = loader.getDataSet(); //add this line here
data.setClassIndex(instances.numAttributes() - 1);
//if Hujan is your class attribute(outcome variable)
5. 如何在WEKA中添加自己的演算法
1. 編寫新演算法,所編寫的新演算法必須符合Weka 的介面標准。在此以從Weka中文站上下載的一個演算法(模糊C均值聚類演算法:FuzzyCMeans)的添加為例說明其具體過程。
2. 由於FuzzyCMeans是聚類演算法,所以直接將FuzzyCMeans.java 源程序考到 weka.clusterers 包下
3. 再修改weka.gui.GenericObjectEditor.props ,在#Lists the Clusterers I want to choose from的weka.clusterers.Clusterer=\下加入:weka.clusterers.FuzzyCMeans
4. 相應的修改weka.gui.GenericPropertiesCreator.props ,此去不用修改,因為包weka.clusterers已經存在,若加入新的包時則必須修改這里,加入新的包
我試了一下,這樣加入之後,重新編譯,運行後,可以在weka的Explorer界面上的Cluster選項卡中的聚類演算法中找到剛剛新添加的FuzzyCMeans演算法。
添加過程簡單吧!關鍵問題是要弄清楚Weka的內核以及其介面標准,然後編寫出符合此規范的新演算法。
6. weka軟體中bayes分類器的使用
你進choose以後,先點filter...按鈕,你看看裡面數據集手散的特性手胡,你估計把bayesnet方法過畢薯氏濾掉了。
7. 用weka貝葉斯公式決策分類的步驟是什麼求賜教。。。。 最好給出詳細的步驟,謝謝!
你可以用程序debug跟蹤一下,以前是weka中NaiveBayesSimple類的主要函數和作用。
(1) globalInfo()
返回該分類器的描述字元串.
(2) getTechnicalInformation()
返回一個TechnicalInformation類型的對象實例,包含該類的技術背景等信息.
(3) getCapabilities()
返回默認參數.
(4) BuildClassifier(Instances instances)
BuildClassifier()方法從一個訓練數據集合instances構造一個分類器.求出所有名稱型屬性的後驗概率,類屬性的先驗概率,數值屬性的均值和方差,為後來的分類工作做准備.
(5) distributionForInstance (Instance instance)
該方法計算待分類實例instance屬於各個類標的百分比,並且將各個百分比數值存於一個數組中,最後返回該數組.
(6)toString()
把分類器的參數(均值,方差,各先驗概率,各後驗概率)以字元串的形式返回.
(7)normalDens(double x, double mean, double stdDev)
該方法用於根據正態分布(均值為mean,方差為stdDev)計算數值型屬性當屬性值為x時的概率密度.
(8) getRevision()
返回程序的版本號.
(9) Main()
當類從命令行被執行時,就會調用main()方法.他只是用所給的命令行選項告訴Weka的Evaluation類來評估樸素貝葉斯,並且列印所得到的數組.完成這個功能的一行表達式包括在try-catch聲明中.try-catch聲明用於發現Weka常式或其他Java方法中拋出的各種異常.
8. 如何用weka將多種分類演算法集成起來
需要將文件轉換成標稱(nominal)類型,weka把exel中的數字看作是數據類型,不能處理,從而導致Apriori演算法沒法用。
WEKA的全名是懷卡托智能分析環境(Waikato Environment for Knowledge Analysis),同時weka也是紐西蘭的一種鳥名,而WEKA的主要開發者來自紐西蘭。wekaWEKA作為一個公開的數據挖掘工作,集合了大量能承擔數據挖掘任務的機器學習演算法,包括對數據進行預處理,分類,回歸、聚類、關聯規則以及在新的互動式界面上的可視化。
如果想自己實現數據挖掘演算法的話,可以參考weka的介面文檔。在weka中集成自己的演算法甚至借鑒它的方法自己實現可視化工具並不是件很困難的事情。
2005年8月,在第11屆ACM SIGKDD國際會議上,懷卡託大學的Weka小組榮獲了數據挖掘和知識探索領域的最高服務獎,Weka系統得到了廣泛的認可,被譽為數據挖掘和機器學習 歷史上的里程碑,是現今最完備的數據挖掘工具之一(已有11年的發展歷史)。Weka的每月次數已超過萬次。