0

使用 Python SkLearn 梯度提升分类器。我正在使用的设置是选择随机样本(随机)。对其中一个二元类(结果 = 0)使用 sample_weight 1,对另一个类(结果 = 1)使用 20。我的问题是这些权重如何以“外行术语”应用。

是不是在每次迭代中,模型都会从样本中选择 x 行作为 0 结果,选择 y 行作为 1 结果,然后 sample_weight 设置将启动并保留所有 x 但对 y (1) 结果进行过采样20倍?

在文档中,我不清楚 sample_weight > 1 是否过采样。我知道 class_weight 是不同的,不会改变数据,而是模型如何通过损失函数解释数据。另一方面,Sample_weight 是否真的通过过采样有效地改变了输入模型的数据?

谢谢

4

1 回答 1

0

样本权重是一个乘数,这里是代码:

https://github.com/scikit-learn/scikit-learn/blob/f0ab589f/sklearn/ensemble/gradient_boosting.py#L1225

于 2018-08-30T11:53:00.150 回答