‫因为我们已经建立了一个能够做出预测的模型, 我们已经在测试数据集上做了一些工作, 我们已经导出了它们｡
‫现在, 你和别人分享这些预测, 事实上,
‫你自己, 我知道在我的情况下, 我非常, 非常感兴趣, 可能会好奇是哪些部分的数据导致了这些预测｡
‫因此, 这就是功能重要性的用武之地｡
‫功能重要性｡
‫换句话说, 它试图找出数据的哪些不同属性在预测目标变量（在我们的案例中是销售）时最重要｡
‫我们把它写下来｡
‫“特征重要性”旨在找出数据的哪些不同属性在预测时最重要｡
‫让我们把它放在粗体目标变量中｡
‫所以在我们的例子中, 它是销售｡
‫好吧, 那我们该怎么做？
‫我们知道我们在用一个随机的森林侵略者｡
‫我们在之前的视频中已经看到了分类项目, 以及心理贷款项目,
‫一些心理贷款模型具有属性特征和性能｡
‫但是如果我们不知道我们使用的是一个我们不熟悉的模型, 也许我们可以这样做｡
‫随机森林回归具有重要性｡
‫真漂亮｡
‫所以也许这会给予我们带来一些好的结果｡
‫如果我们要去探索这些, 我们得到了这个像贷款文件｡
‫这总是有帮助的｡
‫所以我们在这里找｡
‫也许我们可以搜索一下｡
‫它知道我们想要什么｡
‫返回功能重要性｡
‫特征重要性越高, 则特征越重要｡
‫让我们看看它的实际作用｡
‫让我们来看看我们的模型｡
‫因此, 找出我们最佳模型的特征重要性｡
‫我们将采用理想模型, 并找出功能的重要性｡
‫哇哦｡
‫现在, 返回一个相当大的数组｡
‫这里有很多不同的值｡
‫有些是零｡
‫有些人很低｡
‫10的负6次方｡
‫他们是｡
‫但这有什么共同点呢？
‫让我们看看这段的长度｡
‫这与我们的训练数据集有什么共同之处？
‫一百零二､ 一百零二｡
‫我们可以推断出这里有102列, 这里有102个值.
‫因此, 我们得到了每个特性的值｡
‫因此销售ID将映射到这个｡
‫机器ID会映射到这个｡
‫现在, 我们可以通过x列来制作一个字典, 并将这些值交织在一起｡
‫但我不了解你｡
‫我更喜欢用肉眼看东西｡
‫那么我们为什么不创建一个辅助函数来帮助我们呢？
‫所以我们可以创建一个辅助函数, 用于绘制特征重要性的辅助函数, 这样我们就可以直观地看到它｡
‫在这里定义绘图功能, 我们可能会列出列和重要部分的列表, 我们将end设置为20｡
‫这马上就有意义了, 因为这里有102个值｡
‫但现实地说, 如果我们想看一个图, 也许我们只想要前20个值｡
‫我的意思是, 这就是为什么我们设置它, 所以我们可以调整它与这个小函数在这里｡
‫Helper函数是一个很棒的函数, 我应该早点开始使用它｡
‫编写函数可以节省大量时间｡
‫这么说吧
‫我以前只是在不同的单元格中一遍又一遍地写同一行代码｡
‫但是我已经开始养成了为不同的用途编写函数的习惯｡
‫所以我们可以用一个小熊猫的小把戏, 叫做锁链｡
‫这意味着, 只要简单地把熊猫的一些不同功能放在括号里｡
‫我们马上就会看到, 因为我们要创建一个名为DF的数据帧, 它有两列｡
‫特性可以列和特性重要性是可以重要的是正确的｡
‫我们在这里创建了一个数据框, 然后调用sort value.
‫所以看这里, 这些仍然在括号内, 这两个｡
‫这意味着, 它将在一次命中中对PDO､
‫DataFrame和点排序值进行排序, 我们希望按功能重要性对其进行排序, 我们希望升序等于false｡
‫所以我们希望它从最高到最低｡
‫是啊, 有道理｡
‫然后我们要重置索引drop等于true｡
‫好吧, 我知道了
‫实际上这个支架应该在这里｡
‫因为我们在这里和这里有一个括号和两个点, 这意味着它只会做三个平移, 一次点击两个步骤｡
‫现在我们需要策划｡
‫所以阴谋｡
‫我们创建的DataFrame｡
‫所以我们要做的是, 举例说明一个情节, 绘制次要情节, 然后我们可以做一个水平条｡
‫因为在我的经验绘图功能, 它看起来真的很好的一个水平条｡
‫现在我们只需要N, 这就是为什么我们有｡
‫这是前20个例子｡
‫功能重要性也是一样, 我们只需要20个｡
‫所以前20个, 然后我们要设置Y标签｡
‫因此, ax. set y label指向功能, 因为它是一个水平条, X和Y重新排列, 我们使用ax set
‫X label, 添加一些沟通信息, 我们将功能重要性放在底部｡
‫让我们看看它实际上是什么样子的｡
‫所以我们有一个辅助函数, 我们只是在那里运行它｡
‫调用这个函数所要做的就是绘制特征, 然后将它传递到列中｡
‫所以我们只需要X列的列, 因为这是一个变量｡
‫然后特征和潜能就是理想模型, 点特征的重要性是, 让我们看看它是什么样子的｡
‫好吧, 我会的
‫我们在左边看到了这些特征｡
‫他们的价值｡
‫给, 我要最上面的那个｡
‫最有价值的功能是在顶部｡
‫所以我们可以用斧头点｡
‫我们该怎么做呢？
‫反转｡
‫我们能反转吗？
‫我想这是要求｡
‫反转y轴｡
‫也许那不是函数｡
‫如果有疑问, 请运行代码｡
‫反转y轴｡
‫那不起作用｡
‫也许这是一个函数｡
‫炸弹｡
‫如果有疑问, 请运行代码｡
‫相信你的直觉｡
‫好吧, 我知道了
‫这就是你学习的方式｡
‫你通过不抬头跑步来练习｡
‫如果有疑问, 你可以随时查找, 对不对？
‫您可以随时询问如何反转水平条形图和映射图库｡
‫谷歌应该能帮上忙｡
‫好吧, 我会的
‫那么, 我们能从中推断出什么呢？
‫所以有一个公平的位正在进行｡
‫我们这里有大约20种不同的功能｡
‫所以是时候你做了｡
‫让我们看看下一班火车｡
‫别头｡
‫把它放进去｡
‫所以说, 推土机的制造年份是最重要的特征, 基于理想模型,
‫然后是产品尺寸｡
‫那是什么？
‫让我们看一下数据字典｡
‫产品尺寸｡
‫不知道这是什么｡
‫好吧, 那太好了｡
‫嗯嗯嗯
‫产品组的尺寸分组｡
‫具有产品组子集
‫这是一个示例, 说明您可能需要做一些更多的研究, 并弄清楚哪些功能是｡
‫如果您的数据字典中有类似的内容, 该怎么办？
‫可能得找个主题专家｡
‫或者我们可以去乘x火车｡
‫产品尺寸｡
‫也许我们查值不了｡
‫好吧, 我会的
‫所以有一个, 两个, 三个, 四个, 五个, 六个不同的尺寸｡
‫现在零会失踪｡
‫所以这里有很多缺失的值｡
‫好吧, 我会的
‫但也许这并不能告诉我们太多, 所以也许我们可以在原始的数据帧上做｡
‫我们走吧｡
‫好吧, 我会的
‫因此, 产品规模, 嗯, 这是有道理的,
‫产品规模是影响销售销售年份和关闭｡
‫也做了相当多的损害有和关闭价值计数｡
‫好吧, 我会的
‫所以这是嗯｡
‫这对我来说没什么意义｡
‫那么然后我们回到数据字典现在我们找到和闭包机的配置｡
‫机器是否有封闭式驾驶室？
‫好吧, 我会的
‫所以也许我们需要弄清楚这些不同的值可能意味着什么｡
‫但这是一种探索, 你可能会在建立模型后, 在接近尾声时进行｡
‫好吧, 我知道了
‫在你做了一些预测之后, 你可能会把它作为一种展示｡
‫所以, 也许你在会见客户或其他团队成员或其他人时会说, 嘿,
‫这是我们的模型发现的最重要的功能｡
‫这是否符合你的直觉, 符合某人已经知道的数据？
‫如果一个模型使用这些特征来推导它的预测, 这有意义吗？
‫或者, 此处的信息可能会影响您将来收集推土机销售数据的方式｡
‫所以你可能会在这里的值上多花点功夫, 这些值对预测推土机未来的销售贡献最大｡
‫最后一个问题是,
‫我们对这个问题有点模糊, 但我想让你们做一点研究, 为什么知道火车模型的功能重要性会有帮助？
‫这是最后一个问题｡
‫于是问话就此结束｡
‫是不是要做些研究？
‫为什么知道经过训练的机器学习模型的特征重要性会有帮助？
‫这样就能完成这个项目了｡
‫最后问一个小问题,
‫如果您已经完成了这里沿着所有步骤, 您可能会想看看您可以在超参数调谐方面走多远｡
‫比如说,
‫也许你可以在电脑上运行一段时间, 看看它会发现什么, 看看你是否能提高有效手臂睡眠分数, 看看你能在排行榜上领先多少｡
‫现在, 如果你真的达到了一个点, 你没有真正改善与随机森林模型,
‫什么是最终的扩展也可能是｡
‫最后的挑战｡
‫您还可以尝试其他哪些机器学习模型？
‫在AL数据集上｡
‫这可能涉及到像寻找心灵学习机器学习地图｡
‫所以我们已经做过了, 回归问题｡
‫我们找到了系综回归, 我们使用了一个随机森林｡
‫也许您想使用我们在本笔记本中讨论过的格式化数据来尝试另一个回归模型｡
‫所以我会在这里留下一点提示｡
‫所以暗示一下｡
‫看看这张地图的回归部分, 或者试着看看像猫助推点A这样的东西｡ 一､ 或x g升压A｡
‫一､ 这是两个额外的资源｡
‫所以额外的课程, 当然,
‫在这一点上, 它们是可选的, 因为一旦我们开始完成这类项目, 现在我们已经完成了一个完整的机器学习项目｡
‫你的下一步是尝试自己解决问题, 把你从这里学到的东西, 然后扩展｡
‫这是那种信息, 这是那种知识, 这是真的会帮助, 对不对？
‫所以, 与其总是经历这样的项目, 不如做一些研究, 尝试新的东西｡
‫记住我们的小框架的第六步, 实验｡
‫这就是我留给你们的挑战｡
‫但话虽如此, 如果你已经走到了这一步, 如果你已经经历了整个项目, 祝贺你｡
‫我们刚刚用机器学习来解决回归问题｡
‫这很酷吧？
‫那么看看笔记本吧｡
‫我想证明的是如果你有任何问题, 尽管问.
‫把它们留在Discord Chat或Udemy界面上, 在那里你可以留下一个问题, 我们会看看我们能从那里做些什么｡
‫但是恭喜你完成了第一个端到端的回归项目｡
‫真令人兴奋
‫祝你一切顺利