1

如果假设我们有,

x=2, y=3,z=5, class="first"
x=3, y=5,z=10, class="second"

我们可以使用 csvloader 或使用 arrf 我们可以使用 Weka 为任何分类器创建实例

但是如果假设我们有,

x={2,3,4,5}, y={10,11,12,13}, z={6,3,9,5} class="biogancy"
x={7,6,2,3},y={3,2,8,4}, z={4,3,9,7} class="uiopnt"

如何为每一行创建实例对象?有没有像 csvloader 这样的简单方法?如何管理 csv 文件中的上述行?我需要使用xml吗?如果是这样,我如何从 WEKA 中的上述行构建实例?

4

2 回答 2

0

我可以建议另一种选择吗?

如果每个中的值都是离散且有界的,则可以创建二进制属性来对每个集合进行建模。例如,假设 x, y, z 都是 {1,2,3} 的子集;在这种情况下,您的实例将包含 9(+1) 个属性:

x1, x2, x3, y1, y2, y3, z1, z2, z3, class

对于您的需求,这种表示可能过于稀疏,但它仍然是您实例的完整数学描述。为了解决稀疏问题,我建议使用 WEKA 很棒的特征选择工具。如果这还不够好,您可以随时使用更复杂的降维方法。

于 2011-08-29T06:56:29.553 回答
0

关系属性是最接近您的描述的东西。它允许您使用多个实例,但您只能使用一个包:http ://weka.wikispaces.com/Multi-instance+classification

您可以使用 ARFF 格式来指定数据。如果您必须使用 csv 文件,您可能必须自己实现加载程序。

但是,如果可以将集合分解为具有布尔值的合理数量的属性,我会这样做。如 wiki 中所述,只有一个包 weka.classifiers.mi 提供多实例分类器。

看来无论如何您都必须使用多个袋子。在这种情况下,您可能需要寻找另一种选择。

于 2011-08-28T23:21:10.310 回答