機器學習中資訊增益的計算方法

2021-08-16 22:47:13 字數 923 閱讀 1358

背景介紹:最近在處理資料的時候,需要用到資訊增益來進行特徵選擇,在網上查閱了一些資料,這裡對資訊增益的相關知識總結一下。

介紹資訊增益之前,首先需要介紹一下熵的概念,這是乙個物理學概念,表示「乙個系統的混亂程度」。系統的不確定性越高,熵就越大。假設集合中的變數x=,它對應在集合的概率分別是p=。那麼這個集合的熵表示為:

舉乙個的例子:對遊戲活躍使用者進行分層,分為高活躍、中活躍、低活躍,遊戲a按照這個方式劃分,使用者比例分別為20%,30%,50%。遊戲b按照這種方式劃分,使用者比例分別為5%,5%,90%。那麼遊戲a對於這種劃分方式的熵為:

同理遊戲b對於這種劃分方式的熵為:

遊戲a的熵比遊戲b的熵大,所以遊戲a的不確定性比遊戲b高。用簡單通俗的話來講,遊戲b要不就在上公升期,要不就在衰退期,它的未來已經很確定了,所以熵低。而遊戲a的未來有更多的不確定性,它的熵更高。

介紹完熵的概念,我們繼續看資訊增益。為了便於理解,我們還是以乙個實際的例子來說明資訊增益的概念。假設有下表樣本

第一列為qq,第二列為性別,第三列為活躍度,最後一列使用者是否流失。我們要解決乙個問題:性別和活躍度兩個特徵,哪個對使用者流失影響更大?我們通過計算資訊熵可以解決這個問題。

按照分組統計,我們可以得到如下資訊:

其中positive為正樣本(已流失),negative為負樣本(未流失),下面的數值為不同劃分下對應的人數。那麼可得到三個熵:

整體熵:

性別熵:

性別資訊增益:

同理計算活躍度熵:

活躍度資訊增益:

活躍度的資訊增益比性別的資訊增益大,也就是說,活躍度對使用者流失的影響比性別大。在做特徵選擇或者資料分析的時候,我們應該重點考察活躍度這個指標。

機器學習 決策樹 計算資訊增益

檔案說明 決策樹 from math import log 函式說明 建立測試資料集 parameters null returns dataset 資料集 labels 分類屬性 author zhengyuxiao modify 2019 03 04 def createdataset data...

Python 計算資訊增益的方法

import numpy as np a np.array 1,2,3,3,4,4,5,5,6,6,7,7 計算方法一 def calculate entropy x x value list set x i for i in range x.shape 0 entropy 0.0 for x va...

機器學習 資訊熵 資訊增益的概念

資訊熵表示 隨機變數 的不確定性。不確定性越大 即所謂的資訊量越大 資訊熵越大。首先從直覺上來講,是可以的。不然我們怎麼覺得有的人廢話特別多,卻沒什麼資訊量 而有的人一語中的,一句話就傳達了很大的資訊量。有些事情本來不是很確定 例如 明天 是漲是跌 1 明天nba決賽開始了 和 跌漲 沒關係,所以 ...