当前位置: 首页 > 网络应用技术

我去世后,伯克利CS61A,这是我见过的最酷的Python工作

时间:2023-03-06 11:49:06 网络应用技术

  大家好,我去世了,我是Liang Tang。这篇文章在公共帐户中开始:

  今天,我们继续谈论Berkley的公共CS61A,这次是本课程的第二个主要任务。

  该项目将通过用户在网页上的评估和显示,使用机器学习算法来收集伯克利附近的餐馆类别。

  最终效果可能是这样的:

  尽管项目中使用的机器学习和Python的知识相对基本,但整个项目的最后演示效果仍然使我震惊。这确实是我见过的最酷的Python作品。

  老师为我们完成了所有数据收集和Web显示的一部分。我们要实现的是核心逻辑。

  公共班视频

  原始解释

  github

  该项目使用Yelp中的真实数据,并且可以将Yelp理解为对海外版本的公众评论。该类别需要由机器学习的集群算法实现。因此,该项目还将涉及一些基本的机器学习知识。

  实施Utils.py,也就是说,某些项目需要经常使用。

  问题0.1使用列表综合列表理解是以下语法形式:

  例如,如果我们想在10之内生成所有正方形,我们可以操作以下操作:

  根据过滤从现有列表中过滤,在调用过滤后进行映射,并获得新列表。

  您需要确保代码仅是一行,并且列表理解。

  问题0.2:使用函数接收列表并返回最小的元素,但它也可以接收一个匿名函数,并通过定义元素进行排序。此匿名函数只能有一个输入,列表中的每个元素都会调用,并且结果将用于比较。

  请参阅以下示例:

  我们需要实现一个函数,其输入是字典D.返回到字典中的小键。

  只需使用一行代码和功能。

  字典在函数中起作用的元素是关键,因此我们可以实现一个匿名函数以通过键找到值。

  实现功能,输入是返回列表的平均值的列表。保证顺序不需要空。

  在文件中实现结构和选择功能。

  我们只需要模仿文件中的示例即可实施:

  实施后,您可以运行命令以查看指定的用户额定商店。运行以下命令后,网页的内容为:

  在此阶段,我们需要在无监督的学习中使用群集算法,以将更亲密的餐馆融入一个类别。

  我们正在使用K-Means算法,这是一种经典的无监督群集算法。它可以在与K类的距离内收集大量数据。其算法的原理非常简单。初始化时,您将从数据中选择k点作为群集(类别中心)。然后重复两个步骤,直到群集不再更改:

  在实施算法的过程中,可能会遇到一些术语。以下是解释:

  实现功能,输入坐标并设置(群集坐标),然后返回距离。

  您需要使用使用中的功能来计算两者之间的距离。

  在现在的函数中,我们只能需要一行代码来获取它:

  实现该功能,输入列表和列表,然后返回数组。

  每个都是一个共同的列表,它比其他列表更接近某个列表。您可以忽略退货顺序。

  如果家庭的距离相同,请选择最小的序列号。

  提示:使用提供的功能来实施

  功能代码如下:

  本段的输入是一对列表,对是一个组合。首先提取所有键,然后根据键进行组对。

  我们的目的是根据最近的距离进行分类。使用该功能,我们可以生成表单数据并调用目标。

  实现功能,根据中间点的坐标平均值计算中心点。

  提示:使用UTIT中的平均功能来实现逻辑

  实现函数以完成KMeans算法,并且代码中的第一步已在代码中实现。遵循下一步完成以完成WILE语句:

  提示:您可以使用和功能

  实际上,只要理解了Kmeans功能和功能的逻辑,就不难实现。代码如下显示:

  我们可以使用以下命令测试:

  结果如下:

  在此阶段,我们需要预测用户的餐厅分数。我们需要在机器学习中使用监督学习算法来预测用户为尚未访问的餐厅评分。现有用户的数据评分,以便该模型可以根据历史数据做出尽可能准确的预测。

  完成此阶段之后,您的可视化结果将包括所有餐馆,不仅包括餐馆得分的用户。

  为了预测评分,需要使用最小第二个乘法训练线性回归模型。这是机器学习领域中常用的回归模型。它可以学习特征之间的线性关联,并可以预测进行预测。

  该算法读取一系列输入和输出对,并返回斜率,使其成为所有样品点距离之间的最小距离。

  实现功能,输入一个,系列和功能提取功能。

  该函数返回两个值:和一个值。使用最低每日方法进行计算和。该方法描述如下:

  计算中的系数A和B表示线性函数:。衡量模型的准确性和原始数据。

  我们可以使用以下公式来计算三个值:$ s {xx},s {yy},s_ {xy} $:

  计算这三个值后,我们可以替换以下公式来计算A和B,并且:

  提示:您可以使用和功能

  实际上,算法的实施并不困难。该公式是为我们编写的。我们只需要根据公式实施它。

  实际上,更麻烦的是该公式的推导。它需要基于至少两个多层性和线性回归模型。如果您有兴趣,可以弥补这一部分。

  实施功能,闩锁和列表。

  它使用每个功能来计算和返回最高功能。

  所有基于用户的餐厅列表都已评论,因此我们需要使用功能进行过滤。此功能以前已经实现。

  提示:该功能还可以接收与

  使用我们刚刚开发的功能,只需通过返回找到最大值即可。

  实现该函数,以列表输入参数。它返回词典,其键是名称,其值是赛车。

  如果用户以前得分并直接使用历史分数,则将用于预测。

  提示:您可以在使用中使用该功能

  逻辑并不复杂。让我们枚举它以确定它是否出现在用户评论列表中。如果没有,则用于预测,否则该函数将用于获得分数。

  实施后,我们可以使用以下命令测试:

  结果如下:

  实现功能,其输入是一个,它是字符串类型,指示类别。返回所有类别。

  提示:我们可以使用列表comprekension

  每个都有属性,这是几个类别的列表。我们只需要判断它是否在其中。

  实施完成后,您可以使用以下命令测试:

  结果如下:

  如果愿意,您还可以在文件夹中创建评分数据以进行演示。

  只是因为我们不在伯克利,我对伯克利附近的餐馆一无所知,所以我不能说...

  尽管这个项目看起来很大又复杂,但实际上,我只花了一两个小时的时间来完成整个代码,总体体验非常好。尽管UI页面不是由我们编写的,当调试时,请看到很酷的结果,仍然非常非常成就。总体代码质量非常好,值得学习。