在Weka Java API中创建字符串属性

我正在尝试使用Weka的Java API创建一个新的字符串属性…

通过阅读API的javadocs,我发现可以使用以下构造函数来实现:

Attributepublic Attribute(java.lang.String attributeName,                 FastVector attributeValues)    用于创建名义属性和字符串属性的构造函数。如果传递给方法的属性值向量为null,则该属性被视为字符串属性。    参数:        attributeName - 属性的名称        attributeValues - 表示属性值的字符串向量。如果属性是字符串属性,则为null。

但是我不知道应该传递什么给attributeValues参数…

当我传入null时,Java会抱怨受保护的对象
当我传入Null时,会出现语法错误
当我传入new FastVector()时,它变成了一个空的名义属性而不是字符串属性…
当我创建一个新对象时:

FastVector fv = new FastVector();fv.addElement(null);

然后将fv作为参数传递时,会返回一个空指针异常…

我到底应该在attributeValues参数中放什么,才能使其成为字符串属性?


回答:

你需要将null转换为FastVector。否则更多的方法会应用于该方法签名:

    FastVector attributes = new FastVector();    attributes.addElement(new Attribute("attr", (FastVector) null));

这里有一个很好的资源,关于如何即时创建Instances:https://waikato.github.io/weka-wiki/formats_and_processing/creating_arff_file/

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注