我试图在我的
java代码中使用weka API.我使用J48树分类在
@L_502_1@数据库中分类我的数据集,但是我有这个错误:
Trying to add database driver (JDBC): RmiJdbc.RJDriver - Error,not in CLASSPATH? Trying to add database driver (JDBC): jdbc.idbDriver - Error,not in CLASSPATH? Trying to add database driver (JDBC): com.mckoi.JDBCDriver - Error,not in CLASSPATH? Trying to add database driver (JDBC): org.hsqldb.jdbcDriver - Error,not in CLASSPATH? weka.core.UnassignedClassException: weka.classifiers.trees.j48.C45PruneableClassifierTree: Class attribute not set! at weka.core.Capabilities.test(Capabilities.java:1086) at weka.core.Capabilities.test(Capabilities.java:1018) at weka.core.Capabilities.testWithFail(Capabilities.java:1297) .....
这是我的代码:
try{ DatabaseLoader loader = new DatabaseLoader(); loader.setSource("jdbc:MysqL://localhost:3306/cuaca","root","491754"); loader.setQuery("select * from data_training"); Instances data = loader.getDataSet(); jTextArea1.append(data.toString()); String[] options = new String[1]; options[0] = "U"; // unpruned tree J48 tree = new J48(); // new instance of tree tree.setOptions(options); // set the option tree.buildClassifier(data); // build classifier //Evaluation eval=new Evaluation(data); //eval.crossValidateModel(tree,data,10,new Random(1)); //jTextArea1.append(eval.toSummaryString("\n HASILNYA \n",false)); }catch(IOException ioe){ioe.printStackTrace();} catch(Exception e){e.printStackTrace();}
数据集实际上出现在textarea中:
@relation data_training @attribute Tmean numeric @attribute Tmax numeric @attribute Td numeric @attribute RH numeric @attribute SLP numeric @attribute STP numeric @attribute Wind_ave numeric @attribute Wind_max numeric @attribute Hujan {Y,T} @data 25.9,31.6,23.1,93.4,1008.5,998.2,2.6,12.9,Y 27.6,31.4,22.3,87,1009.6,999.3,0.8,3.1,T 27.4,32.6,21.9,86.1,1009.4,999.2,4.5,14.3,T 27.6,32.2,22.4,87.3,1009.1,998.9,2.4,8.2,T
我会知道为什么错误出现(Class Attribute Not Set !!)