决策树与Naive Bayes vs KNN

时间:2015-10-11 23:39:29

标签: algorithm decision-tree knn naivebayes

在进行数据挖掘时,何时应该选择其中一种算法?有具体原因吗?哪个是最有效的?

我打算给出一个表格用于示例目的。 enter image description here

1 个答案:

答案 0 :(得分:2)

选择的一种方法是尝试所有这些并选择最好的。

如果我试图构建数据以支持其中一个,那么我可能就是这样做的。

1)为了支持决策树,只有少数属性可以确定正确的答案,而其他所有人都无法分心。

2)为了支持朴素贝叶斯,通过随机选择n 1s和n + 1 -1s或n + 1 1s和n -1s并随机地将它们分配给属性来构造2n + 1个属性。做出正确答案的是绝大多数是+1还是-1。

3)为了支持kNN,使用二维数据并在0s的背景中绘制1s的宽螺旋图案,具有大约相等的0或1的数量。正确的答案是你是在0还是1。

kNN肯定会在您做决定时占用更多内存,因为您必须记住所有实例,而不是将它们归结为权重和树规则。我还希望在决策时间花费更多时间,尽管有些图书馆试图加快这个速度。朴素贝叶斯可能是最快和最小的。

有许多不同的方法可以使用决策树,以及一些非常复杂的开发方法,例如随机森林,这可能会花费大量的时间和内存,但可能会对某些数据做得更好。