python - 将具有离散特征索引的数组传递给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 变量标识为离散变量,而将其他变量标识为连续变量。
如果我错了,有人可以澄清一下吗?
解决方案
推荐阅读
- java - 未能创建子事件循环/未能打开新的选择器/打开的文件太多
- jquery - 如何使用 jquery 获取元素的 HTML bgcolor
- php - TYPO3 CMS 版本 9 安装因缺少词法分析器而失败
- ios - UITextField 在 iOS 11.4 中创建 EXC_BAD_ACCESS
- python - '状态'对象不是可迭代的python Django
- asp.net-mvc - 将 Docker 支持添加到 ASP.NET 应用程序
- javascript - 如何在 Angular 中使用 socket.io 服务?
- angular - Angular 5:如何在提供者中传递类名
- java - Java - 导出后复制目录不起作用
- java - 如何在使用 Apache POI 和 java 创建的 .docx 上添加页码