Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用AddValues向实例添加新的标称值?_Java_Weka - Fatal编程技术网

Java 如何使用AddValues向实例添加新的标称值?

Java 如何使用AddValues向实例添加新的标称值?,java,weka,Java,Weka,我真的必须仔细考虑一下WEKA API。。我想做的就是在属性中引入新的标称值 我有像句子1这样的数据 @relation i-do-not-care @attribute sentence_id {1090587:0} @attribute word {here,girlfriend,bday,23rd,go,for,my,just} @attribute relations {nmod:poss-,amod+;nsubj-,nsubj+;nmod+;advmod+,amod-,nmod-;c

我真的必须仔细考虑一下WEKA API。。我想做的就是在属性中引入新的标称值

我有像句子1这样的数据

@relation i-do-not-care

@attribute sentence_id {1090587:0}
@attribute word {here,girlfriend,bday,23rd,go,for,my,just}
@attribute relations {nmod:poss-,amod+;nsubj-,nsubj+;nmod+;advmod+,amod-,nmod-;case+;nmod:poss+,advmod-,case-}
@attribute target {0}

@data
1090587:0,go,nsubj+;nmod+;advmod+,0
1090587:0,my,nmod:poss-,0
第2句

@relation i-do-not-care

@attribute sentence_id {1090587:1}
@attribute word {be,idea,house,weehawken,offer,view,top,along,of,have,if,you,a,in,the,ever,to,river,chart}
@attribute relations {aux-,cop-,nmod-;case+,nsubj+;acl:relcl-;xcomp+,advmod-,det-,nsubj-,advcl+;nsubj+;dobj+,case-,acl:relcl+;det+;nmod+;dobj-,mark+;nsubj+;det+;nmod+;cop+;aux+;case+;advcl-;advmod+,compound+;nsubj-;det+,mark+;xcomp-,mark-,compound-,det+;nmod+;nmod-;case+}
@attribute target {0,1}

@data
1090587:1,a,det-,0
1090587:1,have,advcl+;nsubj+;dobj+,0
我试图完成的是将它们添加到一个空实例数据集中:

@relation features

@attribute sentence_id {}
@attribute word {}
@attribute relations {}
@attribute target {0,1}

@data
我就是这样尝试的:

public Instances add(Instances instances, Instances newInstances) {

    AddValues addValues = new AddValues();

    try {   
        // This should just copy 'sentence_id' values   
        // but I am not sure about that.            
        addValues.setAttributeIndex("1");
        addValues.setInputFormat(newInstances);

        instances = Filter.useFilter(instances, addValues); 

        return instances;               
    } catch (Exception e) {
        e.printStackTrace();
    }

    return null;
}

但它只是覆盖
实例
,而不是添加值

您两次使用相同的代码

instances = Filter.useFilter(instances, addValues); 

return instances = Filter.useFilter(instances, addValues); 
试试这个:

instances = Filter.useFilter(instances, addValues); 

return instances;
或下一级:

return Filter.useFilter(instances, addValues

抱歉,这只是实际代码的剩余部分。我只是简化了它,忘了删除第二个
useFilter()
callBtw:我已经“设法”完成了添加部分,但似乎AddValues不关心索引或其他事情,因为数据刚刚失效。。仍在等待有人知道如何正确地做这件事。