在机器学习中我们对常用模型已有初步的了解,那么在实践中成功的应用机器学习模型算法才是更加重要的。而对于何时使用哪一种模型效果会更好,对此我做出的一些简单总结

1.KNN (k近邻)
适用于小型数据集,knn作为基准模型有很好的效果,但是因为预测性能不佳,导致其适用性的减弱,但是其原理简单,比较容易解释
2.线性回归(线性模型)
线性模型是一种非常常用的算法,在性能上比较可靠,适用于非常大的数据集,并且适用于高维数据。
3.决策树
速度很快,而且不需要对数据进行缩放处理,结构清晰支持可视化。但是要注意在遇到连续数据时需要将数据离散化处理,对输入数据集的要求较为苛刻。
4.随机森林
random forest是一种优秀的学习集成算法,几乎总是比单棵决策树效果更好,鲁棒性强,也是不需要数据缩放,但是不适用于高维度稀疏数据。
5.朴素贝叶斯
朴素贝叶斯只适用于分类问题的处理,与线性模型相比,比线性模型更快,并且适用于非常大的数据集与高维数据。模型的精确度要普遍低于线性模型。
6.梯度提升树(GBDP)
也是一种集成学习算法,精度通常比随机森林略微高出,与随机森林相比,训练速度慢,但预测速度更快,空间复杂度更低,比随机森林需要更多的参数调节。
7.支持向量机
对于特征含义相似的中等大小的数据集很强大。需要对数据进行缩放处理,而且对参数很敏感。
8.bp神经网络
可以构建非常复杂的模型,特别是对大型数据集而言,神经网络相对于数据缩放十分敏感,对参数的添加与选取也很敏感,通常我们使用TensorFlow、keras、caffe等深度学习框架来进行构建,训练时间长也是神经网络的特点之一。