添加基于其他属性计算的新属性

时间:2012-11-08 12:00:14

标签: weka

我从WEKA开始,想要实现以下目标。

我有2个属性的文件:user_id,user_age。 我可以使用WEKA API成功加载数据并获取Instances对象。

现在我要计算新属性user_age_range - 如(0-18) - 0,(19-25) - 1等。

有没有办法使用WEKA过滤器计算这个属性? 另外,我不想手动遍历所有实例,而是定义在单Instance上运行的方法,并使用一些过滤器(或其他抽象),将对所有实例应用相应的“转换”。

请建议 - 我如何才能实现这一目标。

提前致谢。

2 个答案:

答案 0 :(得分:0)

浏览完文档后,我找到了一两个可以结合使用的过滤器,以达到你想要的效果。

http://weka.sourceforge.net/doc.dev/weka/filters/unsupervised/attribute/Copy.html

使用copy创建要转换的副本。

http://weka.sourceforge.net/doc.dev/weka/filters/unsupervised/attribute/NumericTransform.html

数值转换采用类和方法选项,您可以编写自己的类,将年龄包装到您想要的范围内,并提供此类和方法作为选项。

希望这有帮助

答案 1 :(得分:0)

使用csv文件,您可以在Excel上执行此操作。 如果您使用的是arff文件,请将其转换为csv,然后可以根据新属性的数量添加所需的列,然后对第一行中的一个或多个属性进行任何处理。将其扩展到所有行并完成。