python中使用mRMR |
您所在的位置:网站首页 › mrmr下载 › python中使用mRMR |
python中使用mRMR mRMR pymrmr模块 安装 使用 参数说明 问题 mifs模块 安装 使用 问题 总结 mRMR Max-Relevance and Min-Redundancy 最大相关 - 最小冗余 相信读到这篇博客的你,应该是知道mRMR的原理的,所以就不再解释了 pymrmr模块github链接 安装 pip install numpy Cython pip install pymrmr在windows上有可能会出现: error: Microsoft Visual C++ 14.0 is required这样的错误 我用的是Ubuntu,linux就是好 使用 import pymrmr .... pymrmr.mRMR(df, 'MIQ', 10) .... 参数说明上面的代码省略了很多,大概看个样子就好了 参数1 pandas.DataFrame 第一列要是目标量 其他列要是特征量 最神奇的是,列的名称要是字符串 参数2 str 内部选择的方法,有两种取值‘MID’和’MIQ’ 参数3 int 要选取的特征数量 问题说说我遇到的问题: 我要处理的数据有3000+行、20000+列,运行到一半就会报一个内存错误 能想到的方法: 去改变模块的源码(未成功) 去看了这个模块的源码,竟然是熟悉的c++,然后看看了,感觉看懂了,之间将其开辟空间的地方直接改成自己需要的,然后。。。。。。。 使用mrmr程序 地址 这个是在pymrmr的github上看到的,可以在线执行mrmr,不过提交的数据不能超过2MB,然后往下翻,能看到这个![]() ![]() github链接 安装好像没有pip install的样子 得从上面的github链接,clone或者下载下来 在此之前需要安装 scipy(>=0.17.0) numpy(>=1.10.4) scikit-learn(>=0.17.1) bottleneck(>=1.1.0)再进入下载的目录执行 python setup.py install 使用 import mifs .... feat_selector = mifs.MutualInformationFeatureSelector(method='MRMR') # 参数说明 # method: str, 互信息的特征选择方法,取值有'JMI','JMIM','MRMR' # n_features: int or str, 需要选择出的特征数量 # verbose: int, 在运行的时候,输出的详细星x系的程度, 取值0,1,2,可以自己试试看看效果 feat_selector.fit(x, y) # 说明 # x 特征矩阵,推荐是numpy.array,pandas.DataFrame好像不行呢 # y 标签值,推荐是numpy.array feat_selector.ranking_ # 得到列的索引,从0开始 .... 问题能直接跑很大的数据,但是运行时间就有点一言难尽了 总结这两种或者三种方法,有时得出的结果是不一样的,如果不想去探究原因的话,就使用对模型更加有作用的结果。 上面的过程有点省略,有什么问题或者不明白的,可以私信我。
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |