【问题标题】:weka training result return 0 in javaweka训练结果在java中返回0
【发布时间】:2013-07-20 04:21:46
【问题描述】:

我是 weka 的新手。我在java中使用weka在android手机上训练我的结果。我在程序启动时加载了arff文件。

在训练集中,我只将名义上的结果设置为@attribute Result {1,2,3,4}。因此,我想,结果我应该只收到 1,2,3,4。但是,当我在手机上实时训练数据时,结果中出现了很多 0 或 -1。

我的问题是:Weka 是否有可能返回标称值集之外的分类结果?就像我的情况一样,我将训练集中的结果设置为 1,2,3,4,但它返回了很多 0。

非常感谢

下面是我的代码。

    int result = 0;
                try {       
                    Instance inst = new DenseInstance(1.0,vals);
                    data.setClassIndex( data.numAttributes() - 1 );
                    data.add(inst);
                    inst.setDataset(data);
                    result = (int) m_classifier.classifyInstance(inst);

                } catch (Exception e1) {
                    // TODO Auto-generated catch block
                    e1.printStackTrace();
                }

【问题讨论】:

    标签: weka


    【解决方案1】:

    如果你想调试代码,可以将weka源代码weka-src.jar附加到weka.jar,然后闯入函数看看发生了什么。

    很难有人遇到与您完全相同的问题。所以你可能需要尝试自己调试。我认为这是对你和现在最有效的方法。

    【讨论】:

    • 谢谢。但是,在 weka 中是否有可能返回标称值集之外的值?
    • 我认为名义集中的所有值都有自己的索引。比如type = {yes, no}yes的索引是0no1Attribute.value(index) 根据index 返回值的名称。我是否正确地得到了你的问题?
    • 非常感谢。你的回答提醒我检查这个问题。现在解决了。
    猜你喜欢
    • 2012-06-15
    • 2011-05-13
    • 1970-01-01
    • 2012-08-12
    • 2013-01-21
    • 1970-01-01
    • 2021-12-15
    • 2019-09-07
    • 2019-03-02
    相关资源
    最近更新 更多