1. 程式人生 > >機器學習:樣本權重的理解

機器學習:樣本權重的理解

樣本權重

在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