speaker 1: 大家好,欢迎参加今天的会议,我叫luag是get up的一名解决方案工程师。 我每天的工作主要是与客户和开发者交流,了解他们面临的一些日常挑战,并为他们带来一些顶级的开发工具,最终帮助他们更高效、更安全的编写代码。 Githucopy lot是一个非常前沿的开发工具。 今天我们将探讨copy lot的一个非常具体的应用,那就是当你在构建或训练机器学习模型或分析数据集以获取见解时,copy lot如何充当你的AI编程助手。 今天的议程非常简单明了,我们将探讨get up copy lot是什么,以及如何在代码编辑器中与他互动。 这可以通过copy lot聊天进行对话,或让copy lot为你生成代码。 一旦你定义了你的意图,我们将会看看数据预处理管道的不同步骤,这可以从一般了解你的数据集开始,到实际清理数据,识别空值、损坏值,从数据集中移除干扰项,并确保数据格式正确,以便输入到机器学习模型中。 我们会在每一步都使用GitHub,coplot, 只需定义你的意图,剩下的工作交给Copilot处理。 最后我们将了解如何训练机器学习模型以及抠如何帮助你理解其原理,接着我们会详细讨论模型评估过程,看看copy lot如何协助你完成,我们的目的是看看在构建创新且复杂的软件时,AI编程助手能做些什么,那么让我们开始吧,欢迎来到我的代码编辑器,左边是copchat,这是在编写代码时与cop互动的一种更对话的方式。 或者你也可以利用注释来提示coplot给你代码建议,或者通过点击编辑器中的slot start来使用内联copy lot编辑器,你可以再次输入提示让copy lot生成建议,我可以问copylot我需要进行哪些步骤来预处理我的数据。 以训练机器学习模型。 现在的目的是go by lot会利用我的提示给我一个非常具体的建议,帮助我作为开发者编写代码。 因此在这种情况下,我们会检查缺失值并进行数据类型转换,以确保分类数据具适合我的数据集。 他还建议检测异常值进行特征选择,并提供一些我可以利用的示例代码。 我现在可以按照一个low斗式的提问方式,从一个非常一般的问题开始,随着我编写代码,逐渐提出更具体的问题。 好吧,有了这些步骤,让我们实际开始编写代码并预处理数据。 现在预处理任何数据集的第一步是让我们了解这些数据是什么,它在向我们传达什么信息,以及数据集中是否有需要清理的部分,这可能是缺失值,数据集中损坏的值需要处理,以便我们的模型可以摄取并进行训练。 现在我要做的第一件事是让copy lot描述我的数据集。 你可以看到,通过简单的利用注释,copy lot将能够理解我的意图并开始生成代码。 在我们处理数据集并构建机器学习模型的过程中,你会看到我是如何将所有这些步骤委托给copier的。 它为我生成代码,而我作为工程师将更多的进行决策和战略方面的工作。 所以copy lot一开始就建议我使用describe功能,现在我可能不理解descriscribe功能显示的内容及这些指标的真正含义,所以我会突出显示这段代码,并要求库拜罗解释这段代码的含义。 你会看到,基于我的提示和上下文,copy罗将帮助我理解describe功能的作用以及这些不同的指标是什么。 所以在编写代码、构建机器学习模型、预处理或处理数据集的过程中,你可以与cop互动,确保填补你作为开发人员可能无意中存在的知识空白。 好吧,现在我想更深入的了解我的数据,看看是否能获得更多信息。 所以再次利用我的注释作为提示,我可以要求cop给我更多数据,我可以看到在某些情况下,我的数据集中实际上存在knowledge。 所以价格列和发动机容量列有knowledge值,我需要处理这些值。 既然这是我要执行的任务,我会再次要求cocoplot理解我的意图并开始生成相关代码,所以我现在要求copbe lot生成汽车销售数据框中美型缺失值的总和,因为我想了解实际缺失了多少数据,因此需要采取哪些步骤。 在这里我看到价格列有172个缺失值,发动机容量有150个缺失值。 现在将由我作为工程师来决定如何处理这些问题。 但我也可以请教coplot,看看它能提供什么可能的解决方案,所以我可以问co百聊天框处理数据框中缺失值有哪些方法? 作为开发者,我有能力和技术知识来判断是否需要填补或替换缺失值,但既然copy lot是我的AI编程助手,我可以和高布勒讨论找出最好的处理方法。 无论是替换值还是填补值,每一步的优缺点是什么? 根据我拥有的数据量,哪种方法更好? 最终请括百罗为我生成代码。 所以你可以看到copy lo会生成一些我可以利用的建议,它可以建议我删除缺失值,如果从逻辑上讲得通,我可以用一个常数填补缺失值。 如果数据的性质相关,我可以用均值、中位数或众数填补缺失值。 我可以使用机器学习算法来识别缺失值,或者在时间序列数据中进行前项填补或后项填补。 有了这些信息,作为开发者,我现在更有能力做出决策,并在处理数据时选择特定的路径。 我还可以进一步打印出数据集中可能有缺失值的实际性,然后处理这些缺失值。 所以对于价格列我会请copy lot删除这些行。 因为这是我的目标变量,我不想错过它,我不想用价设值填补这些。 行,所以copy lot理解我的意图,会从汽车销售数据中删除这一列。 对于发动机排量,我会使用数据集中最常常见的发动机排量,假设这可能是我会用来替换的数据。 好了,现在数据已经处理完毕,可以开始构建机器学习模型了。 每当你处理机器学习时,这总是一个循环。 你在获取数据,清理数据,确保数据可以适合模型。 然后你会开始准备数据,将其转换为正确的数据类型。 你将开始选择合适的算法并进行实验,看看哪些算法能给你带来最佳结果。 你将开始评估这些算法,以确保在评估过程中没有偏差。 最后你将随着进展不断改进的模型,在这个不断清洗数据训练模型和清洗数据的循环中,copy lot可以在每一步都陪伴你,确保你能够将一些手动任务委托给coer,从而更多的专注于你在这个循环中采取特定步骤的原因。 最终目标是让你作为开发者拥有更多的知识和更好的理解你所编写的代码,以及代码库中可能已经存在的代码,从而在不断前进中解决更复杂的问题。 所以考虑到这一点,让我们实际构建一个模型。 在这里,我想使用pandas将汽车销售数据框中的所有分类列转换为数值列,于是我开始写car sales。 Copy lot建议用get dummy功能,我们用现有数据框并将drop first设为。 所以copy lot能够理解我给出的提示,并给出一组对我有用的建议。 编码处理完毕后,我现在可以创建一个特征矩阵和一个目标向量,以便开始训练我的模型,然后进一步将数据集分为训练集和测试集。 让我们参考他们的评论,看看coilot能否提供这些建议,再一次,你可能会注意到,在某些情况下,coplot没有给出正确的建议,解决这个问题的方法是提供正确的上下文,或者非常清楚的说明你想让他做什么,你会发现,当你开始写代码时,几乎在每一个案例中,coplot都会建议可能的代码。 所以在这里,我在X变量中保存了汽车销售特征矩阵,而Y变量包含了价格列,这是我的实际目标向量。 我现在将这个数据集分为训练集和测试集。 再次,如果你看到我明确指定了要使用learn copy,lot会给我提供dradesk split功能供我使用,so you will使用A X train test,has x test y train pang使用train test功能,并决定测试集的比例为0.2,所以这里我的测试数据集将是20%,而我的训练数据集将是80%。 作为开发者,我可能不清楚random state参数的作用,所以我可以直接问Copilot的解释。 只需简单的右键点击选择copy lot并要求解释。 这会立即在聊天框中启动对话。 Copy lot会解释random state的作用,并提出一些可能的更改建议,以帮助你实现你的意图。 好了,现在我们已经处理完这些,是时候为我们的问题选择则合适的估计其并实际训练我们的模型了。 鉴于我试图预测的是连续值,在这种情况下回归是正确的选择。 所以我要让copy lot使用psylearn为我创建一个随机森林回归模型,并在训练数据上进行训练,了解我到目前为止所做的一切背景后,百会开始为我提供解决方案,所以我从sk learn的ensemble导入了随机森林回归器。 我正在初始化我的模型,并运行fit功能来实际训练我的机器学习模型。 现在你可能想更好的了解你的模型是如何工作的,其中一种方法就是打印出该模型的超参数。 所以在这种情况下,我可以列出与我的机器学习模型相关的超参数。 但不仅如此,我还可以请copy lord深入探讨这些超参数,帮助我更好的理解它们的含义。 所以我可以让科比勒解释随机森林回归模型的这些超参数。 Copy lot会详细描述每一个超参数。 如果你是一名机器学习工程师,你经常会调整这些参数,以便从你的机器学习模型中获得更高的性能或准确性。 而且你可能并不总是理解这些超参数的含义,所以你总是可以复制一个超参数请教cop聊天功能,获取它的详细解释,并利用这些知识来改进你的决策。 这就是cop币6对开发者的强大之处,不仅仅是生成代码或帮助你完成代码,你再用coy来填补你的知识空白,它为你节省了大量时间,因为你不再需要打开浏览器,谷歌搜索你的问题,打开十几个可能有解决方案的标签页,当你做完这些时,你已经脱离了工作状态,生产力受到了影响,达不到你期望的效果。 这就是为什么编辑器中的copy lot能弥补这个差距,让你成为更好的开发者,它更高效,更有生产力。 好吧,现在我们已经了解了这些超参数是什么,你可以开始实际评估模型了。 所以再次使用copy lot,我可以定义注释并使用模型进行预测。 Copy lot将调用predict功能。 我还可以要求使用军方误差功能。 最后我想使用score方法来评估模型,所以这次我的得分是0.68。 我想问问寇白了这算不算好成绩? 那么使用mole score功能的好成绩是什么? 理想情况下,copy可以帮助我理解这个功能的输出是什么,什么是一个好的得分,以及是否需要进一步测试。 所以最初得分为零意味着模型并不比总是预测目标变量的平均值更好。 而如果接近一模型,实际上表现的更好,所以我们现在是0.68,肯定有一些改进的空间,这是我们可以在接下来的过程中跟进的。 最后我还可以要求copy给我一个测试和预测变量的散点图。 由于这里几乎是一条直线,我可以说我在训练的数据中有相当的准确性。 如果我从数据集中删除一些异常值并再次进行这个过程,可能会表现的更好。 所以这里你基本上有一个相对简单但完整的机器学习管道。 从处理数据集到清理它,确保它准备好,训练你的模型,最后训练你的机器学习模型。 作为数据科学家和机器器学习工程师,你将处理大量复杂的数据集。 Copy lot会在每一步都陪伴你,帮助你处理所有这些不确定性和复杂性,最终编写更好、更安全的代码。 好的,非常感谢你,你一直陪伴我到现在我们已经覆盖了很多内容,所以我们很快进入总结是很重要的。 我们讨论了GitHub copy lot的功能,以及在编辑器中与它互动的多种方式,所以我们利用GitHub copichat t来理解现有代码,填补我们的知识空白,并真正讨论我们试图构建的内容。 我们在编辑器中用copy lot生成代码,通过注释来定义意图并让copy lot完成剩下的工作。 我们还探讨了清理和处理数据集的不同步骤,我们特别使用了pandas,并展示了GitHub Copilot如何为你提供pandas特定功能,理解你的意图并编写代码,让你专注于数据研究并获取见解,你不再需要记住功能或频繁切换标签页来完成任务,所有这些知识和信息都在编辑器中为你提供。 最后,我们看了如何使用seelearn训练和测试机器学习模型,以及get up go learn如何一步步地帮助我们利用psylearn理解机器学习模型本身,划分训练数据集和测试数据集,训练模型并进行评估,这些都是机器学习工程师或数据分析师日常会处理的步骤。 现在你有了一个AI编程助手,可以陪你走过这个循环的每一步,确保你更高效更安全的编写代码,最终专注于创新而不是基础构建。 非常感谢你今天的时间,我期待再次见到大家。