Python的第三方库minepy安装解决方案
简要介绍了Python的第三方库minepy的基本信息、重点介绍在python和Anaconda中的安装过程,包括查询python对应的whl版本和pip的默认安装路径的选择
下面我从是什么、怎么用两个维度来介绍minepy,其中重点介绍怎么安装minepy
MinePy是什么?
官方回答
minepy provides a library for the Maximal Information-based Nonparametric Exploration (MIC and MINE family). Key features:
- APPROX-MIC (the original algorithm, DOI: 10.1126/science.1205438) and MIC_e (DOI: arXiv:1505.02213 and DOI: arXiv:1505.02214) estimators;
- Total Information Coefficient (TIC, DOI: arXiv:1505.02213) and the Generalized Mean Information Coefficient (GMIC, DOI: arXiv:1308.5712);
- an ANSI C library
- a C++ interface;
- an efficient Python API (Python 2 and 3 compatibility);
- an efficient MATLAB/OCTAVE API;
minepy is an open-source, GPLv3-licensed software.
中文解释
minepy是基于最大互信息的非参数勘探(MINE,Maximal Information-based Nonparametric Exploration)的一个python库。
许多数据集包括成千上万个变量对,在我们不知道它们有哪些关系的情况下,如何有效地识别重要的关系呢?
最大互信息系数(MIC,Maximal Information Coefficient)与MINE专门针对快速挖掘多维度数据,可以衡量两个变量的相关性。
MIC计算分为三个步骤:
- 给定i、j,对XY构成的散点图进行i列j行网格化,并求出最大的互信息值
- 对最大的互信息值进行归一化
- 选择不同尺度下互信息的最大值作为MIC值
在特征工程的特征选择中,我们往往会用到最大特征系数法,其原理是基于互信息,互信息计算公式如下:
I
(
X
;
Y
)
=
∑
x
∈
y
∑
y
∈
x
l
o
g
p
(
x
,
y
)
p
(
x
)
p
(
y
)
I(X;Y)=\sum_{x\in{y}}\sum_{y\in{x}}{log\frac{p(x,y)}{p(x)p(y)}}
I(X;Y)=x∈y∑y∈x∑logp(x)p(y)p(x,y)
那如何理解互信息及最大信息系数法呢?这里推荐两篇文章互信息 特征选择(4)-最大信息系数方法
怎么安装MinePy
在Python中安装MinePy
按照固定的套路,在cmd命令行中输入pip 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。
发现缺少编译器——Visual C++ Build Tools(注:这个是微软为 Python 3.5 提供的编译器)。这里我是这样认为的,一些官网的第三方库需要微软提供的编译器,但非官方的第三方库可能就没有这个要求了。所以现在要寻找minepy的第三方库。
一些常见的第三方库在Unofficial Windows Binaries for Python Extension Packages可以找到。
进入网站页面后,按组合建Ctrl+F
全局搜索minepy
进入后选择版本
这里选择版本很重要,因为whl
与Python有着极强的版本对应关系,也就是说你的python只能安装某些版本的whl
。这里可以通过python -m pip debug --verbose
查询python可以安装的whl
版本。结果如下:
根据python可以安装的版本进行选择。这里我选择minepy-1.2.5-cp38-cp38-win_amd64.whl
。将其下载到Python安装路径下的Scripts
文件夹中,这里具体放到哪个路径下好像无伤大雅。
然后从命令行进入到Scripts
文件夹中,使用pip install minepy-1.2.5-cp38-cp38-win_amd64.whl
进行安装。
在Anaconda中安装MinePy
因为很多同学都是先从Python入手,到后面才接触到Anaconda。所以我们也需要在Anaconda上进行安装。首先进入Anaconda Prompt
命令行中,在此命令行中默认的python是Anaconda自带的python解释器,这里可以通过在cmd和Anaconda Prompt
中分别使用pip --version
来观察区别。因为不同的python版本对应可用的whl
版本也不一样。Anaconda 对应的whl版本如下:
在官网上下载文件到Anaconda\Lib\site-packages
文件夹中,然后从命令行进入此文件夹下,输入安装命令pip install minepy-1.2.5-cp38-cp38-win_amd64.whl
。但我这里显示如下信息
Requirement already satisfied: minepy==1.2.5 from file:///F:/Anaconda/Lib/site-packages/minepy-1.2.5-cp38-cp38-win_amd64.whl in f:\anaconda\lib\site-packages (1.2.5)
可能的原因是我Anaconda的pip默认安装路径下已经安装过此软件了(因为之前用python安装过),查看pip
默认安装路径的命令如下:
python -m site
红圈内的路径即为默认安装路径,下面我们通过指定安装路径的方式来解决问题,将安装路径设置为\Lib\site-packages
。
pip install --target=F:\Anaconda\Lib\site-packages minepy-1.2.5-cp38-cp38-win_amd64.whl
这样就成功的避免了问题的产生。
参考资料
这里先推荐一篇优秀博客Maximal Information Coefficient (MIC)最大互信息系数详解与实现
Requirement already satisfied 解决方法
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)