我在Weka 3.8中打开了一个csv文件并选择了一个属性/列(下图)。标签由管道字符分隔。应该有23个不同的标签,但Weka显示914.因此,Weka无法想象太多的值。动作是一个标签,冒险是另一个标签,等等。基本上每行可以有多个标签。
对于处理(例如分类),如何分离这些值以便Weka可以读取它们?
此问题与this类似。但问题是关于日期属性(例如“dd-MM-yyyy HH:mm”)。这询问有关字符分隔的值(例如“Action | Adventure | Drama”)
编辑: 数据来自kaggle。
答案 0 :(得分:0)
啊,我也遇到了这个问题。
首先,确保Genres属性被识别为String类型。如果您仅使用GUI,请转到Open File...
并打开文件(我假设它是.dat
文件。如果您已将其重命名为.csv
,请选中以下复选框:调用选项对话框”)。
在“通用对象编辑器”窗口中,输入“流派”属性的索引(此处为最后)。
这样做会导致属性在GUI中看起来像这样。
现在选择名为StringToWordVector(weka.filters.unsupervised.attribute.StringToWordVector
)的过滤器。现在,在“编辑器”窗口下,找到 Tokenizer 条目,单击其字段,然后在 delimeters 下删除默认值并添加管道字符。您也可以选择编辑属性前缀字段。
套用并找到作为数字属性添加的所需流派,如果原始字符串中不存在该流派,则设置为0,否则设置为1。
StringToWordVector
是一个非常有用的过滤器,文档中还有更多内容:http://weka.sourceforge.net/doc.dev/weka/filters/unsupervised/attribute/StringToWordVector.html。