Algorithm 决策树vs朴素贝叶斯vs KNN

Algorithm 决策树vs朴素贝叶斯vs KNN,algorithm,decision-tree,knn,naivebayes,Algorithm,Decision Tree,Knn,Naivebayes,在进行数据挖掘时,什么时候应该选择其中一种算法而不是另一种?有没有具体的原因?还有,哪一个是最有效的 我将给出一个表格作为示例。 选择的一种方法是尝试所有这些方法并选择最好的 如果我试图构建数据来支持其中一个,下面是我可能会做的 1) 为了支持决策树,只有几个属性决定正确答案,而其他所有属性都是无用的干扰 2) 为了支持朴素贝叶斯,通过随机选择n 1s和n+1-1s或n+1 1s和n-1s并将它们随机分配给属性来构造2n+1属性。让正确的答案是绝对多数是+1还是-1 3) 为了支持kNN,使用二

在进行数据挖掘时,什么时候应该选择其中一种算法而不是另一种?有没有具体的原因?还有,哪一个是最有效的

我将给出一个表格作为示例。

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

如果我试图构建数据来支持其中一个,下面是我可能会做的

1) 为了支持决策树,只有几个属性决定正确答案,而其他所有属性都是无用的干扰

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

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

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


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

我假设三者中的KNN的运行时间最长,这是正确的吗?