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