Ⅰ 「基於WEKA的數據預處理分析」該怎麼實現
數據預處理的任務就那麼幾個:
1
去除奇異值
2
降維(如分組)
3
構建新的變數
4
標准化
等
只不過換了種軟體操作,weka只是工具,先有思想,就可以很好的實用weka,不要被工具奴役
Ⅱ 用人工神經網路進行股票預測,數據樣本為開盤,收盤,最高,最低,成交量,成交額。用weka或matlab實現
把樣本數據分為訓練樣本和測試樣本,然後用訓練樣本訓練網路,用測試樣本進行模型驗證
Ⅲ 用weka中決策樹演算法分類測試問題,急!!!
據我所知weka不能處理太大量的數據,你用了18000個而且屬性值有270個可能是計算量太大了。
Ⅳ 請教用人工神經網路進行股票預測在weka
預測股票可不是有以往股票數據就能的,要考慮因果性,現實事件與股票波動有因果性,也就是時序性。在這情況下有LSTM單元組成循環神經網路可以做到,但訓練集的強度跟體積可是很大的,這需要注意。
Ⅳ 通過weka建立決策樹怎麼提取分類規則
你的意思是從訓練好的決策樹模型中自動提取出分類規則嗎?weka好像沒有可以直接從樹結構中提取規則的功能吧。
不過如果模型不是太復雜的話手工統計每個從根節點到葉子節點的遍歷也很方便啊,每個遍歷上的內部節點加上樹枝就是if條件,葉子節點就是then的判斷結果。如果模型比較復雜的話可以考慮做個簡單的二次開發。
假設你用的是J48,用weka explorer把訓練好的決策樹另存下來(或者直接在代碼里用輸出流寫入文件),再用輸入流把決策樹讀入為一個sourcable對象,調用對象的tosource方法把決策樹代碼化,接下來就是文本處理的問題了,通過分析代碼結構得到相應的分類規則。
大概是這樣的讀入過程:
FileInputStream j48 = new FileInputStream("j48.model");
ObjectInputStream j48object = new ObjectInputStream(j48);
Sourcable j48code = (Sourcable) j48object.readObject();
System.out.println(j48code.toSource("J48 Tree"));
用上面幾行舉個例子,希望對你有啟發^^
Ⅵ 我是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
Ⅶ weka 代碼 演算法 j48 決策樹 c4.5
我想你應該是想通過這個頁面的url來得到這個網頁裡面的某些數據把。用HttpClient 。
下面我這個方法是得到搜狗頁面命中多少條記錄的代碼。
public static void main (String args[]){
String sRequestUrlString="http://www.sogou.com/web?query=ondblclick
%3D%22%22";
GetMethod getMethod = new GetMethod(sRequestUrlString);
HttpClient client = new HttpClient();
client.setConnectionTimeout(1000 * 60);
int status=0;
try {
status = client.executeMethod(getMethod);
} catch (HttpException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String sResponse="";
if(status==HttpStatus.SC_OK) {
sResponse=(getMethod.getResponseBodyAsString());
} else {
System.out.println("檢索失敗");
}
getMethod.releaseConnection();
String regExData = "找到 ([,\\d]*) 個網頁";
if(sResponse!=null && sResponse.trim().length()>0) {
Pattern pattern = Pattern.compile(regExData);
Matcher matcher = pattern.matcher(sResponse);
if(matcher.find()) {
if(matcher.groupCount()>=1) {
int iTmpInteger =
Integer.parseInt(matcher.group(1).replaceAll(",",""),10);
System.out.println("找到"+iTmpInteger+"個網頁");
}
}
}
}
這段測試代碼是來測試搜狗的,String sRequestUrlString="http://www.sogou.com/web?
query=ondblclick%3D%22%22";
這里是拼寫好的檢索的url,
sResponse=(getMethod.getResponseBodyAsString());這個是得到本頁面的源文件,然後通過
String regExData = "找到 ([,\\d]*) 個網頁";正則表達式來獲取([,\\d]*) ,得到命中的條數。
Ⅷ weka進行數據挖掘分類
分類得出的決策樹只顯示了一部
Ⅸ 如何使用Java Weka開源項目,實現J48決策樹、支持向量機演算法,在10個UCI數據集上對這兩個演算法進行性能
publicstaticvoidRegular()throwsException{
Fileinputfile=newFile("F:\weka\eucalyptus_Train.arff");
ArffLoaderloader=newArffLoader();
loader.setFile(inputfile);
InstancesinsTrain=loader.getDataSet();
insTrain.setClassIndex(insTrain.numAttributes()-1);
inputfile=newFile("F:\weka\eucalyptus_Test.arff");
loader.setFile(inputfile);
InstancesinsTest=loader.getDataSet();
insTest.setClassIndex(insTest.numAttributes()-1);
doublesum=insTest.numInstances();
intright=0;
Classifierclas=newJ48();
//Classifierclas=newweka.classifiers.bayes.BayesNet();
clas.buildClassifier(insTrain);
for(inti=0;i<sum;i++){
if(clas.classifyInstance(insTest.instance(i))==insTest.instance(i).classValue()){
right++;
}
System.out.println(clas.classifyInstance(insTest.instance(i))+":"+insTest.instance(i).classValue());
}
System.out.println("分類准確率:"+right/sum);
}
svm的話,要用一個wlsvm的包。 代碼是一樣的,就是Classifier class= new J48()這里要用svm的實例