Python的第三方库minepy安装解决方案

下面我从是什么、怎么用两个维度来介绍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计算分为三个步骤:

  1. 给定i、j,对XY构成的散点图进行i列j行网格化,并求出最大的互信息值
  2. 对最大的互信息值进行归一化
  3. 选择不同尺度下互信息的最大值作为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)=xyyxlogp(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

Python的第三方库minepy安装解决方案_第1张图片

进入后选择版本

Python的第三方库minepy安装解决方案_第2张图片

这里选择版本很重要,因为whl与Python有着极强的版本对应关系,也就是说你的python只能安装某些版本的whl这里可以通过python -m pip debug --verbose查询python可以安装的whl版本。结果如下:
Python的第三方库minepy安装解决方案_第3张图片

根据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版本如下:
Python的第三方库minepy安装解决方案_第4张图片

在官网上下载文件到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

Python的第三方库minepy安装解决方案_第5张图片

红圈内的路径即为默认安装路径,下面我们通过指定安装路径的方式来解决问题,将安装路径设置为\Lib\site-packages

pip install --target=F:\Anaconda\Lib\site-packages minepy-1.2.5-cp38-cp38-win_amd64.whl

这样就成功的避免了问题的产生。

Python的第三方库minepy安装解决方案_第6张图片

参考资料

这里先推荐一篇优秀博客Maximal Information Coefficient (MIC)最大互信息系数详解与实现

Anaconda第三方包安装位置

Requirement already satisfied 解决方法

关于 pip has no attribute pep425tags 的解决

更改conda环境下,pip包安装默认路径

你可能感兴趣的:(Python,python,anaconda,minepy)