如何选择合适的算法?

sklearn官网给出了算法选择的依据,可以根据以下图片结合自己的实际情况选择合适的算法

总结:如果需要<降低维度>,则使用<主成分分析>。

           如果需要<快速的数字预测>,则使用<决策树>或<逻辑回归>。

           如果需要<分层结果>,则使用<层次聚类>

 

算法选择:

1. 首当其冲应该选择的就是逻辑回归,如果它的效果不怎么样,那么可以将它的结果作为基准来参考,在基础上与其他算法进行比较;

2. 然后试试决策树(随机森林)看看是否可以大幅度提升你的模型性能。即便最后你并没有把它当做为最终模型,你也可以使用随机森林来移除噪声变量,做特征选择;

3. 如果特征的数量和观测样本特别多,那么当资源和时间充足时(这个前提很重要),使用SVM不失为一种选择。

通常情况下:【GBDT>=SVM>=RF>=Adaboost>=Other…】