使用分隔符拆分属性标签以处理

时间:2018-03-31 14:52:11

标签: weka kaggle

我在Weka 3.8中打开了一个csv文件并选择了一个属性/列(下图)。标签由管道字符分隔。应该有23个不同的标签,但Weka显示914.因此,Weka无法想象太多的值。动作是一个标签,冒险是另一个标签,等等。基本上每行可以有多个标签。

对于处理(例如分类),如何分离这些值以便Weka可以读取它们?

此问题与this类似。但问题是关于日期属性(例如“dd-MM-yyyy HH:mm”)。这询问有关字符分隔的值(例如“Action | Adventure | Drama”)

selected attribute with labels delimited by |

编辑: 数据来自kaggle

1 个答案:

答案 0 :(得分:0)

啊,我也遇到了这个问题。

首先,确保Genres属性被识别为String类型。如果您仅使用GUI,请转到Open File...并打开文件(我假设它是.dat文件。如果您已将其重命名为.csv,请选中以下复选框:调用选项对话框”)。

Invoke options dialog check box

在“通用对象编辑器”窗口中,输入“流派”属性的索引(此处为最后)。

Edit the stringAttributes field

这样做会导致属性在GUI中看起来像这样。

Neither numeric nor nominal

现在选择名为StringToWordVector(weka.filters.unsupervised.attribute.StringToWordVector)的过滤器。现在,在“编辑器”窗口下,找到 Tokenizer 条目,单击其字段,然后在 delimeters 下删除默认值并添加管道字符。您也可以选择编辑属性前缀字段。

Edit the delimiter entry.

套用并找到作为数字属性添加的所需流派,如果原始字符串中不存在该流派,则设置为0,否则设置为1。

New attributes added into the fray

StringToWordVector是一个非常有用的过滤器,文档中还有更多内容:http://weka.sourceforge.net/doc.dev/weka/filters/unsupervised/attribute/StringToWordVector.html