如何选择聚类算法、回归算法、分类算法?

如何选择聚类算法

  • 如果数据集是高维的 ------ 谱聚类,它是子空间划分的一种。
  • 如果数据是中小规模:
    100万以内 ------ K_Means
    100万以上 ------ MiniBatchKMeans(每类抽取一部分样本聚类,精度下降,速度提高)
  • 数据集中有噪声(离群点) ------ 基于密度的带有噪声的 DBSCAN 。
  • 如果追求更高的分类准确性,选择谱聚类比K_Means准确性更好。

如何选择回归分析算法

  • 数据集本身结构简单、分布规律有明显线性关系------简单线性回归,基于最小二乘法的普通线性回归。
  • 自变量数量少或降维后得到了二维变量(包括预测变量)------直接使用散点图,发现自变量和因变量之间的相互关系,然后再选择最佳回归方法
  • 自变量间有较强共线性关系------岭回归,L2正则化,对多重共线性灵活处理的方法
  • 如果噪声较多------推荐主成分回归,通过对参与回归的主成分的合理选择,可以去掉噪声;各个主成分相互正交,解决多元回归共线性问题。
  • 高维度变量下------正则化回归方法,Lasso、Ridge、ElasticNet。降维、逐步回归
  • 可使用交叉验证做多个模型的效果对比,验证多个算法
  • 注重模型的可解释性------ 线性回归、逻辑回归、对数回归、二项式或多项式回归
  • 集成或组合方法------加权、均值等方法确定最终输出结果(一旦确认来多个方法,又不确定取舍)

如何选择分类分析算法

  • 文本文类------朴素贝叶斯
  • 训练集较小------朴素贝叶斯、支持向量机,高偏差低方差低分类算法,不容易过拟合
  • 训练集较大------基本都适用
  • 关注模型等计算时间和模型易用性------不用支持向量机和人工神经网络
  • 重视算法准确性------支持向量机、GBDT、XGBoost、Adaboost等基于Boosting等集成方法
  • 重视算法稳定性或模型鲁棒性------随机森林、组合投票模型等基于Bagging的集成方法
  • 预得到预测结果的概率信息,基于预测概率做进一步应用------逻辑回归
  • 担心离群点或数据不可分并且需要清晰的决策规则------决策树
相关推荐
郑州光合科技余经理4 小时前
代驾系统架构拆解:订单链路、权限组织与私有化源码交付
开发语言·后端·算法·架构·系统架构·uni-app·php
To_OC7 小时前
LC 35 搜索插入位置:二分查找谁都会,边界条件谁写谁懵
javascript·算法·leetcode
码哥DFS7 小时前
二叉树的直径
开发语言·javascript·算法
jay神8 小时前
深度学习确定baseline之后怎么做改进?
人工智能·深度学习·yolo·计算机视觉·分类
营养充电站10 小时前
KMP全栈开发:从Android到AI Agent的技术演进与实践
人工智能·算法·docker·jupyter
技术小黑11 小时前
RNN算法实战系列05 | 天气预测
人工智能·rnn·算法
Ivanqhz13 小时前
php8 use-def链
算法·php
evans在进步14 小时前
LeetCode 189 轮转数组:三次反转原地解决,图解 Java 实现
java·算法·leetcode
歌_顿14 小时前
Drawing_To_Model
算法