特徵選擇過濾器 -mutual_info_classif(離散目標變量的互信息)

文章目錄


官網:sklearn.feature_selection.mutual_info_classif

函數

sklearn.feature_selection.mutual_info_classif(X, y, discrete_features='auto', n_neighbors=3, copy=True, random_state=None)[source]

估計離散目標變量的互信息。

兩個隨機變量之間的互信息(MI)[1]是非負值,用於衡量變量之間的依存關係。當且僅當兩個隨機變量是獨立的,並且等於較高的值意味着較高的依賴性時,它等於零。

該函數依賴於非參數方法,該方法基於[ k]最近鄰居距離的熵估計,如[2]和[3]中所述。兩種方法都基於[4]中最初提出的想法。

參數說明

Parameters
----------
X: array_like or sparse matrix, shape (n_samples, n_features)
   Feature matrix.
   特徵矩陣。

y:array_like, shape (n_samples,)
   Target vector.
   標籤向量。

discrete_features:{‘auto’, bool, array_like}, default=‘auto’
				   如果爲'auto',則將其分配給False(表示稠密)X,將其分配給True(表示稀疏)X。
				   如果是bool,則確定是考慮所有特徵是離散特徵還是連續特徵。
				   如果是數組,則它應該是具有形狀(n_features,)的布爾蒙版或具有離散特徵索引的數組。
				  

n_neighbors:int, default=3
			 用於連續變量的MI估計的鄰居數;
			 較高的值會減少估計的方差,但可能會帶來偏差。

copy:bool, default=True
	  是否複製給定的數據。如果設置爲False,則初始數據將被覆蓋。

random_state:int, RandomState instance or None, optional, default None
			  確定隨機數生成,以將小噪聲添加到連續變量中以刪除重複值。
			  在多個函數調用之間傳遞int以獲得可重複的結果。

Returns
-------
mi:ndarray, shape (n_features,)
	每個功能和目標之間的估計相互信息。

筆記

  1. 使用術語“離散特徵”而不是將它們命名爲“分類”,因爲它可以更準確地描述要素。例如,圖像的像素強度是離散的特徵(但很難分類),如果將其標記爲這樣,您將獲得更好的結果。還要注意,將連續變量視爲離散變量,反之亦然通常會產生錯誤的結果,因此請注意這一點。

  2. 真正的共同信息不能是負面的。如果其估計結果爲負,則將其替換爲零。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章