为训练实例分配特定权重的策略

时间:2019-07-09 14:47:50

标签: machine-learning scikit-learn classification

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

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

到目前为止,我只发现过采样特定实例的策略可以解决该问题。通过这种策略,我可以创建多个实例,以使其具有更高的相关性。

我找到了其他策略,但在这种情况下似乎无济于事:

  • 专注于为每个班级分配权重的策略。默认情况下,该策略已在多个库(例如Sklearn)中广泛使用。但是,这将这种想法推广到了一个班级,并没有帮助我专注于特定的实例

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

我阅读了一些关于在张量流模型中使损失函数受某些因素影响的建议,但这似乎最适用于张量流中的神经网络模型。

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

1 个答案:

答案 0 :(得分:1)

  

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

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

  

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

     

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

大多数scikit学习分类器都存在类似的论据,例如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