java中调用weka
2015-02-12 16:15
141 查看
先别忘了添加WEKA的jar包,代码如下
import java.io.File;
import weka.classifiers.Classifier;
import weka.classifiers.trees.J48;
import weka.core.Instances;
import weka.core.converters.ArffLoader;
// 将以下代码添加到Main函数中:
Classifier m_classifier = new J48();
File inputFile = new File("D://Program Files//Weka-3-6//data//cpu.with.vendor.arff");//训练语料文件
ArffLoader atf = new ArffLoader();
atf.setFile(inputFile);
Instances instancesTrain = atf.getDataSet(); // 读入训练文件
inputFile = new File("D://Program Files//Weka-3-6//data//cpu.with.vendor.arff");//测试语料文件
atf.setFile(inputFile);
Instances instancesTest = atf.getDataSet(); // 读入测试文件
instancesTest.setClassIndex(0); //设置分类属性所在行号(第一行为0号),instancesTest.numAttributes()可以取得属性总数
double sum = instancesTest.numInstances(),//测试语料实例数
right = 0.0f;
instancesTrain.setClassIndex(0);
m_classifier.buildClassifier(instancesTrain); //训练
for(int i
= 0;i<sum;i++)//测试分类结果
{
if(m_classifier.classifyInstance(instancesTest.instance(i))==instancesTest.instance(i).classValue())//如果预测值和答案值相等(测试语料中的分类列提供的须为正确
答案,结果才有意义)
{
right++;//正确值加1
}
}
System.out.println("J48 classification precision:"+(right/sum));
import java.io.File;
import weka.classifiers.Classifier;
import weka.classifiers.trees.J48;
import weka.core.Instances;
import weka.core.converters.ArffLoader;
// 将以下代码添加到Main函数中:
Classifier m_classifier = new J48();
File inputFile = new File("D://Program Files//Weka-3-6//data//cpu.with.vendor.arff");//训练语料文件
ArffLoader atf = new ArffLoader();
atf.setFile(inputFile);
Instances instancesTrain = atf.getDataSet(); // 读入训练文件
inputFile = new File("D://Program Files//Weka-3-6//data//cpu.with.vendor.arff");//测试语料文件
atf.setFile(inputFile);
Instances instancesTest = atf.getDataSet(); // 读入测试文件
instancesTest.setClassIndex(0); //设置分类属性所在行号(第一行为0号),instancesTest.numAttributes()可以取得属性总数
double sum = instancesTest.numInstances(),//测试语料实例数
right = 0.0f;
instancesTrain.setClassIndex(0);
m_classifier.buildClassifier(instancesTrain); //训练
for(int i
= 0;i<sum;i++)//测试分类结果
{
if(m_classifier.classifyInstance(instancesTest.instance(i))==instancesTest.instance(i).classValue())//如果预测值和答案值相等(测试语料中的分类列提供的须为正确
答案,结果才有意义)
{
right++;//正确值加1
}
}
System.out.println("J48 classification precision:"+(right/sum));
相关文章推荐
- java调用weka
- C++/JAVA程序调用weka聚类算法的方法 推荐
- 在eclipse下使用java调用weka【第一步】
- Java调用weka进行分类
- Java调用weka.jar利用交叉验证方法进行分类
- 在eclipse下使用java调用weka
- java调用weka包报错问题
- java调用Weka中神经网络的算法(从数据库中取数据)
- 在eclipse下使用java调用weka
- Java中调用Weka中的Apriori算法
- C++JAVA程序调用weka聚类算法的方法
- 【转】在eclipse下使用java调用weka 与 在MyEclipse中运行数据挖掘工具weka
- 【转】在eclipse下使用java调用weka 与 在MyEclipse中运行数据挖掘工具weka
- 在eclipse下使用java调用weka
- java调用weka里面的分类器做回归
- Java程序通过weka调用libsvm和liblinear的方法
- 在eclipse下使用java调用weka
- 在eclipse下使用java调用weka 与 在MyEclipse中运行数据挖掘工具weka
- Java程序通过weka调用libsvm和liblinear的方法
- 在java中调用weka聚类方法并显示相应的类标签+weka中创建arff数据