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

我正在开发一个机器学习分类模型,用户可以提供标签实例来帮助改进模型。需要对用户最新提供的实例赋予更高的相关性,而非那些之前用于训练的实例。

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

到目前为止,我只找到了通过过采样特定实例作为解决方案的策略。使用这种策略,我将为那些我想赋予更高相关性的实例创建多个副本。

我还找到了另一种策略,但似乎在这些条件下无效:

  • 专注于为每个类别分配权重的策略。这种策略在许多库中如Sklearn默认广泛使用。然而,这种方法将想法泛化到类别级别,并不能帮助我聚焦于特定实例

我寻找了多种可能帮助为单个实例提供特定权重的策略,但大多数都集中在类别级别而非实例级别的权重上。

我读到了一些建议,在TensorFlow模型中通过一些因子乘以损失函数来处理实例,但这似乎主要适用于TensorFlow中的神经网络模型。

我想知道是否有人知道其他可能帮助解决这个问题的途径


回答:

我寻找了多种可能帮助为单个实例提供特定权重的策略,但大多数都集中在类别级别而非实例级别的权重上。

这不准确;大多数scikit-learn分类器在它们的fit方法中提供了sample_weight参数,这正是为了这个目的。例如,这是逻辑回归的文档参考:

sample_weight : array-like, shape (n_samples,) optional

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

大多数scikit-learn分类器都有类似的参数,例如决策树随机森林等,甚至对于线性回归(不是分类器)。请务必查看文档中的SVM: Weighted samples示例。

其他框架的情况大致相似;例如,请查看在PySpark中是否有相当于scikit-learn的sample_weight参数?中的回答

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

Related Posts

在使用k近邻算法时,有没有办法获取被使用的“邻居”?

我想找到一种方法来确定在我的knn算法中实际使用了哪些…

Theano在Google Colab上无法启用GPU支持

我在尝试使用Theano库训练一个模型。由于我的电脑内…

准确性评分似乎有误

这里是代码: from sklearn.metrics…

Keras Functional API: “错误检查输入时:期望input_1具有4个维度,但得到形状为(X, Y)的数组”

我在尝试使用Keras的fit_generator来训…

如何使用sklearn.datasets.make_classification在指定范围内生成合成数据?

我想为分类问题创建合成数据。我使用了sklearn.d…

如何处理预测时不在训练集中的标签

已关闭。 此问题与编程或软件开发无关。目前不接受回答。…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注