2

我使用 JavaML 库创建了一个 SparseInstace 对象,我将一些值放入该实例中,但我找不到为其分配标签的解决方案。例如,实例的创建方式如下

{{2=1.0, 4=2.2};null} 

我想添加特定的字符串值而不是那个“空”区域。这是我的代码:

package helloworld;

import java.io.IOException;
import net.sf.javaml.core.Dataset;
import net.sf.javaml.core.DefaultDataset;
import net.sf.javaml.core.Instance;
import net.sf.javaml.core.SparseInstance;
import net.sf.javaml.matrix.Matrix;
import net.sf.javaml.tools.InstanceTools;
import net.sf.javaml.tools.data.FileHandler;

public class WekaT2 {

public static void main(String[] args) throws IOException, Exception {

    Dataset data = new DefaultDataset();
    Instance tmpInstance = new SparseInstance();

        tmpInstance.put(2, 1.0);
        tmpInstance.put(4, 2.2);
        data.add(tmpInstance);       
    }
}

http://java-ml.sourceforge.net/api/0.1.7/net/sf/javaml/core/SparseInstance.html

如何将这些标签(对象名称)添加到实例中?

4

2 回答 2

1

您尝试设置的内容称为类标签或类值,如文档中所述。您可以使用以下方法 setClassValue(java.lang.Object value) 示例用法将是

    Instance tmpInstance = new SparseInstance();
    tmpInstance.put(2, 1.0);
    tmpInstance.put(4, 2.2);
    tmpInstance.setClassValue("positive");
于 2012-11-10T08:29:10.547 回答
0

您可以使用以下构造函数:

public SparseInstance(int noAttributes,
          double defaultValue,
          java.lang.Object classValue)

并使用一个对象来指定标签,它可以是 JLabel、String、JButton 之类的任何东西

例如:

Instance tmpInstance = new SparseInstance();

    tmpInstance.put(2, 1.0, "myLabel");

问候

于 2012-11-10T08:33:05.790 回答