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

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

特别是,我正在使用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

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

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