【问题标题】:Strategies to assign specific weights to training instances为训练实例分配特定权重的策略
【发布时间】:2019-11-19 03:59:54
【问题描述】:

我正在研究机器学习分类模型,用户可以在其中提供有助于改进模型的标签实例。 与以前可用于训练的实例相比,需要为用户提供的最新实例提供更多相关性。

特别是,我正在使用 Sklearn 库在 python 中开发我的机器学习模型。

到目前为止,我只发现了对特定实例进行过采样的策略作为解决问题的可能方法。使用这种策略,我将创建多个我想要赋予更高相关性的实例副本。

我发现的其他策略,但在这些情况下似乎无济于事:

  • 侧重于为每个班级分配权重的策略。默认情况下,此策略在 Sklearn 等多个库中得到高度使用。但是,这会将这个想法推广到班级级别,并不能帮助我将注意力集中在特定实例上

我已经寻找多种策略可能有助于为单个实例提供特定权重,但大多数都侧重于类级别而不是实例级别权重。

我阅读了一些建议,通过张量流模型中的实例将损失函数乘以某些因素,但这似乎主要适用于张量流中的神经网络模型。

我想知道是否有人知道可能有助于解决此问题的其他方法的信息

【问题讨论】:

    标签: machine-learning scikit-learn classification


    【解决方案1】:

    我已经寻找了多种策略,这些策略可能有助于为单个实例提供特定的权重,但大多数都侧重于类级别而不是实例级别的权重。

    这不准确;大多数 scikit-learn 分类器在其 fit 方法中提供了一个 sample_weight 参数,这正是这样做的。例如,这里是逻辑回归的documentation 参考:

    sample_weight : 类似数组,形状 (n_samples,) 可选

    分配给单个样本的权重数组。如果未提供,则为每个样本指定单位重量。

    大多数 scikit-learn 分类器都存在类似的参数,例如decision treesrandom forests 等,即使是 linear regression(不是分类器)。请务必查看文档中的 SVM: Weighted samples 示例。

    其他框架的情况大致类似;例如在Is there in PySpark a parameter equivalent to scikit-learn's sample_weight?中查看自己的答案

    此外,scikit-learn 还提供了一个实用函数,用于在数据集不平衡的情况下计算 sample_weightsklearn.utils.class_weight.compute_sample_weight

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-07-15
      • 1970-01-01
      • 2018-10-21
      • 2011-01-25
      • 2019-05-21
      • 2017-11-06
      • 2016-10-12
      相关资源
      最近更新 更多