在weka中以不同方式合并属性

时间:2018-04-13 12:06:17

标签: weka data-mining

我正在使用Weka预处理数据集。问题是我有一个属性'医学专业',其中包含大量超过70的标签,所以通过爆炸它(从名义更改为二进制),我在数据集中获得了70多个属性。所以我找到了尽可能减少这个数字的方法:

以下是了解标识值的示例:

*儿科

*儿科-Endocrnology

*内分泌

所以我只需要保留小儿科内分泌作为属性,对于小儿科 - 内分泌中的实例,他们将在< strong>儿科和内分泌中的1。

我怎么能用weka做到这一点?有什么建议??

1 个答案:

答案 0 :(得分:1)

您应该可以使用 StringToWordVector 无监督属性过滤器来执行此操作。您需要:

  • 确保属性是字符串,而不是名义上的:如果数据已经从ARFF加载,则使用 NominalToString ,或者如果您从CSV加载源数据然后勾选Invoke options dialog框并在stringAttributes字段中输入属性索引
  • 如果您想要在问题中拆分由连字符连接的单词,请在标记生成器选项中的分隔符列表中添加连字符-
  • 在StringToWordVector设置中设置您需要的任何其他选项,例如,如果出现具有不同情况的相同单词,您可能希望将lowerCaseTokens设置为true。您不需要为dictionaryFileToSaveTo设置任何内容,除非您需要保存过滤器找到的字词词典。

假设您正在使用Weka Explorer GUI。如果您通过命令行或API操作Weka,请参阅文档以了解如何调用过滤器并设置相应的选项。