microsoftml.mutualinformation_select:根據共同資訊的特徵選取

使用方式

microsoftml.mutualinformation_select(cols: [list, str], label: str,
    num_features_to_keep: int = 1000, num_bins: int = 256, **kargs)

Description

跨所有指定的資料行選取前 k 個特徵,這些特徵會按照其與標籤資料行的相互資訊進行排序。

詳細資料

兩個隨機變數 XY 的相互資訊,是變數之間相互相依性的量值。 形式上,可將相互資訊撰寫為:

I(X;Y) = E[log(p(x,y)) - log(p(x)) - log(p(y))]

其中期望會接管 XY 的聯合分佈。 在這裡,p(x,y)XY 的聯合機率密度函數,而 p(x)p(y) 則是 XY 的邊際機率密度函數。 一般而言,相依變數 (或標籤) 與獨立變數 (或特徵) 之間的相互資訊較高,表示標籤與該特徵的相互相依性較高。

相互資訊特徵選取模式會根據相互資訊選取特徵。 它會使用標籤來保留具有最大相互資訊的最上層 num_features_to_keep 特徵。

引數

cols

指定變數名稱的字元字串或清單來選取。

label

指定標籤的名稱。

num_features_to_keep

如果將保留的特徵數目指定為 n,轉換會挑選與應變數具有最高相互資訊的 n 特徵。 預設值為 1000。

num_bins

適用於數值的 bin 數目上限。 建議使用 2 的乘冪。 預設值為 256。

kargs

傳送至計算引擎的其他引數。

傳回

定義轉換的物件。

另請參閱

count_select

參考資料

維基百科:相互資訊 \(英文\)