import numpy as np
def calcInfoGain(feature, label, index):
”’
计算信息增益
:param feature:测试用例中字典里的feature,类型为ndarray
:param label:测试用例中字典里的label,类型为ndarray
:param index:测试用例中字典里的index,即feature部分特征列的索引。该索引指的是feature中第几个特征,如index:0表示使用第一个特征来计算信息增益。
:return:信息增益,类型float
”’
** Begin **
def total_cal(label):
label_set = set(label)
result = 0
for i in label_set:
p=list(label).count(i)/len(label)
result-=p * np.log2(p)
return result
aba=[]
length=[]
for value in set(feature[:,index]):
num=feature[:,index].count(value)
sub_label = []
Original: https://blog.csdn.net/qq_55882332/article/details/124849666
Author: 『东方卿§TIAN』
Title: 机器学习-第2关:信息熵与信息增益
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/785844/
转载文章受原作者版权保护。转载请注明原作者出处!