如何检查数据集是否对WEKA api中的某些分类有效?

时间:2012-06-29 18:01:22

标签: api machine-learning weka

在Weka 3.6.5中,我按照以下步骤操作:

  1. 我使用Weka的资源管理器并打开数据集文件。
  2. 我切换到“分类”面板,然后单击“选择”按钮。
  3. 现在您可以看到WEKA将阻止/灰化分类器,因为它们无法处理数据集,请参见图像。

    weka explorer classify section

    我想知道Weka API用于确定此数据集是否可用于某些分类器。我在Weka API文档中找到了它,但没有得到任何有用的信息。

1 个答案:

答案 0 :(得分:3)

Weka禁用无法处理数据的分类器。仅当数据与分类器的capabilities匹配时才启用分类器,如果从分类器列表中选择分类器后单击分类器的名称,则可以查看分类器Preprocess。例如,以下是J48(决策树)的功能:

  • 类 - 二进制类,标称类,缺少类值
  • 属性 - 标称属性,数字属性,日期属性,一元属性,缺失值,二进制属性,空标称属性
  • 额外 - 最小实例数:0

因此,类数据必须是二进制或标称,并允许缺少类值。属性数据可以是标称,数字,日期,一元,二元和处理缺失值和空标称值。另一个限制规定至少需要0个实例(这有点愚蠢,但其他分类器在本节中说明了更重要的附加要求)。

您可以使用NominalToBinary标签更改班级和属性。例如,如果分类器只能使用二进制属性,那么您可以使用Classify过滤器将属性从标称转换为二进制。

还有一件事,确保Weka知道它应该使用哪个数据列。默认情况下,它选择最后一列作为类列。如果您的课程位于其他专栏中,则必须使用{{1}}标签中的下拉菜单手动更改此课程。