‫好吧, 我会的
‫所以我们要像往常一样从桌面开始｡
‫我们将进入终端, 我将放大一点｡
‫首先要激活我们的环境, 我们将创建一个联系人列表, 以提醒我们自己环境的位置｡
‫我这里有三个｡
‫我们正在使用的文件夹位于示例项目文件夹中｡
‫我将启动conda activate, 然后复制这个｡
‫我可以复制粘贴, 但我还是直接打出来, 因为这是我们的习惯｡
‫所以我们用这个丹尼尔桌面｡
‫Slash ML航线｡
‫今天错别字太多了｡
‫斜杠示例项目｡
‫除非您的名称是通用名称, 否则此处的文件路径可能不同, 因为这是一个很好的名称｡
‫然后这里, 一旦我们激活了环境, 我们可以看到它从base变成了这个string｡
‫好极了｡
‫这意味着我们活跃的环境被激活了｡
‫然后我们到这里｡
‫Jupyter Notebook这样我们就可以把笔记本电脑服务器装上了｡
‫好极了｡
‫这将打开浏览器｡
‫我没有更改目录, 所以这就是为什么我在这里的顶部文件夹｡
‫不过没关系｡
‫我可以在桌面ML课程中更改｡
‫样本项目是我们一直在工作的地方｡
‫我们有我们的介绍地图港口利卜, 南比和熊猫笔记本｡
‫好极了｡
‫但我要创建一个新的, 因为｡
‫我们正在进行套接字贷款介绍｡
‫好极了｡
‫我们会在上面放一个漂亮的标题｡
‫介绍套接字贷款括号天空贷款提醒我们自己去｡
‫这本笔记本演示了一些最有用的功能的美丽, 这是美丽的插座学习库精彩｡
‫我们将单击escape和m, 将其更改为markdown, 我们将运行它, 也许我们将在这里输入我们要讨论的内容｡
‫只是为了让我们有一点亮点｡
‫什么？你说什么？
‫我们要去掩护｡
‫所以我们从零开始, 因为我们要索引Python风格, 零将是一个端到端的套接字学习工作流｡
‫好极了｡
‫然后, 我们将深入探讨此工作流的每一步｡
‫所以我们来看看如何准备好数据｡
‫然后, 我们将选择正确的估计器｡
‫估计者是心理学中的另一个词｡
‫你马上就会看到机器学习模型｡
‫所以当你听到模型､ 机器学习算法或估计器这个词时, 这就是量表自己对它的使用｡
‫他们用机器学习的术语估计起来, 模型输出斜线算法来解决我们的问题｡
‫三个将拟合模型､ 算法和估计值, 并使用它对我们的数据进行预测｡
‫好极了｡
‫然后四个会｡
‫看一下评估一个模型, 然后第五步, 我们将改进模型, 然后第六步将保存并加载经过训练的模型｡
‫然后是七个, 我们为什么不把它们放在一起呢？
‫也许能把所有的都联系起来｡
‫听起来更好一点｡
‫好极了｡
‫好吧, 让我们开始吧｡
‫让我们从零开始｡
‫我们将创建另一个标题｡
‫所以零, 一个端到端｡
‫如果可以的话, 沿着我来, 因为这是最好的｡
‫但老实说, 我会讲得快一点, 因为我边讲边讲｡
‫所以如果你跟不上, 那绝对没问题｡
‫你可以放慢视频的播放速度, 或者只是重新访问几次, 直到你看到发生了什么｡
‫但别担心, 你可以访问这里的所有代码｡
‫对不起, 我不知道
‫一种端到端套接字学习工作流｡
‫我们这里有台阶｡
‫我们要做的事｡
‫那就开始吧｡
‫第一步, 准备好数据｡
‫让我们看看这是什么样子｡
‫在过去的几节中, 我们有一些关于使用心脏病数据集的经验｡
‫所以让我们看看我们是否能做到这一点, 也许可以在心脏病数据集上建立一个机器学习模型｡
‫好吧, 我会的
‫所以我们要做一个, 把数据准备好｡
‫进口熊猫按付款｡
‫现在记住这个｡
‫端到端的通灵贷款工作流程｡
‫我们将轻松地完成这些步骤, 所以我们将在进行过程中深入了解每一个步骤｡
‫那我们走吧｡
‫心脏病等于PD｡ 现在, 我相信我已经把所有的东西都移到了一个数据文件夹中, 所以通常我们可以把CSV名称放在这里｡
‫但是我已经改变了它, 现在我们所有的CSV文件夹都在这个数据文件夹中,
‫只是为了保持我们的示例项目文件夹整洁美观｡
‫这就是为什么我在这里有文件路径数据｡
‫心脏病斑点CSA｡
‫然后我们就走｡
‫心脏病｡
‫我们会查看它只是为了确定｡
‫好极了｡
‫那是我们所有的排｡
‫所以我们要做的就是使用这些列, 年龄, 性别, CPE, 不管这些是什么,
‫来尝试预测目标, 是一个还是零个心脏病｡
‫首先, 我们需要一个X,
‫您可以在第二行中看到很多X是一种特征矩阵, 基本上是这些列, 然后Y是这一列｡
‫让我们来看看我们是怎么做到的｡
‫所以我们创建X, 也许我们在这里创建X, 这叫做特征矩阵｡
‫通常它还有其他名称, 可能是数据, 也可能是特征变量, 热点病点｡
‫除了目标列之外, 我们要检查每一列｡
‫所以我们需要去轴等于1美丽｡
‫然后我们要创建y, 它是标签, 标签矩阵或标签｡
‫我们就称之为“美丽的y等于”吧｡
‫我们要心脏病, 现在我们只需要目标栏｡
‫的目标｡
‫好极了｡
‫所以我们创造了X和Y, 基本上就是X和Y｡
‫X只是更容易｡
‫为什么这里有这个专栏？
‫好极了｡
‫接下来, 在通灵学习中, 当我们选择正确的算法来解决我们的问题时, 接下来该怎么做呢？
‫我们的问题是分类, 因为我们想对某人是否患有心脏病进行分类｡
‫让我们来看看它的实际效果｡
‫所以二是选择合适的模型和超参数｡
‫Hyper参数就像模型上的刻度盘, 您可以通过调整使其更好或更差｡
‫所以让我们使用随机森林｡
‫所以如果你想知道你所说的随机森林做了什么, 你可以单独问一问｡
‫我们将在以后的视频中更深入地了解这一点｡
‫但你要知道, 想象一下从旋风集合导入的随机森林, 随机森林分类器｡
‫这只是一个分类机器学习模型, 也是你目前最需要了解的｡
‫该方法能够对样本进行模式学习和数据学习, 然后对样本进行分类｡ k､ a a争吵是一回事或另一回事｡
‫所以我们将使用CLF来实例化这个类, CLF是第二行中classifier的缩写｡
‫其他时候, 您会看到它被称为model, 但我们将使用CLF, 因为我们将坚持使用文档｡
‫所以对于我们分类器来说, self等于随机｡
‫真漂亮｡
‫我们将保留默认参数, 超级参数, 保留默认值｡
‫混合参数｡
‫因此, 看看您是否可以使用CLF目标参数来查看模型正在使用哪些参数｡
‫我们来看看这个｡
‫可能需要一点时间导入｡
‫与此同时, 我们将创建此主题的标题｡
‫所以三个是符合模型的｡
‫到数据｡
‫我在想为什么要花这么长时间
‫也许我们打字的时候它就能完成了｡
‫因此, 首先, 我们需要在训练集上训练我们的模型, 并在测试集上测试它｡
‫所以我们需要创造它｡
‫这是什麽？
‫哦, 我的错｡
‫我们需要这个｡
‫这不是一个属性｡
‫这是一种方法｡
‫我们走吧｡
‫这就是超参数｡
‫我们机器学习模型的所有小旋钮, 随机森林分类器｡
‫我们将在以后的章节中讨论这些问题, 但我们还希望将模型与训练数据进行拟合｡
‫真漂亮｡
‫就这么办吧
‫所以我们要从标量和模型选择开始｡
‫我们需要将数据拆分为训练和测试, 我们可以通过SRC学习训练测试拆分来实现这一点｡
‫列车试验分离｡
‫好极了｡
‫我们要坐X列车｡
‫X检验｡
‫为什么要训练？
‫为什么测试等于训练｡
‫测试分割x y测试大小｡
‫我们希望测试大小为0｡ 2号或者你想放进去的任何尺寸｡
‫实际上, 它要做的是将X和Y的数据拆分为x列｡
‫所以训练数据, y, train, x测试和Y测试｡
‫所以测试数据｡
‫如果你回想一下第一节, 我们通常把模型拟合到训练数据上, 然后评估它, 看看它在测试数据上学到了什么｡
‫所以数据是前所未有的｡
‫这个测试的尺寸是多少？
‫这意味着80%的数据将用于训练, 因为它是0｡ 2, 因为测试大小将为20%｡
‫因此, 如果我们有1000行, 其中800行将用于训练, 200行将用于测试｡
‫但我们在这里分心了｡
‫这是一次规模巨大的旋风式旅行｡
‫天际线我们现在想去CLF｡
‫我们要适应它｡
‫我们可以通过CLF fit x train实现这一点｡
‫这基本上就是说一个分类模型, 随机森林, 在训练数据中找到模式｡
‫我们轮班进去｡
‫真漂亮｡
‫这会给予我们一个小小的警告, 因为有些事情正在发生.
‫我们来读一读未来的警告｡
‫估计值的预设值为, 这是一个参数｡
‫我们在这里看到一个估计值作为警告, 它给我们一个警告是有道理的｡
‫我们将从版本0中的10更改为10｡ 20到100在0. 22.
‫嗯嗯嗯
‫好吧, 让我们看看我们是否可以现在就更新｡
‫所以估计我们改变的超参数等于100｡
‫我们不应该收到那个警告｡
‫真漂亮｡
‫我们没有｡
‫我们可以摆脱它｡
‫输出时只需输入那个小分号｡
‫好极了｡
‫现在, 我们的模型与数据吻合｡
‫那我们能做些什么呢？
‫我们可以做一个预测, 那就这么做吧｡
‫做出预测｡
‫顺便说一下, 这还是第三步.
‫Y标签等于c左预测, 我们必须通过一个裁判｡
‫雷那就这么办吧.
‫裁判雷｡
‫0234.
‫看看会发生什么｡
‫是否出现错误？
‫NumPy未定义｡
‫我们应该在最上面就这么做的｡
‫就这么办吧
‫将numpy导入为np beautiful｡
‫现在这个应该可以用了｡
‫不, 它不工作｡
‫为什么它不工作？
‫啊, 起哄｡
‫所以形状不对｡
‫这是因为, 当你试图模拟一个类似于x列车的东西时, x列车就在这里.
‫我们只能对类似这样的数组进行预测, 因为这是我们的模型所了解到的｡
‫这个从0到3的np数组看起来像这样吗？
‫不, 一点也不｡
‫但是长什么样子呢？
‫那就是x测试｡
‫真漂亮｡
‫所以我们能做的就是做一些预测｡
‫因此, 为什么Preds是对测试数据进行预测的常规名称, 等于CLF我们的模型预测x测试｡
‫这看起来像什么？
‫为什么选择Preds？
‫我们有一个0和1的数组, 现在看起来像什么？
‫我们有y测试｡
‫我们还有一个0和1的数组｡
‫嗯嗯嗯
‫我想知道我们能用这个做什么｡
‫我们可以进行第四步评估模型｡
‫这是我们评估预测的准确性,
‫或者我们刚刚训练的机器学习模型的准确性, 我们的随机森林分类器对训练数据的学习｡
‫为什么要训练？
‫让我们在训练数据上做一下｡
‫训练数据和测试数据｡
‫这就是我们要做的｡
‫所以克里夫斯得分了｡
‫哇哦｡
‫实际上做得非常好｡
‫如果我们按shift tab键, 它将返回给定测试数据和标签的平均准确度｡
‫所以我们把训练数据传给它｡
‫所以模型已经做了100%, 1. 0.
‫这是您在我们的训练数据上可以获得的最高分数｡
‫让我们看看它是如何在测试数据上完成的｡
‫现在, 如果它得到100%的测试数据, 我们可能会认为有什么地方出了问题｡
‫真漂亮｡
‫好极了｡
‫那么, 这里发生了什么？
‫这个模型在训练数据中找到了很好的模式, 它得到了100%的Y, 因为它是在特征上训练的｡
‫所以回到这里, 它得到了训练, 对这些以及标签｡
‫因此, 如果它出错了, 它有机会自我纠正,
‫但它的准确率为75%, 这意味着它在测试数据上得到了四分之三的正确预测, 因为它从未见过这些数据,
‫也从未见过标签｡
‫好吧, 我会的
‫因此, 我们可以使用更多的指标, 而不仅仅是准确性｡
‫让我们从Skyline Dot指标中了解一下｡
‫导入分类报告, 因为我们遇到分类问题｡
‫我们需要一个混淆矩阵和一个准确性得分矩阵, 以了解获得相同结果的另一种方法｡
‫所以我们要开始了, 我们要去打印你的分类报告｡
‫我们想比较一下｡
‫这需要什么？
‫我们不能按shift tab键, 因为我们已经导入了它,
‫但是我相信它需要为什么测试, 所以测试标签, 所以真实标签, 而不是我们的预测, 所以它将返回什么｡
‫剧透｡
‫让我们看看吧｡
‫这显示了一些分类指标, 它们将测试标签与预测进行比较,
‫预测标签是我们用模型创建的｡
‫所以使用预测函数｡
‫如果我们再做一次, 我们就可以做混淆矩阵了｡
‫所以我们得到了混淆矩阵, 我们想要先测试y打印｡
‫好极了｡
‫然后我们可以进行准确性评分, 我们想知道为什么测试为什么预测｡
‫真漂亮｡
‫这些只是我们可以用来评估模型的一些步骤｡
‫下一步, 我们对准确性得分的表现并不满意｡
‫所以我们要让我们进入第五步, 也就是回到这里的顶部｡
‫改进模型｡
‫好吧, 开始吧｡
‫让我们看看如何改进模型｡
‫我们可以尝试不同的a估计值, 这是超参数之一｡ k､ 我们的机器学习模型上的一个拨号盘, 我们可以搅拌,
‫试图改善它｡
‫让我们来看看它的实际效果｡
‫MP将以随机种子开始｡
‫我们的结果是可复制的, 随机的, 我们想要I, 范围1010, 100步, 可以是10.
‫我们到这里来, 我们要打印｡
‫我们给予它一个小小的交流尝试模型用我估计我们｡
‫好极了｡
‫哦, 我的天
‫我们太快进入了｡
‫就像我很喜欢开枪一样｡
‫再一次｡
‫我的天啊｡
‫好吧, 现在我们要去看精灵平等｡
‫我们将实例化另一个模型随机森林｡
‫你能按下tab键吗, 很好, 谢谢, 自动完成, 现在估计等于, 很好,
‫这将循环, 尝试10个, 然后20个,
‫最多100个估计, 因为我们试图找出是否可以通过调整其中一个超参数来改进我们的模型, 这是第五步, 改进模型｡
‫因此, 我们将打印测试集上的模型准确性, 我们将进行模型得分X测试, 因为我们希望在测试数据上评估我们的模型｡
‫所以它将学习训练数据, 然后在测试数据上评估自己｡
‫然后我们在这里加上一个百分号, 可能限制在小数点后两位｡
‫这有道理吗？
‫让我回顾一下测试集模型得分的模型准确性｡
‫我们只是在这里添加了一点沟通, 然后我们可能会在这里打印一个空间, 这样我们就可以看到它了｡
‫让我们用行动来说明这一点｡
‫试看一个模型用十个估计是这个工作名字为什么没有模型没有定义呢？
‫哦, 不好意思
‫看, 我告诉过你模型可以用我们需要谱号｡
‫记住谱号是分类器的缩写, 我们来做吧｡
‫怎么又坏了？
‫随机森林分类器尚未安装｡
‫跟飞腾打电话｡
‫是的, 我们已经实例化了, 但还没有｡
‫我们怎么能去找一个我们今天从来没有试过的模特呢｡
‫我们必须在这里做｡
‫看, 这是伟大的｡
‫现场编码充满错误｡
‫好极了｡
‫现在, 如果我们回顾一下, 你会说,
‫如果我们回顾一下, 具有最佳精度的最佳模型也是20估计值｡
‫我们走吧｡
‫我们已经从最初的75%调整到了83%, 通过将模型的一个高参数调整到20, 而不是默认值,
‫目前是10, 但它将被更新到100｡
‫我们在这里开得很快｡
‫但最后一步是什么呢？
‫我们回到这里｡
‫一直到顶端｡
‫保存模型并加载它｡
‫好吧, 开始吧｡
‫所以我们想去6, 保存一个模型, 并加载它｡
‫现在我们可以用Python的Pickle Library保存模型｡
‫我们导入pickle, 然后保存到所有的pickle或dump中, 我们将把我们的模型AKC传递给予它, 作为分类器,
‫我们也将传递它, 我们将用我们想要的文件名打开它｡
‫如果我能记住这个随机森林模型, 一个花哨的名字哈哈泡菜｡
‫然后我们想用WB写二进制代码｡
‫好极了｡
‫所以这会保存我们的垃圾场｡
‫看, 我甚至没有遵循我自己的座右铭在这里｡
‫如果有疑问, 请运行代码｡
‫现在, 这应该已经将模型保存到文件中｡
‫我们上去看看吧｡
‫如果我们刷新这个｡
‫那里有美丽的雨林模型｡
‫现在, 如果我们尝试导入它会发生什么？
‫所以我们要去｡
‫加载模式等于pickle点加载, 我们要打开｡
‫将文件名random传递给它｡
‫我们能做到吗？
‫是的, 我们可以｡
‫Tab键自动完成｡
‫现在, 我们需要从读取的二进制文件中调用AB, 然后加载模型｡
‫点评分, x检验｡
‫Y检验｡
‫看看会发生什么｡
‫73.
‫现在, 这应该是73｡ 7与我们在这里尝试的最后一个模型｡
‫而且它做得很好｡
‫现在我们已经放大了｡
‫这花了大约20分钟左右的时间来做一个完整的二线工作流程与大量的谈话｡
‫所以我们从一开始就准备好了数据｡
‫我们看到了心脏病的数据框架, 我们把它分成了X和Y, 这通常是你在旋风中的监督学习问题中要做的｡
‫我们将使用这些特征来预测目标｡
‫好极了｡
‫然后我们选择了正确的模式｡
‫我们稍微浏览了一下你是怎么做到的｡
‫但是根据经验, 我知道随机森林分类器非常擅长处理分类问题, 所以我们将看到如何处理｡
‫然后我们决定使用默认类型的参数｡
‫那些小旋钮是什么？
‫您可以打开模型｡
‫现在我们看到了如何将模型与训练数据相拟合, 因此a｡ k､ 模型在训练数据中寻找模式｡
‫首先, 为了让我们的数据从一个大的集合进入训练和测试, 我们使用了这个来自cyclone的小助手函数｡
‫谢谢你, 旋风｡
‫然后我们做了一个预测, 或者至少我们尝试了,
‫然后我们意识到, 等等, 我们的模型不能对形状不一样的东西做预测, 因为记住, 旋风是建立在麻木的数组上的｡
‫所以如果我们传递给它一个数组, 这个坏小子, 它的形状和它训练的数据不一样, 它会给我们一个错误.
‫因此, 我们通过要求模型对X检验进行预测来修正这个错误, X检验反过来又预测了一个标签｡
‫然后我们通过评估将我们的预测与Y检验进行比较｡
‫现在, 我们的模型在训练数据上得到了100%的准确率, 但在测试数据上只得到了75%的准确率, 这实际上仍然相当不错｡
‫掷硬币选0-1的话就是50%, 所以我们的模型已经接近完美模型了｡
‫然后我们在这里尝试了一些分类指标, 因此我们获得了更多的洞察力, 而不仅仅是准确性｡
‫我们做了一个混淆矩阵, 并使用了准确性评分函数｡
‫然后第五步, 我们尝试了一系列不同的超参数｡ k､ 一个不同的估计量｡
‫我们发现20个估计量对我们的模型来说是最好的, 因为它们的准确度最高｡
‫最后, 我们保存了一个模型, 重新加载它, 它得到了和我们最近训练的模型一样的分数, 估计是90,
‫73｡ 77.
‫现在有很多东西要消化｡
‫我完全理解, 我们已经相对或实际上相当快地完成了,
‫但我们要做的是在接下来的几个视频中分解这些步骤｡
‫如果你想回到过去, 试着把我们用过的所有代码放到一个单元格里, 看看你能不能训练一个模型,
‫你能保存它吗？
‫你能重新导入吗, 先练习一下, 否则我会在下一个视频中看到你,
‫我们会看看如何让我们的数据做好准备, 以便在机器学习模型中使用｡