两者之间有许多差异,但实际上,要考虑三个主要方面:速度,可解释性和准确性。
决策树
- 训练后应该更快(尽管两种算法都可以根据精确算法和数据量/维数缓慢训练)。这是因为决策树会固有地“丢弃”它认为不有用的输入特征,而神经网络将全部使用它们,除非您进行某些特征选择作为预处理步骤。
- 如果重要的是要了解模型在做什么,这些树就很容易解释。
- 仅模型函数是数据的轴平行拆分,而事实并非如此。
- 您可能要确保修剪树,以免过度拟合。
神经网络
- 速度较慢(用于训练和分类),并且难以解释。
- 如果数据以流的形式到达,则可以使用随机梯度下降来进行增量更新(与决策树不同,决策树固有地使用批处理学习算法)。
- 可以建模更多任意函数(非线性相互作用等),因此,如果有足够的训练数据,则可能会更加准确。但它也可能容易过拟合。
您可能要尝试同时实现这两种方法,并对数据进行一些实验,以查看哪种方法更好,并确定运行时间基准。或者,您可以使用类似Weka GUI(带有代表性数据样本)的东西来测试两种方法。
也可能是,将“装袋”或“增强”算法与决策树一起使用将提高准确性,同时保持一些简单性和速度。简而言之,如果速度和可解释性确实很重要,那么树木可能是起点。否则,取决于情况,您将需要进行一些经验探索。