【问题标题】:Scikit learn - ignore metadata features when training [closed]Scikit learn - 训练时忽略元数据特征[关闭]
【发布时间】:2021-02-22 17:25:27
【问题描述】:

我想将失败的示例映射回识别元数据,例如 name, id, 等,以便我可以更仔细地查看它们。我能想到的最简单的方法是在调用 fit 函数时将 id 字段留在功能集中。但是,我不希望模型在这些元数据字段上进行训练。无论如何在忽略某些功能的情况下拟合模型?或者有没有更好的方法将失败的示例映射回它们的识别元数据?

【问题讨论】:

  • 您应该提供一个minimal reproducible example 来显示未完全按照您的要求执行的代码。 (见How to Ask。)
  • 我认为在这种情况下没有太多需要提供示例。本质上,一个关于 scikit 的 api 和机器学习策略的理论问题。不过,也许这是发错版块了

标签: python machine-learning scikit-learn metadata scikits


【解决方案1】:

首先,您应该查看测试中的“失败示例”,而不是训练数据集中。我将假设这是您想要做的 - 但它也适用于训练数据。问题变成了,如何设置数据集,以便您可以追溯模型在其上表现不佳的各个数据点。

我还将假设您的数据位于数据框中。假设您有[feature1, feature2, id] 列。然后,无论你做什么洗牌和拆分成训练/测试/验证数据,你都在完整的数据框架上做 - 特征和元数据一起移动。

最后,您将df[[feature1, feature2]] 传递给您的模型。现在,您的特征数据和完整数据以完全相同的方式编制索引。在识别出不能正常工作的数据点后,您可以通过查看原始数据帧在同一索引处获取其 id 和其他元数据。

【讨论】:

  • 严格来说并非如此。如果你不能过度拟合你的训练数据,那么你的模型实现就会出现问题。这是一个非常有用和常见的测试。但是他们在哪里说他们只看训练集呢?
  • 我暗示他们来自他们想要使用的 fit 方法。
猜你喜欢
  • 2015-08-10
  • 2016-11-26
  • 2019-10-22
  • 2020-02-22
  • 2014-09-17
  • 2019-06-18
  • 2019-01-07
  • 2015-08-24
  • 2021-05-21
相关资源
最近更新 更多