教你在windows10环境下如何安装minepy并成功运行!
2021-07-11 08:06
标签:src 一个 返回 处理 tools for 执行 port 扩展 在学习使用sklearn做单机特征工程这篇文章时,发现在计算互信息时 经典的互信息也是评价定性自变量对定性因变量的相关性的,互信息计算公式如下: 为了处理定量数据,最大信息系数法被提出,使用feature_selection库的SelectKBest类结合最大信息系数法来选择特征的代码如下: 根据 发现又缺少编译器——Visual C++ Build Tools(注:这个是微软为 Python 3.5 提供的编译器),看出错结果显示: 好嘛,为了安装 机智的我赶紧去Unofficial Windows Binaries for Python Extension Packages找找看,这个网站包含了很多Python扩展包的非官方Windows二进制文件,还真有 把它下载下来后,我把它拷贝到了 在Anaconda的 注意:下载的 参考资料: 运行成功,全部搞定! 教你在windows10环境下如何安装minepy并成功运行! 标签:src 一个 返回 处理 tools for 执行 port 扩展 原文地址:https://www.cnblogs.com/HongjianChen/p/9660529.html
from minepy import MINE
代码运行出错ModuleNotFoundError: No module named ‘minepy‘
原文部分如下:
3.1.4 互信息法
from sklearn.feature_selection import SelectKBest
from minepy import MINE
#由于MINE的设计不是函数式的,定义mic方法将其为函数式的,返回一个二元组,二元组的第2项设置成固定的P值0.5
def mic(x, y):
m = MINE()
m.compute_score(x, y)
return (m.mic(), 0.5)
#选择K个最好的特征,返回特征选择后的数据
SelectKBest(lambda X, Y: array(map(lambda x:mic(x, Y), X.T)).T, k=2).fit_transform(iris.data, iris.target)
运行结果
ModuleNotFoundError: No module named ‘minepy‘
先解决错误1
ModuleNotFoundError: No module named ‘minepy‘
提示,缺少minepy
模块,于是到Anaconda(或者cmd)下执行命令pip3 install minepy
,error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": http://landinghub.visualstudio.com/visual-cpp-build-tools
。minepy
竟然还要安装Visual C++ Build Tools
,麻不麻烦啊?minepy
,E:\Python3.6\Scripts
文件夹里面,在该路径运行cmd
命令pip3 install minepy-1.2.2-cp36-cp36m-win_amd64.whl
,成功安装。Prompt
中直接用命令:pip3 install E:\Python3.6\Scripts\minepy-1.2.2-cp36-cp36m-win_amd64.whl
,也成功安装。minepy-1.2.2-cp36-cp36m-win_amd64.whl
可以保存到任何文件夹地方,只需要在该路径下运行cmd
,然后运行pip3 install minepy-1.2.2-cp36-cp36m-win_amd64.whl
,一样可以成功安装。
再解决错误2
map
前加list
,以及.T
改成.T[0]
即可from sklearn.feature_selection import SelectKBest
from minepy import MINE
#由于MINE的设计不是函数式的,定义mic方法将其为函数式的,返回一个二元组,二元组的第2项设置成固定的P值0.5
def mic(x, y):
m = MINE()
m.compute_score(x, y)
return (m.mic(), 0.5)
‘‘‘
compute_score(x, y)
Computes the maximum normalized mutual information scores between x and y.
计算x和y之间的最大标准化互信息分数。
‘‘‘
#选择K个最好的特征,返回特征选择后的数据
SelectKBest(lambda X, Y: array(list(map(lambda x:mic(x, Y), X.T))).T[0], k=2).fit_transform(iris.data, iris.target)
文章标题:教你在windows10环境下如何安装minepy并成功运行!
文章链接:http://soscw.com/index.php/essay/103609.html