def _calc_entropy(self, data_set):
"""
compute the entropy of the data_set
:param data_set: the data_set you want to calculator entropy
:return: x, x is a numerical value represent the entropy
"""
class_list = [example[-1] for example in data_set]
unique_class = set(class_list)
record_num = len(data_set)
entropy = 0.0
for item in unique_class:
item_data = self._find_record_with_value(-1, data_set, item)
probability = len(item_data) / record_num
entropy -= probability * math.log2(probability)
return entropy
评论列表
文章目录