机器学习是数据科学学习者应该掌握的领域之一。如果你是数据科学新手,你可能听过“算法”或“模型”这些词,但不知道它们与机器学习有什么关系。
机器学习算法被分类为监督学习或非监督学习。
监督学习算法对标记的输入和输出数据(也称为目标)之间的关系进行建模。然后使用这个模型来预测使用新标记的输入数据的标签的新观察结果。如果目标变量是离散的,我们处理的是分类问题,而如果目标变量是连续的,我们处理的是回归问题。
相比之下,非监督学习不依赖于标记的输入/输出数据,而是处理未标记的数据。
以下是数据科学学习者应该了解的6个监督学习算法。
1. 线性回归
线性回归是机器学习中使用最简单的算法。该算法用于建立两个或多个变量之间的关系模型。线性回归有两种类型——简单线性回归和多元线性回归。
在简单线性回归中,有一个自变量和一个因变量,而在多元线性回归中,有多个自变量和一个因变量。
以下是多元线性回归方程:
其中y
是因变量(目标值),x1、x2、…xn
是自变量(预测器),b0
是截距,b1、b2、…bn
是系数,n
是观测值的数量。
在下面的图片中,你可以看到线性关系,所以如果一个变量增加或减少,另一个变量也会增加或减少。
我们可以使用线性回归来预测分数、工资、房价等。尽管如此,与其他算法相比,预测准确性并不好。
2. 支持向量机(SVM)
支持向量机(SVM)是一种用于分类问题的监督学习算法。我们通常使用带有标记的训练数据来馈送SVM模型以对新文本进行分类。
当样本数量有限且速度是优先考虑的时候,SVM是一个不错的选择。这就是为什么在文本分类中处理仅有几千个标记样本的数据集时使用SVM。
为了更好地理解SVM的工作原理,让我们看一个例子。
在下面的图片中,我们有两个标签(绿色和黄色)和两个特征(x和y)。假设我们想建立一个分类器,用于查找我们的文本数据是绿色还是黄色。如果是这样,我们会在一个n维空间中绘制每个观察结果(也称为数据点),其中“n”是所使用的特征数。
我们只有两个特征,所以观察结果在2维空间中绘制,如下图所示。
SVM获取数据点并制作最佳分离类别的超平面。由于观察结果在2维空间中绘制,因此超平面是一条线。
这条红线也称为决策边界。决策边界确定数据点属于一个类别还是另一个类别。在我们的例子中,如果数据点落在左侧,它将被归类为绿色,而如果落在右侧,它将被归类为黄色。
3. 决策树
如果你对机器学习一无所知,你可能仍然了解决策树。
决策树是计划、统计和机器学习中使用的模型,它使用决策/结果的树状结构来评估涉及特定问题的可能事件。
以下是评估人们想踢足球的场景的决策树。
每个正方形称为节点。决策树的最后节点称为树的叶子。为了进行预测,我们从树的根节点(第一个节点)开始。决策树中的每个节点都将被评估。然后,我们跟随与评估相符的分支并跳转到下一个节点。
决策树算法可用于解决回归和分类问题。我们使用决策树来构建一个模型,通过从训练数据中学习决策树规则来预测目标变量的类或值。
4. 随机森林
随机森林是许多决策树的集合。它将决策树的简单性与灵活性相结合,从而提高了准确性。
要创建随机森林,首先我们需要创建一个“自助”数据集。自助是从原始数据中随机选择样本(我们甚至可以多次选择同一样本)。然后,我们使用自助数据集来创建决策树。
这种方法称为“装袋”。如果我们多次重复上述步骤,我们将得到很多树。这种树的多样性是使随机森林比单个决策树更有效的原因。
如果随机森林用于分类任务,则模型选择每个决策树预测的众数。对于回归任务,模型选择决策树结果的平均值。
5. 朴素贝叶斯
朴素贝叶斯是一种有监督学习算法,它使用条件概率来预测类别。
朴素贝叶斯算法基于贝叶斯定理:
p(A|B): Probability of event A given event B has already occurred
p(B|A): Probability of event B given event A has already occurred
p(A): Probability of event A
p(B): Probability of event B
朴素贝叶斯假设每个特征都彼此独立,但这并不总是正确的,因此我们在选择此算法之前应该检查我们的数据。
假设特征彼此独立使得朴素贝叶斯相对于更复杂的算法更快,但也使得此算法的准确性较低。
我们可以使用朴素贝叶斯来预测天气预报、欺诈检测等。
6. 逻辑回归
逻辑回归是一种有监督学习算法,通常用于二元分类问题。这意味着我们可以使用逻辑回归来预测客户是否会流失,以及查找邮件是否为垃圾邮件。
逻辑回归基于逻辑函数(也称为sigmoid函数),它接受一个值并分配一个介于0和1之间的概率。
以下是逻辑回归的图形:
为了更好地理解逻辑回归的工作原理,考虑需要分类电子邮件是否为垃圾邮件的情况。
在图中,如果Z趋近于无穷大,Y(我们的目标值)将变为1,这意味着邮件是垃圾邮件。然而,如果Z趋近于负无穷大,Y将变为0,这意味着邮件不是垃圾邮件。
输出值是一个概率,因此如果我们获得一个值为0.64,则意味着有64%的概率邮件是垃圾邮件。
学习Python数据科学?通过加入我的电子邮件列表与10k+人一起获得免费的Python数据科学备忘单。
如果你喜欢阅读这样的故事并想支持我作为作家,请考虑注册成为Medium会员。它每月5美元,为你提供无限访问数千篇Python指南和数据科学文章。如果你使用我的链接注册,我将获得一小笔佣金,你不需要额外支付费用。
评论(0)