直线机

各种机器学习分类算法的优缺点

发布时间:2022/8/30 19:35:25   
白癜风诚信为民 http://m.39.net/baidianfeng/a_6213655.html

机器学习中有许多分类算法。本文将介绍分类中使用的各种机器学习算法的优缺点,还将列出他们的应用范围。

SVM(支持向量机)

SVM的优点:

1.在高维中表现良好。在现实世界中有无限维度(不仅仅是2D和3D)。例如,图像数据、基因数据、医学数据等具有更高的维数,支持向量机在这方面是有用的。基本上,当特征/列的数量较多时,SVM表现良好。

2.类可分离时的最佳算法(当两个类的实例可以通过直线或非线性轻松分隔时)。为了描述可分离的类,让我们举个例子(这里以线性分离为例,通过绘制抛物线等,类也可以是非线性可分离的)。在第一个图中,您无法轻易分辨X是属于类1还是类2,但是在情况2中,您可以轻易判断出X属于类2。因此,在第二种情况下,类是线性可分离的。

3.离群值的影响较小。

4.SVM适用于极端情况下的二元分类。

SVM的缺点:

1.慢:对于较大的机器学习数据集,需要大量时间来处理。

2.重叠类的性能不佳:重叠类的情况下效果不佳。

3.选择适当的超参数很重要:这将允许足够的泛化性能。

4.选择适当的核函数可能比较麻烦。

SVM的应用范围:

Bagofwords应用程序(许多特征和列),语音识别数据,图像分类(非线性数据),医学分析(非线性数据),文本分类(许多特征)。

朴素贝叶斯

朴素贝叶斯的优点:

1.实时预测:速度非常快,可以实时使用。

2.可通过大型数据集进行扩展。

3.对无关特征不敏感。

4.在朴素贝叶斯中可以有效地进行多类预测。

5.具有高维数据的良好性能(特征数量很大)。

朴素贝叶斯的缺点:

1.特征的独立性不成立:朴素贝叶斯的基本假设是每个特征对结果做出独立且平等的贡献。但是,大多数情况下不满足此条件。

2.糟糕的估算器:不要太认真看待预测的概率输出。

3.训练数据应该很好地代表总体:如果没有一起出现类别标签和某个属性值(例如,class=“No”,shape=“Overcast”),则后验概率为零。因此,如果训练数据不能代表总体,那么朴素贝叶斯将无法很好地工作(通过平滑技术可以解决此问题)。

朴素贝叶斯的应用范围:

朴素贝叶斯可用于文本分类(可以预测多个类别,并且不介意处理不相关的特征)、垃圾邮件过滤(识别垃圾邮件)、情感分析(在社交媒体分析中识别正面和负面情绪),推荐系统(用户下一步将购买什么)。

逻辑回归

逻辑回归的优点:

1.易于实现

2.有效

3.不需要缩放特征:不需要缩放输入特征(也可以使用缩放特征,但是不需要缩放)。

3.不需要调整超参数。

逻辑回归的缺点:

1.非线性数据(例如图像数据)性能不佳。

2.具有不相关和高度相关的特征的性能较差(删除相似或相关的特征和不相关的特征)。

3.不是很强大的算法,很容易被其他算法超越。

4.高度依赖正确的数据表示。所有重要的变量/特性都应该被识别,这样才能很好地工作。

逻辑回归的应用范围:

最好是任何二元分类问题(它也可以执行多类分类,但最好是二元的)。如果您的输出类有两个结果,则可以使用它,例如癌症检测问题,客户借贷时是否违约,客户是否流失,电子邮件是否为垃圾邮件等。

随机森林

随机森林的优点:

1.随机森林可以去相关树。它选取训练样本,给每棵树一个特征子集(假设训练数据是[1,2,3,4,5,6],那么一棵树将得到训练数据子集[1,2,3,2,6,6])。注意,训练数据的大小保持不变,两个数据的长度都是6,在随机采样的训练数据中,2和6是重复的。每棵树都根据它的特征进行预测。在这种情况下,树1只能访问特性1、2、3和6,因此它可以根据这些特征进行预测。其他一些树会访问特征1、4、5,所以它会根据这些特征进行预测。如果特征高度相关,那么这个问题可以在随机森林中解决。

2.减少误差:随机森林是一个决策树的集合。为了预测某一行的结果,随机森林从所有树中获取输入,然后预测结果。这保证了树的个体误差最小化,并减少了总体方差和误差。

3.在不平衡数据集上的良好性能:它还可以处理不平衡数据中的错误(一个类占多数,另一个类占少数)。

4.处理大量数据:它可以处理大量的数据与更高维度的变量。

5.正确处理缺失的数据:它可以很好地处理缺失值。因此,如果模型中有大量丢失的数据,它也可以提供良好的结果。

6.离群值的影响很小:由于最后的结果是通过查询许多决策树得出的,所以某些离群值的数据点不会对随机森林产生很大的影响。

7.没有过度拟合的问题:在随机森林中,只考虑特征的一个子集,最终结果取决于所有的树。所以有更好的泛化能力和更少的过度拟合。

8.有助于提取特征重要性(我们可以将其用于特征选择)。

随机森林的缺点:

1.特征需要具有一定的预测能力,否则将无法正常工作。

2.树木的预测需要特征不相关。

3.出现为黑匣子:很难知道发生了什么。您最多可以尝试使用不同的参数和随机种子来更改结果和性能。

随机森林的应用范围:

信用卡违约(欺诈客户/非欺诈客户),识别患者,电子商务网站的推荐系统等。

决策树

决策树的优点:

1.不需要归一化或缩放数据。

2.处理缺失值:缺失值不会产生重大影响。

3.易于向非技术团队成员解释。

4.轻松可视化

5.自动特征选择:不相关的特征不会影响决策树。

决策树的缺点

1.容易过度拟合。

2.对数据敏感。如果数据稍有变化,结果可能会在很大程度上变化。

3.训练决策树需要更长的时间。

决策树的应用范围:

识别产品的买家,预测违约的可能性,哪一种策略可以使利润最大化,寻找成本最小化的策略,哪一种特性对吸引和留住客户最重要(是购物的频率,是频繁的折扣,还是产品组合等),机器故障诊断(持续测量压力、振动和其他测量,并在故障发生前进行预测)等。

XGBoost

XGBoost的优点:

1.所需的特征工程较少(不需要数据缩放,数据归一化,也可以很好地处理缺失值)。

2.可以发现特征的重要性(它输出每个特征的重要性,可用于特征选择)。

3.离群值具有最小的影响。

4.可以很好地处理大型数据集。

5.良好的执行速度。

6.出色的模型表现(在大多数Kaggle比赛中获胜)。

7.不太容易过拟合。

XGBoost的缺点:

1.解释困难,可视化困难。

2.如果参数未正确调整,则可能过度拟合。

3.由于存在太多超参数,因此难以调整。

XGBoost的应用领域:

可用于任何分类问题。如果特征太多、数据集太大、存在离群值和缺失值,并且不想进行太多特征工程,则XGBoost特别有用。它几乎赢得了所有比赛的胜利,因此这是解决任何分类问题时必须牢记的一种算法。

k-NN(K最近邻)

k-NN的优点:

1.简单易懂,易于实现。

2.没有关于数据的假设(例如,在线性回归的情况下,我们假设因变量和自变量线性相关,在朴素贝叶斯中,我们假设特征彼此独立,但是k-NN不对数据做任何假设)。

3.不断扩展的模型:当暴露于新数据时,它会更改以适应新数据点。

4.多类问题也可以解决。

5.一个超级参数:在选择第一个超级参数时,K-NN可能需要一些时间,但剩下的参数是一致的。

k-NN的缺点:

1.对于大型机器学习数据集,速度较慢。

2.维度诅咒:在具有大量特征的机器学习数据集上效果不佳。

3.必须对数据进行缩放。

4.在不平衡数据上效果不佳。因此,在使用k-NN之前,要么欠采样多数类,要么过采样少数类,使得具有一个平衡的数据集。

5.对离群值敏感。

6.不能很好地处理缺失值。

k-NN的应用范围:

当机器学习数据集较小且特征数较少时,可用于任何分类问题,使得k-NN占用的计算时间较少。如果您不知道数据的形状以及输出和输入的关联方式(是否可以用直线,椭圆或抛物线等分隔类),则可以使用k-NN。



转载请注明:http://www.aideyishus.com/lkyy/1415.html
------分隔线----------------------------