【问题标题】:How to add new nominal values to Instances using AddValues?如何使用 AddValues 向实例添加新的标称值?
【发布时间】:2016-04-15 20:25:58
【问题描述】:

我真的需要细细琢磨 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

第二句

@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 而不是添加值。

【问题讨论】:

    标签: java weka


    【解决方案1】:

    您使用了两次相同的代码。

    instances = Filter.useFilter(instances, addValues); 
    
    return instances = Filter.useFilter(instances, addValues); 
    

    试试这个:

    instances = Filter.useFilter(instances, addValues); 
    
    return instances;
    

    或下一级:

    return Filter.useFilter(instances, addValues
    

    【讨论】:

    • 抱歉,这只是实际代码的剩余部分。我只是简化了它,忘记删除第二个useFilter() 调用
    • 顺便说一句:我已经“managed”做了 add 部分,但似乎 AddValues 不关心索引或其他东西,因为数据只是变得心烦意乱..仍在等待有人知道该怎么做正确
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-03
    • 1970-01-01
    • 1970-01-01
    • 2023-03-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多