假设您的监督学习训练集由 3 个不同的数据集组成,合并成一个大数据集。由于在合并之前每个都被标记的方式,您可能会怀疑其中一个(可能是最小的)比其他的更“重要”,这意味着它们的标签更可靠。其他可能包含更多错误。
您如何为 ML 模型加权最可靠的数据点,以便在这些样本上出错时更加关注它们并增加损失?有没有一种使用 scikit-learn 实现这一点的简单方法?
假设您的监督学习训练集由 3 个不同的数据集组成,合并成一个大数据集。由于在合并之前每个都被标记的方式,您可能会怀疑其中一个(可能是最小的)比其他的更“重要”,这意味着它们的标签更可靠。其他可能包含更多错误。
您如何为 ML 模型加权最可靠的数据点,以便在这些样本上出错时更加关注它们并增加损失?有没有一种使用 scikit-learn 实现这一点的简单方法?
在 scikit-learn 中,大多数算法(SVM、决策树、SGD 等)都有一个sample_weight参数,可以在拟合时传递。在您的情况下,您可以根据数据点来自 3 个数据集中的哪一个来提供不同的权重。
如果您要使用的算法没有提供sample_weight参数,您可以随时进行替换采样。简单地说,你给每个样本权重,然后通过替换抽样来创建你的数据集。这意味着具有较高权重的实例可能会在您的数据集中出现多次。