如何从List<Instance>创建Weka中的Instances对象?

3

我正在使用Weka作为一个更长的流程的一部分,因此我不能把所有数据写入文件或数据库中以便创建一个Instances对象。我能够实时创建一个Instance对象列表。

API文档中可以看到,Instances实现了List<Instance>,但是Weka似乎没有一个公共的构造函数可以接受List<Instance>作为参数。我也尝试了粗糙的转换:

List<Instance> instanceList;
while ( ... ) {         // some conditional loop
    Instance inst = ... // more code where I am populating an individual instance
    instanceList.add(inst);
}
Instances instances = (Instances) instanceList;

在上面的最后一行,Idea Intellij向我显示了一个警告,提示我可能会遇到ClassCastException。那么我该如何安全地从我的单个Instance对象创建Instances?
1个回答

3

您需要使用构造函数创建一个实例,然后逐个将它们添加到新的Instances对象中。

或者切换到非Weka。


我尝试使用那个构造函数,但最终它并没有做我想要的事情。这是一个相当详细的问题,所以我在SO上发布了一个单独的问题。[http://stackoverflow.com/questions/20768607/using-stringtowordvector-in-weka-with-internal-data-structures] - Chthonic Project
1
你说的“不是你想要的”是什么意思?它创建了一个空的Instances列表,这正是你所需要的,然后你将它们添加到其中。这恰好就是你所提出的问题! - Raff.Edward
正如我在评论中提到的那样,这是一个相当详细的问题。我所说的“不是我想要的”本身就是一个完整的问题(我已经链接到了该问题)。 - Chthonic Project
非常抱歉之前的评论。事实证明,在创建属性时我犯了一个错误,这就是为什么数据集(即“Instances”对象)与我预期的不同的原因。 - Chthonic Project

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接