样本权重
在feed data的过程中,我们总是会用到samle_weight,样本权重的直观理解为:样本权重给出了各个样本的重要性。
具体是怎么体现的了,首先样本权重不是把样本乘以一个系数,这样的话feature值不就改变了,他改变的是该样本的数量,本来一个样本是1个,现在变成了0.8个,或者1.5个,样本数量现在可以取小数个了,对应的这个样本在总体样本中的占比也会变化。
如下代码就能体现,样本权重的作用,它改变的是样本的计数,从而改变了整个样本的信息量。
class Counter:
def __init__(self, arr, sample_weights=None):
if sample_weights is None:
self._counter = Count(arr)
else:
self._counter = {}
sw_len = len(sample_weights)
for elem, w in zip(arr, sample_weights):
if elem not in self._counter:
self._counter[elem] = w * sw_len
else:
self._counter[elem] += w * sw_len