我有一个包含数字和名义属性混合的数据集。我想将数据集中的所有名义属性转换为数字,以便我可以应用仅适用于数字属性的SVM分类器内核(PolyKernel和RBFKernel)。任何帮助将不胜感激。仅供参考我已经尝试过NominalToBinary过滤器(它不是我想要的)
答案 0 :(得分:1)
您可以做的一件事是使用RenameNominalValues转换属性的所有标签名称。请注意,所有这些新标签都需要是数字,因此您可能需要更改它们,如下所示:
完成后,您可以保存.ARFF文件,并从以下位置更改属性列表中的条目:
@attribute a0 {false,true,maybe}
到
@attribute a0 numeric
保存后,重新加载文档,希望所有文件都能正常加载。
或者,如果将数据转换回ARFF,则可以尝试使用自己喜欢的电子表格应用程序。
希望这有帮助!
答案 1 :(得分:0)
没有将名义数据转换为数值数据的直接过滤器。如果您的名义属性有 2 个值(性别:男性、女性),您可以轻松地在无监督过滤器“名义到二进制”下应用过滤器。
但如果属性有 2 个以上的变体,则不能使用 “从名义到二进制”。所以你需要使用一个名为“重命名名义值”的过滤器。在那里您可以将标称值转换为数值。 例如:如果您的数据集有一个名为 " region" 的属性,并且它有 "INNER_CITY, TOWN, SUBURBAN, SUBURBAN" 作为值,您可以使用“重命名名义值”过滤器。
有一个值替换表,您只需添加如下值即可。 INNER_CITY:0, TOWN:1, SUBURBAN:2, SUBURBAN:3
你可以看到你的结果。
答案 2 :(得分:0)