尝试在 Java AndroidStudio 中调用 .buildClassifier (Weka) 时出错



我正在尝试在Android Studio中使用Weka。我被困在这一行:

linearRegresion.buildClassifier(data);

它的红色下划线说:

未处理的异常:Java.lang.Exception

我正在尝试其他方式和不同的数据集及其在 .buildClassifier 上划线的所有方式

    //test:
    NaiveBayes nB = new NaiveBayes();
    nB.buildClassifier(dataSet); //Unhandled exception
    Classifier cModel = (Classifier)new LinearRegression();
    cModel.buildClassifier(data); //Unhandled exception

尝试解决此问题数小时,无法在互联网上找到解决方案,我想我只是缺少一些东西,也许我只需要导入更多的东西?

我从教程中执行此操作,因此代码应该可以工作。教程:http://www.ibm.com/developerworks/opensource/library/os-weka3/index.html

整个代码

import weka.*;
import weka.classifiers.trees.J48;
import weka.core.*;
import weka.classifiers.Classifier;
import weka.core.Instance;
import weka.core.Instances;
import weka.classifiers.functions.LinearRegression;
import weka.classifiers.bayes.NaiveBayes;
public class Meni extends Activity {
public void Weka(){
    //@ATTRIBUTE houseSize NUMERIC
    Attribute a1 = new Attribute("houseSize", 0);
    Attribute a2 = new Attribute("lotSize", 1);
    Attribute a3 = new Attribute("bedrooms", 2);
    Attribute a4 = new Attribute("granite", 3);
    Attribute a5 = new Attribute("bathroom", 4);
    Attribute a6 = new Attribute("sellingPrice", 5);
    //ArrayList attr = new ArrayList();
    FastVector attrs = new FastVector();
    attrs.addElement(a1);
    attrs.addElement(a2);
    attrs.addElement(a3);
    attrs.addElement(a4);
    attrs.addElement(a5);
    attrs.addElement(a6);
    //@DATA
    Instance i1  = new DenseInstance(6);
    i1.setValue(a1, 3529);
    i1.setValue(a2, 9191);
    i1.setValue(a3, 6);
    i1.setValue(a4, 0);
    i1.setValue(a5, 0);
    i1.setValue(a6, 205000);
    Instance i2  = new DenseInstance(6);
    i2.setValue(a1, 3247);
    i2.setValue(a2, 10061);
    i2.setValue(a3, 5);
    i2.setValue(a4, 1);
    i2.setValue(a5, 1);
    i2.setValue(a6, 224900);
    Instance i3  = new DenseInstance(6);
    i3.setValue(a1, 4032);
    i3.setValue(a2, 10150);
    i3.setValue(a3, 5);
    i3.setValue(a4, 0);
    i3.setValue(a5, 1);
    i3.setValue(a6, 197900);
    //set class Atribute
    dataSet.setClassIndex(dataSet.numAttributes()-1);
    //Creating model
    LinearRegression linearRegresion = new LinearRegression();
    linearRegresion.buildClassifier(data); //Unhandled exception :(

}}

这是 weka.jar 库的问题。我从weka网站下载的普通版本不适用于安卓。现在我从用户 rjmanrsan 下载了修改后的一个:https://github.com/rjmarsan/Weka-for-Android现在工作:)

最新更新