特征选择过滤器 -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. 真正的共同信息不能是负面的。如果其估计结果为负,则将其替换为零。

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