使用Matlab和Minepy工具箱做变量的互信息MIC (maximal information coefficient ) 分析

环境: Windows, MatlabR2018

Minepy是一个可以计算互信息的库,matlab中使用需要安装该库

Minepy的说明及安装步骤详见官方文档:

https://minepy.readthedocs.io/en/latest/install.html#octave-users-windows-linux-and-mac-os-x

下面梳理一下笔者的安装步骤:

1.下载库  网址: https://github.com/minepy/minepy/releases  下载最新版 minepy-1.2.4.tar.gz 即可

2. 解压 minepy-1.2.4.tar.gz 文件,并将其放到某一个路径D:/xxxxx 下

3. 打开matlab 并且把当前路径变成D:/xxxxx 并且定位到 minepy-1.2.4\matlab 文件夹下

4. 在命令窗口运行代码    mex mine_mex.c ../libmine/mine.c   运行后得到 .mex64 文件

注:如果此步报错,可能是没有编译器 tdm-gcc,参考文章 https://blog.csdn.net/forever__1234/article/details/78148108        https://blog.csdn.net/desire121/article/details/60466845也许可以解决。

5. 点击 matlab中的 主页—>设置路径 将刚才的  .../ minepy-1.2.4\matlab 文件夹添加到路径即可

6. 在Matlab中试运行一下代码  

minestats = mine([1,2,3,4,5,6], [1,2,3,4,5,6])

结果是下面这样的话就成功了:

各变量含义如下(也可见网页 https://minepy.readthedocs.io/en/latest/python.html#first-example ):

 

mic   最大信息系数(MIC或MIC_e)

mas      最大不对称分数(MAS)

mev     最大边缘值

mcn     eps> = 0的最小信元数

mcn_general  eps = 1-MIC的最小信元数

tic  总信息系数(TIC或TIC_e)。如果norm == True TIC将在[0,1]中标准化


版权声明:本文为u011792913原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。