【问题标题】:Weka string attributes for sparse ARFF file稀疏 ARFF 文件的 Weka 字符串属性
【发布时间】:2011-08-26 08:26:41
【问题描述】:

我正在尝试使用 Weka 进行文本分类。 为此,使用稀疏 ARFF 数据文件格式是有意义的。 使用 Weka 3.7.2,我尝试了:

  1. 使用以下方法将文本目录转换为 Instances 对象 TextDirectoryLoader。
  2. 使用StringToWordVector将前一阶段产生的字符串转换为数字。

第一阶段运行良好。第二阶段导致了一个问题,在 Weka's ARFF file format specification:

警告:从具有字符串属性的数据集中保存 SparseInstance 对象存在一个已知问题。在 Weka 中,字符串和名义数据值存储为数字;这些数字充当可能属性值数组的索引(这非常有效)。但是,第一个字符串值被分配索引 0:这意味着,在内部,这个值被存储为 0。当写入 SparseInstance 时,内部值为 0 的字符串实例不会输出,因此它们的字符串值会丢失(并且当再次读取arff文件,默认值0是不同字符串值的索引,所以属性值出现变化)。

ARFF 格式建议采用这种解决方案:

要解决此问题,请在索引 0 处添加一个虚拟字符串值,当您声明可能在 SparseInstance 对象中使用并保存为 Sparse ARFF 文件的字符串属性时,该值永远不会使用。

我正在尝试这样做 - 添加一个虚拟字符串。我未能手动执行此操作(通过编辑 ARFF 文件)。任何做过这件事的人都可以发布一个例子 - 执行此操作的程序段、正确修改的 ARFF 文件或其他方式执行此操作?

谢谢。

【问题讨论】:

标签: file-format weka sparse-matrix arff


【解决方案1】:

不要直接编辑 arff 文件。

我刚刚在这里回答了一个类似的问题: Weka printing sparse arff file

使用相同的代码示例。

【讨论】:

    猜你喜欢
    • 2014-08-12
    • 2012-04-08
    • 1970-01-01
    • 1970-01-01
    • 2015-03-01
    • 2015-04-03
    • 2015-04-20
    • 2014-05-31
    • 1970-01-01
    相关资源
    最近更新 更多