資源簡(jiǎn)介
汽車(chē)有6個(gè)屬性,每個(gè)屬性都有幾種類(lèi)別,根據(jù)這6個(gè)屬性來(lái)判斷汽車(chē)的性?xún)r(jià)比Classvalue如何, ClassValues有以下幾種情況unacc,acc, good,vgood
buying( vhigh,high,med,low)
maint(vhigh,high,med,low)
doors( 2,3,4,5more)
persons(2,4,more)
lug_boot( small ,med,big)
safety( low,med,high)
ClassValues( unacc,acc, good,vgood)
此例子的決策樹(shù)算法,通過(guò)給定數(shù)據(jù)生成決策樹(shù),計(jì)算決策樹(shù)的正確率。

代碼片段和文件信息
package?com.example.jctree;
import?java.io.BufferedReader;
import?java.io.IOException;
import?java.io.InputStreamReader;
import?java.util.Vector;
/**文件操作類(lèi)
?*?@author:Dyl
?*?
?*/
public?class?File?{
/**
?*讀數(shù)據(jù)
?*?@throws?Exception?
?*/
public??Vectorject>[]?readData(String?url)?throws?Exception?{
Vectorject>[]vector?=?null;
String[]?list;
InputStreamReader?in?=?new?InputStreamReader(getClass()
.getResourceAsStream(url));
BufferedReader?reader?=?new?BufferedReader(in);
String?line?=?reader.readLine();
line?=?reader.readLine();//讀了兩行,跳過(guò)屬性
if?(line!=null)?{
vector=new?Vector[line.split(““).length];
for?(int?i?=?0;?i? vector[i]=new?Vectorject>();
}
}
while?((line=reader.readLine())?!=?null)?{
String?[]s=line.split(““);
for?(int?i?=?0;?i? vector[i].add(s[i]);
}
}
in.close();
reader.close();
return?vector;
}
/**獲取屬性
?*?@param?urlTest:文件路徑
?*?@return
?*?@throws?IOException
?*/
public?Vectorject>?getShuXing(String?urlTest)?throws?IOException?{
Vectorject>?vector=new?Vectorject>();
InputStreamReader?in?=?new?InputStreamReader(getClass()
.getResourceAsStream(urlTest));
BufferedReader?reader?=?new?BufferedReader(in);
String?string=reader.readLine();
if?(!string.equals(““))?{
String?[]t=string.split(““);//讀了兩行
for?(String?st?:?t)?{
vector.add(st);
}
}
in.close();
reader.close();
return?vector;
}
/**橫著保存predict的數(shù)據(jù)
?*?@param?urlPredict:文件路徑
?*?@return
?*?@throws?IOException?
?*/
public?Vectorject[]>?readPredictData(String?urlPredict)?throws?IOException?{
Vectorject[]>vector?=?new?Vectorject[]>();
InputStreamReader?in?=?new?InputStreamReader(getClass()
.getResourceAsStream(urlPredict));
BufferedReader?reader?=?new?BufferedReader(in);
String?line?=?reader.readLine();
line?=?reader.readLine();//讀了兩行,跳過(guò)屬性
while?((line=reader.readLine())?!=?null)?{
String?[]s=line.split(““);
vector.add(s);
}
in.close();
reader.close();
return?vector;
}
}
?屬性????????????大小?????日期????時(shí)間???名稱(chēng)
-----------?---------??----------?-----??----
?????文件??????53650??2015-06-05?08:31??決策樹(shù)java代碼\all.txt
?????文件???????2224??2015-07-21?14:13??決策樹(shù)java代碼\File.java
?????文件???????3149??2015-07-21?14:13??決策樹(shù)java代碼\Gain.java
?????文件???????4866??2015-07-21?14:14??決策樹(shù)java代碼\JCTree.java
?????文件??????10825??2015-06-05?01:10??決策樹(shù)java代碼\JCTree_Result.txt
?????文件????????943??2015-07-21?14:14??決策樹(shù)java代碼\Main.java
?????文件??????11473??2015-06-04?11:16??決策樹(shù)java代碼\predict.txt
?????文件????????118??2015-07-21?14:33??決策樹(shù)java代碼\ReadMe.txt
?????文件??????42232??2015-06-04?21:36??決策樹(shù)java代碼\test.txt
?????文件???????1006??2015-06-04?20:06??決策樹(shù)java代碼\TreeNode.java
?????目錄??????????0??2015-07-21?14:31??決策樹(shù)java代碼
-----------?---------??----------?-----??----
???????????????130486????????????????????11
評(píng)論
共有 條評(píng)論