加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_阳江站长网 (https://www.0662zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 创业 > 模式 > 正文

Python机器学习教程

发布时间:2020-09-11 09:31:22 所属栏目:模式 来源:51cto
导读:本机器学习教程提供了机器学习的基本和中间概念。它是为完全入门的学生和专业工作人员而设计的。在本教程的最后,您不会成为机器学习方面的专家,但是您将能够制作能够执行复杂任务(例如,预测房屋价格或从尺寸识别虹膜的种类)的机器学习模型。花瓣和萼

 选择K的值,用户在分析数据后选择他认为最好的K值。  测量新点与其最接近的K个点的距离。有多种计算此距离的方法,其中最常用的方法是-Euclidian,Manhattan(用于连续数据点,即回归问题)和Hamming距离(用于分类,即用于分类问题)。  确定更接近新点的点的类别,并相应地标记新点。因此,如果更接近我们的新点的大多数点属于某个“ a”类,则我们的新点预计将来自“ a”类。

现在让我们将此算法应用于我们自己的数据集。让我们首先绘制新数据点。

Python机器学习教程

现在让我们取k = 3,即,我们将看到与新点最接近的三个点:

Python机器学习教程

因此,它被分类为男性:

Python机器学习教程

现在让我们取k = 5的值,看看会发生什么:

Python机器学习教程

正如我们所看到的,最接近新数据点的四个点是男性,只有一个点是女性,因此我们以多数为准,再次将其分类为“男性”。分类时,必须始终选择K的值作为奇数。

回归问题的K-NN

我们已经看到了如何使用K-NN进行分类。现在,让我们看看进行了哪些更改以将其用于回归。该算法几乎相同,只有一个区别。在分类中,我们检查了所有最近点的大部分。在这里,我们将取所有最近点的平均值,并将其作为预测值。让我们再次以相同的示例为例,但是在这里我们必须根据一个人的身高(特征)来预测他的体重(标签)。

高度(厘米)-特征 重量(kg)-标签 187 80 165 50 199 99 145 70 180 87 178 65 187 60

现在我们有了一个高度为160cm的新数据点,我们将K值分别设为1,2和4来预测其权重。

当K = 1时:我们数据中最接近160cm的点是165cm,其权重为50,因此我们得出的结论是预测的权重本身就是50。

当K = 2时:两个最接近的点分别是165和145,权重分别等于50和70。取平均值,我们说预测重量为(50 + 70)/ 2 = 60。

当K = 4时:重复相同的过程,现在我们取4个最接近的点,因此我们得到70.6作为预测的权重。

您可能会认为这真的很简单,并且机器学习没有什么特别的,它只是基础数学。但是请记住,这是最简单的算法,一旦前进,您将看到更加复杂的算法。

机器学习步骤

我希望机器学习只是在数据上应用算法并获得预测值,但这不是那么简单。机器学习中有几个步骤对于每个项目都是必须的。

   1.  收集数据:这可能是最重要和最耗时的过程。在这一步中,我们需要收集可以帮助我们解决问题的数据。例如,如果您要预测房屋的价格,我们需要一个适当的数据集,其中包含有关过去房屋销售的所有信息,然后形成表格结构。我们将在实现部分中解决类似的问题。

    2.  准备数据:有了数据后,我们需要将其以正确的格式进行处理。预处理涉及各种步骤,例如数据清理,例如,如果您的数据集包含一些空值或异常值(例如,字符串而不是数字),您将如何处理它?我们可以采用多种方法,但一种简单的方法是只删除具有空值的行。

  同样有时候在数据集中,我们可能会有对结果没有影响的列,例如id,我们也将这些列也删除了。我们通常使用数据可视化通过图形和图表对数据进行可视化,然后在分析图形之后确定特点是important.Data预处理是一个巨大的话题。

    3.  选择模型:现在我们的数据已经准备就绪,可以输入到机器学习算法中了。如果您想知道什么是模型?通常,“机器学习算法”与“机器学习模型”可以互换使用。模型是对数据运行的机器学习算法的输出。

  简单来说,当我们对所有数据实施算法时,我们得到的输出包含所有规则,数字以及进行预测所需的任何其他特定于算法的数据结构。例如,在对数据执行线性回归后,我们得到了最佳拟合线的方程式,该方程式称为模型。下一步通常是训练模型,以防万一我们不想调整超参数并选择默认参数。

    4.  超参数调整:超参数 至关重要,因为它们控制着机器学习模型的整体行为。最终目标是找到能够为我们带来最佳结果的超参数的最佳组合。但是这些超参数是什么?记住我们的K-NN算法中的变量K。

  当我们设置不同的K值时,我们会得到不同的结果.K的最佳值不是预先定义的,并且对于不同的数据集是不同的。没有方法可以知道K的最佳值,但是您可以尝试不同的值并检查哪个值可获得最佳结果。这里的K是一个超参数,每个算法都有自己的超参数,我们需要调整它们的值以获得最佳结果。

    5.  评估:您可能想知道,如何知道模型的性能好坏,还有什么比在某些数据上测试模型更好的方法呢?该数据被称为测试数据,并且不能是我们在其上训练算法的数据(训练数据)的子集。

  训练模型的目的不是让它学习训练数据集中的所有值,而是识别数据中的基础模式,并基于此模式对从未见过的数据进行预测。有多种评估方法,例如K折交叉验证等。我们将在下一节中详细讨论此步骤。

(编辑:应用网_阳江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读