‫欢迎回来｡
‫在上一个视频中, 我们了解了如何手动调整模型的超级参数｡
‫最后我们发现, 一旦我们写了一些代码, 我们就把数据手动分成了训练验证和测试集｡
‫我们创建了一个评估函数｡
‫是的, 我知道
‫最后, 我们发现他完全是手工调音的｡
‫听起来工作量很大｡
‫你说得对｡
‫如果我们尝试了一大堆不同的参数, 结果会很好｡
‫但幸运的是, 开发人员的精神贷款也遇到了这个问题, 并创建了随机搜索CV,
‫这代表随机搜索交叉验证｡
‫让我们看看如何调整高参数｡
‫所以AKA会调整我们模型的设置来做出更好的预测, 或者希望使用随机搜索来做出更好的预测｡
‫让我们在这里创建另一个标题｡
‫这可以是5｡ 2, 因此超参数调谐具有随机化搜索｡
‫见伏美｡
‫我们要做的第一件事就是导入它｡
‫所以从SRC学点号模型中选择导入randomize名称｡
‫我们可以在这里按tab键｡
‫随机检索简历｡
‫真漂亮｡
‫在签出文档字符串之前, 让我们看一个如何使用它的示例｡
‫我们要做的就是创建一个超参数网格, 我所说的网格是指字典｡
‫我给古鲁德输入了一个超参数字典｡
‫我们想调整一下｡
‫所以如果我们回到这里, 这些是我们要调整的参数｡
‫我们要做的就是创建一个字典,
‫把我们想调整的参数类型作为键, 然后把我们想尝试的值作为字典的值｡
‫那就这么办吧｡
‫所以在估计中, 这是一个关键, 我们会得到一个肯定的列表｡
‫10200, 500, 101200
‫真漂亮｡
‫现在, 如果你想知道, 丹尼尔, 比如, 你从哪里得到这些值？
‫记住, 和往常一样, 对于任何模型或估计, 或者在心理线上,
‫都有大量的文档可以告诉你一些你可以在模型上改变的设置｡
‫我已经通读了这里的内容, 通读了示例, 做了一些研究,
‫找到了我们可以尝试的高参数的不同值｡
‫所以去这里｡
‫没有｡
‫五个｡
‫十个｡
‫所以如果看起来我只是在这里抛出值, 相信我, 他们不是在抛出值｡
‫它们是基于一些研究和一些经验｡
‫别担心, 你不会从那开始的｡
‫没人会从那开始｡
‫需要一点练习才能通过｡
‫这就是为什么我们要亲自看看所有这些不同的函数, 我们可以用它们来改进我们的模型｡
‫好极了｡
‫然后我们再做两次, 也就是最小样本分割｡
‫二四六
‫过来, 过来
‫男人样离开｡
‫让我们看看如何实现随机搜索｡
‫CV所以我们将设置一个随机种子｡
‫分为X和Y｡
‫所以你想得心脏病？
‫事实上, 是洗牌｡
‫因为我们以前也用过｡
‫小点滴｡
‫哦, 实际上, 我们需要在这里做X｡
‫不滴｡
‫目标访问等于一我们就搞为什么这里这么热疾洗牌｡
‫目标｡
‫真漂亮｡
‫我们将分为训练集和测试集｡
‫你说什么？
‫现在, 我想知道, 为什么我们在这里只使用训练和测试？
‫我们刚刚创建了一个验证集｡
‫现在我们来谈谈这个｡
‫为什么要训练？
‫为什么测试, 训练, 测试, 拆分x, y｡
‫这里我们使用普通的拆分｡
‫因此测试大小等于0｡ 2.
‫好极了｡
‫然后我们将实例化｡
‫随机森林分类器｡
‫自我等于随机森林分类器, 作业等于｡
‫我们可以用负1, 但现在负1对我来说是坏的｡
‫这马上就说得通了｡
‫但在乔布斯的意思是, 你打算把多少计算机处理过程投入到这个机器学习模型中？
‫负一表示全部｡
‫那么默认结束作业是一个什么样的作业呢？
‫我们到这里来
‫结束作业等于无｡
‫好吧, 我们来给你上一课, 我来解决这个问题｡
‫因此, 您传递给终端作业的不同值将决定您希望将多少计算机处理器专用于机器学习模型｡
‫现在, 一旦我们有了一个实例化的分类器, 我们将设置随机化｡
‫搜索｡
‫所以我们要通过｡
‫我们就叫它RS谱号｡
‫所以它要做的就是把RS附加到随机搜索上, 现在随机搜索｡
‫第一个参数是估计量等于谱号｡
‫所以我们把它传递给这个随机森林分类器｡
‫我们已经实例化了参数分布, 这是下一个｡
‫我们要把它传到网格里
‫这就是网格
‫接下来我们要定义一个ETA, 等于10｡
‫这是模型的数量｡
‫去试试｡
‫我们将进行五重交叉验证, 然后设置详细度｡
‫对于两只鹰来说｡
‫哇哦｡
‫这是一些我们从未见过的代码｡
‫那么, 当我们进行随机搜索时, 会发生什么呢？
‫简历我们看一下docstring｡
‫在这里按shift tab键｡
‫这是因为我们有一个进口｡
‫没错, 我是说...
‫我们现在在这里按shift tab键｡
‫那么这里的文档字符串是什么？
‫对超参数进行随机搜索｡
‫随机检索｡
‫CV实现拟合和评分方法｡
‫如果在估计使用中实现了预测､ 预测､ 检验判决函数变换和逆变换, 则还实现了预测､
‫检验判决函数变换和逆变换｡
‫所以随机搜索超参数｡
‫嗯嗯嗯
‫这听起来有点让人困惑｡
‫随机检索是什么意思？
‫是这样｡
‫这是随机搜索简历的名字｡
‫CV用于交叉验证, 您可以在交叉验证中识别此参数｡
‫见车辆五｡
‫这意味着我们使用了五重交叉验证｡
‫所以五重交叉验证｡
‫这就是为什么我们不一定要在这里创建验证集｡
‫所以随机搜索CV所要做的就是使用我们的分类器｡
‫它会得到一个参数分布的网格, 就是这个, 它会在这个网格上搜索｡
‫410个不同的时间, 这些参数的不同组合随机｡
‫比如说, 在第一次迭代中, 因为NIDA等于10,
‫所以它会在第一次迭代中这样做10次｡
‫它可以尝试具有十个估计器的模型, 九个最大特征的最大深度被设置为将最小样本分割集排序为两个最小样本, 叶被设置为一,
‫然后在下一次迭代中｡
‫因此, 十次迭代中的两次, 它可能尝试1000个估计器30, 因为最大深度auto是,
‫最大特征4是最小样本分裂, 然后4是最小样本离开｡
‫然后继续上升到10｡
‫现在, 我们可以将其设置为100到1000｡
‫我觉得这里连一千种组合都没有｡
‫如果你通过了, 你可以去六乘五｡
‫30乘以2｡
‫那是60乘以3｡
‫那是180乘以3｡
‫这是460奇数｡
‫数学可能有点不对, 但你明白了, 对吧？
‫如果你把所有这些都看一遍, 并试图联合收割机它们组合在一起, 那将是很多不同的模型｡
‫让我们来看看它的实际效果｡
‫一旦我们设置了实例化的随机搜索CV, 我们就可以在这里拟合self的随机搜索CV版本｡
‫不问r的自我装不装x列车y列车｡
‫现在我们只需要拟合x序列和y序列的原因是因为CV和随机搜索CV代表交叉验证｡
‫这就是它要做的｡
‫它会自动为我们生成验证集, 这是一件很棒的事情｡
‫如果我们回到图中,
‫它将获取数据, 然后尝试在不同的超级参数设置上交叉验证不同的超级参数｡
‫这就是它要返回的结果｡
‫它将找出这些高参数的最佳组合, 多达10个不同的模型｡
‫同样, 如果我们想尝试更多的组合, 我们可以增加这个值｡
‫让我们来看看它的实际效果｡
‫这就是我们设置verbose的地方, 它会输出, 告诉我们发生了什么, 所以对10个候选项中的每一个进行5次折叠,
‫总共50次拟合｡
‫答｡ K的｡ 答｡
‫它在这个网格中尝试十次不同参数组合的迭代, 并将每个组合拆分五次, 因为五辆车总共50次适合数据｡
‫因此, 它将运行这个拟合函数50次, 使用不同的超参数, 对不同的数据分割｡
‫我们可以看到, 它尝试的第一个拆分估计值等于1200, 因为这是我们的超参数之一｡
‫记住, 每次拆分, 每次迭代, 它都会随机选择这些元素的组合｡
‫它还将最小样本分割设置为六年, 最小样本叶设置为两个最大特征的平方根, 最大深度设置为五个OC｡
‫如果我们滚动到这里, 我们可以看到它尝试过的所有不同组合｡
‫所以让我们随机选择一个｡
‫这个
‫所以这个组合是在尝试一个相等的估计｡
‫200个男人的样本等于6个最小样本叶子等于2个最大特征等于平方根最大深度等于零｡
‫然后它会继续下去, 直到它完成｡
‫它会给予我们一个警告｡
‫让我们来看看｡
‫一旦它完成了, 我们将能够做的就是调用它的最佳参数｡
‫如果我们使用rs seal clf best params,
‫这将显示超参数的组合, 哪种组合获得最佳结果｡
‫好极了｡
‫因此, 我们的估计值等于200个最小样本分割等于6个最小样本叶等于2个最大特征等于平方根, 最大深度等于零｡
‫它们是10个不同模型的最佳交叉验证结果｡
‫现在当我们在随机搜索分类器上调用predict时, 默认情况下, 它会使用这些参数｡
‫因此, 随机搜索CV为我们找到了它们, 而不是手动找到它们｡
‫那就开始吧｡
‫让我们用最好的超参数来做预测｡
‫这是我们可能会做的｡
‫RS Y预测老鹰｡
‫RC左预测和我们使用｡
‫我们可以在这里使用验证集, 但在我们的例子中, 我们将使用测试集,
‫然后我们将评估预测｡
‫RS矩阵等于求值｡
‫为什么要测试？
‫为什么是王子？
‫现在函数应该是对Prince求值
‫我们走吧｡
‫好极了｡
‫所以如果我们回到这里｡
‫我们是否看到了改进？
‫不, 我们没有｡
‫这就是实验的用武之地, 超参数调谐｡
‫在运行了这样的程序后, 您并不总是会发现改进｡
‫也许我们可以多试几次, 试50种不同的组合｡
‫在尝试了50种不同的组合后, 它会找到一些参数, 最终比我们手动调整的结果更好｡
‫但我希望你开始看到的是,
‫使用随机搜索KV, 而不是手动运行所有这些不同的设置, 它给了我们一种方式来编码或功能是超参数的调整｡
‫现在我们又有了一种方法来改善模型的超参数, 那就是网格搜索｡
‫这有点类似于随机搜索, 但它有一个, 一个关键的区别｡
‫我们将在下一个视频中了解这一点｡