機器學習:樣本權重的理解
阿新 • • 發佈:2018-12-31
樣本權重
在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