我是weka的新手。.我的数据包含一列学生姓名。我想在整个列中将这些名称转换为数值。例如:假设有10个名称abcd,cdef,xyz等。我想对数据进行预处理,以便与每个名称相对应的都有一个不同的数值,例如abcd更改为1,cdef更改为2,等等。
两行或更多行也可以具有相同的名称。因此,在这种情况下,相同的名称应具有相同的值。
请帮我...
Weka支持4种非关系属性类型:名义,数字,字符串和日期。您可以在《 Weka手册》(可在与您下载Weka的文件夹相同的文件夹中)的“ ARFF标头部分”一章中找到有关它们的更多信息。
您应该找出“学生姓名”属性的类型是什么(可能是字符串,但可以是标称的),并确定转换后的值(数字,标称或字符串)的属性的类型是什么。
可能有2种情况:
(1)如果现有属性和所需属性的类型相同(字符串或名义上的属性,即您只想更改值,而不是属性类型),则可以这样做
(a)手动-在以下位置打开数据文件Weka Explorer,然后单击Edit ...按钮,或
(b)使用Weka的Attribute类函数value和编写一个小程序setValue。
(2)类型不同-Weka属性类型无法转换,因此您将不得不使用转换后的值创建并插入新属性,并删除旧属性。有关如何创建新属性的示例,请参见 http://weka.wikispaces.com/Programmatic+Use#Step。