资源简介
汽车有6个属性,每个属性都有几种类别,根据这6个属性来判断汽车的性价比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)
此例子的决策树算法,通过给定数据生成决策树,计算决策树的正确率。
代码片段和文件信息
package com.example.jctree;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Vector;
/**文件操作类
* @author:Dyl
*
*/
public class File {
/**
*读数据
* @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();//读了两行,跳过属性
if (line!=null) {
vector=new Vector[line.split(““).length];
for (int i = 0; i < vector.length; i++) {
vector[i]=new Vectorject>();
}
}
while ((line=reader.readLine()) != null) {
String []s=line.split(““);
for (int i = 0; i < vector.length; 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的数据
* @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();//读了两行,跳过属性
while ((line=reader.readLine()) != null) {
String []s=line.split(““);
vector.add(s);
}
in.close();
reader.close();
return vector;
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 53650 2015-06-05 08:31 决策树java代码\all.txt
文件 2224 2015-07-21 14:13 决策树java代码\File.java
文件 3149 2015-07-21 14:13 决策树java代码\Gain.java
文件 4866 2015-07-21 14:14 决策树java代码\JCTree.java
文件 10825 2015-06-05 01:10 决策树java代码\JCTree_Result.txt
文件 943 2015-07-21 14:14 决策树java代码\Main.java
文件 11473 2015-06-04 11:16 决策树java代码\predict.txt
文件 118 2015-07-21 14:33 决策树java代码\ReadMe.txt
文件 42232 2015-06-04 21:36 决策树java代码\test.txt
文件 1006 2015-06-04 20:06 决策树java代码\TreeNode.java
目录 0 2015-07-21 14:31 决策树java代码
----------- --------- ---------- ----- ----
130486 11
- 上一篇:朴素贝叶斯java代码
- 下一篇:基于数据库的网上购物书店
评论
共有 条评论