我只想强调(增加权重)数据的一个子集。假设我有新旧数据,我想说旧数据必须具有更大的权重,因此比新数据对决策的影响更大。
在 scikit-learn 我发现只有class-weight参数,但它不会改变样本的权重,只会改变类内所有样本的权重。
有没有办法将这种强调融入到 spark 中的梯度提升树或 python 中的 xgboost 中?
我只想强调(增加权重)数据的一个子集。假设我有新旧数据,我想说旧数据必须具有更大的权重,因此比新数据对决策的影响更大。
在 scikit-learn 我发现只有class-weight参数,但它不会改变样本的权重,只会改变类内所有样本的权重。
有没有办法将这种强调融入到 spark 中的梯度提升树或 python 中的 xgboost 中?
如果你有一个日期变量(或类似的东西),你可以使用它来创建一个权重。
如果您使用 XGBoost,则可以在此处创建 - 馈送您的观察权重weight时为每个实例指定一个选项。DMatrix
可能有一种更奇特的方法来创建动态权重,但我可能会从对子集进行过采样开始,看看效果如何。因此,如果您有 A、B 和 C 类并且想要强调 C,请制作 C 的副本并将其插入到您的训练数据中。换句话说,假设您有六个要训练的记录:
添加: