Python中的條件信息熵,是一個用來衡量隨機變量X的某個屬性對變量Y的不確定性減輕程度的指標。
def cond_entropy(x, y): """ 計算條件信息熵 :param x: 隨機變量X :param y: 隨機變量Y :return: 條件信息熵 """ res = 0 xy_count = {} y_count = {} for i in range(len(x)): if x[i] not in xy_count: xy_count[x[i]] = {} if y[i] not in y_count: y_count[y[i]] = 0 if y[i] not in xy_count[x[i]]: xy_count[x[i]][y[i]] = 0 xy_count[x[i]][y[i]] += 1 y_count[y[i]] += 1 for k in xy_count: for y_k in xy_count[k]: res -= xy_count[k][y_k] / len(x) * math.log(xy_count[k][y_k] / y_count[y_k], 2) return res
以上是計算條件信息熵的函數,其中輸入參數x為隨機變量X的取值,y為隨機變量Y的取值。
通過該函數,我們可以得到隨機變量X對隨機變量Y的不確定性減輕程度的具體值。
下一篇vue dir