首页 > 解决方案 > 将具有离散特征索引的数组传递给python中的mutual_info_classif

问题描述

我正在使用来自 sklearn.feature_selection.mutual_info_classif 的 MI 来计算 4 个连续变量(X 矩阵)和 y(目标类)之间的 MI

X:

prop_tenure prop_12m    prop_6m prop_3m
    0.04        0.04        0.06    0.08
    0           0           0       0
    0           0           0       0
    0.06        0.06        0.1     0
    0.38        0.38        0.25    0
    0.61        0.61        0.66    0.61
    0.01        0.01        0.02    0.02
    0.1         0.1         0.12    0.16
    0.04        0.04        0.04    0.09
    0.22        0.22        0.22    0.22
    0.72        0.72        0.73    0.72
    0.39        0.39        0.45    0.64

**y**

status
0
0
1
1
0
0
0
1
0
0
0
1

所以我的 X 都是连续的,而 y 是离散的。

函数中有一个参数,我可以将离散特征的索引传递给它:

sklearn.feature_selection.mutual_info_classif(X, y, discrete_features=’auto’, n_neighbors=3, copy=True, random_state=None)

我正在做如下:

print(mutual_info_classif(X,y,discrete_features = [3],n_neighbors = 20))
[0.12178862 0.12968448 0.15483147 0.14721018]

虽然这没有给出错误,但我不确定我是否传递了正确的索引来将 y 变量标识为离散变量,而将其他变量标识为连续变量。

如果我错了,有人可以澄清一下吗?

标签: pythonscikit-learnfeature-selection

解决方案



推荐阅读