判断算法优劣时,可从以下几点思考:
- 训练样本的数量
- 特征空间的维数
- 特征独立与否?
- 模型是否是线性可分?
- 过拟合现象?
- 速度、性能、内存
logistic回归的优缺点
优点:
- 容易实现,且易于解释(输出结果为概率)
- 计算速度快,内存占用少
- lr的输出类型是一个与样本相关概率列表,我们任意设定阈值,从而得到我们想要的分类结果;
- LR对数据中的小噪音的鲁棒性很好,并且轻微的多重共线性不会对其结果产生特别的影响。严重的多重共线性可以使用LR+L2正则来解决。
缺点:
- 当训练样本量大时,性能不好,同时容易发生欠拟合现象;
- 传统的LR是线性二分类器,只能处理二分类问题;
- 对于非线性特征,需要进行转换;
SVM的优缺点
优点:
- 相比较LR,其能解决非线性问题;
- SVM 的最终决策函数只由少数的支持向量所确定,计算的复杂性取决于支持向量的数目,而不是样本空间的维数,这在某种意义上避免了“维数灾难”,也就是相对能解决高维问题;
- SVM是最好的现成的分类器(现成是指不加修改可直接使用),并且能够得到较低的错误率;
缺点:
- SVM算法对大数据训练样本难以实施(需要求解m阶矩阵的运算,m是样本数)
- SVM解决多分类问题存在困难
- 解决非线性问题时,无通用方法,需要谨慎选择核函数
决策树的优缺点
优点:
- 结果易于理解,可解释性强;
- 相比较于LR只能处理二值型特征,决策树可以处理连续性特征、数据型特征;
- 运行速度快;
缺点:
- 不支持在线学习(有新样本就要重新训练)
- 容易过拟合
- 忽略数据集中属性之间的相关性;
- 数据有缺失时处理困难;
朴素贝叶斯的优缺点
优点:
- 生成式模型,通过计算概率来进行分类(高偏差/低方差模型),对小数据适应良好适合增量式训练;
- 预测速度快
缺点:
- 对输入数据的表达形式很敏感
- 需要特征条件独立;
DBSCAN的优缺点
优点:
- 聚类速度快;
- 基于密度定义,能够有效处理噪声点
- 和k-means方法比,没有超参数,不需要事先定义簇的个数;
- 聚类簇形状没有偏倚,可以发现任何形状的簇
基于密度定义,相对抗噪音,能处理任意形状和大小的簇
缺点:
- 当空间聚类的密度不均匀、聚类间距差相差很大时,聚类质量较差,因为这种情况下参数MinPts和Eps选取困难。
- 在高维空间,密度的定义是个问题;