如何选择聚类算法、回归算法、分类算法?
如何选择聚类算法
- 如果数据集是高维的 —— 谱聚类,它是子空间划分的一种。
- 如果数据是中小规模:
100万以内 —— K_Means
100万以上 —— MiniBatchKMeans(每类抽取一部分样本聚类,精度下降,速度提高) - 数据集中有噪声(离群点) —— 基于密度的带有噪声的 DBSCAN 。
- 如果追求更高的分类准确性,选择谱聚类比K_Means准确性更好。
如何选择回归分析算法
- 数据集本身结构简单、分布规律有明显线性关系——简单线性回归,基于最小二乘法的普通线性回归。
- 自变量数量少或降维后得到了二维变量(包括预测变量)——直接使用散点图,发现自变量和因变量之间的相互关系,然后再选择最佳回归方法
- 自变量间有较强共线性关系——岭回归,L2正则化,对多重共线性灵活处理的方法
- 如果噪声较多——推荐主成分回归,通过对参与回归的主成分的合理选择,可以去掉噪声;各个主成分相互正交,解决多元回归共线性问题。
- 高维度变量下——正则化回归方法,Lasso、Ridge、ElasticNet。降维、逐步回归
- 可使用交叉验证做多个模型的效果对比,验证多个算法
- 注重模型的可解释性—— 线性回归、逻辑回归、对数回归、二项式或多项式回归
- 集成或组合方法——加权、均值等方法确定最终输出结果(一旦确认来多个方法,又不确定取舍)
如何选择分类分析算法
- 文本文类——朴素贝叶斯
- 训练集较小——朴素贝叶斯、支持向量机,高偏差低方差低分类算法,不容易过拟合
- 训练集较大——基本都适用
- 关注模型等计算时间和模型易用性——不用支持向量机和人工神经网络
- 重视算法准确性——支持向量机、GBDT、XGBoost、Adaboost等基于Boosting等集成方法
- 重视算法稳定性或模型鲁棒性——随机森林、组合投票模型等基于Bagging的集成方法
- 预得到预测结果的概率信息,基于预测概率做进一步应用——逻辑回归
- 担心离群点或数据不可分并且需要清晰的决策规则——决策树