目前,我参与了一些与数据挖掘相关的项目。我需要使用决策树归纳方法,并以GINIsplit作为分裂标准,将给定的数据集(.csv格式)分类到不同的类别中。所有这些工作都是在Java平台上完成的,没有使用任何工具,例如WEKA、ORANGE等。
我的问题是 – 为了使分类快速且高效,应该使用什么样的数据结构来表示决策树?另外,是否有针对不同类型属性的优化技术?我指的是,如果属性是名义的、数值的还是顺序的,是否有特定的技术?
提前感谢!
回答:
好吧,如果你真的想要最优的分类速度,可以将你的决策树输出到… .class
文件中。也就是说,生成一个树的代码片段,并编译它。这样,评估就可以以Java Hotspot JRE的原生速度执行。
因为你确实可以将决策树编码到程序逻辑中:
if (attribute_x < 0.1) { switch(attribute_c) { case BANANA: { ...
主要的问题是,你想要将这些优化进行到什么程度。