4.71429

4.7 | 14 ratings Rate this file 324 downloads (last 30 days) File Size: 296.73 KB File ID: #14888

Mutual Information computation

by Hanchuan Peng

 

06 May 2007 (Updated 23 Aug 2007)

No BSD License  

A self-contained package for computing mutual information, joint/conditional probability, entropy

Download Now | Watch this File

File Information
Description

A self-contained, cross-platform, package for computing mutual information, joint/conditional probability, entropy, and more. This package has also been used for general machine learning and data mining purposes such as feature selection, Bayesian network construction, signal processing, etc.

Another related package for minimal redundancy feature selection is also available at the Matlab Central exchange site, under the category of "Biotech and Pharmaceutical".

A simple demo is called demo_mi.m.

*** Please note that downloading or use of this package means acceptance of the license of this package. In short, this package is free to non-profit use but cannot be re-distributed in any form, including revised forms, without the explicit permission for the author, Hanchuan Peng. See readme file for further information. ***

MATLAB release MATLAB 7 (R14)
Zip File Content  
Other Files
mi/condentropy.m,
mi/condmutualinfo.m,
mi/demo_mi.m,
mi/elementmexheader.h,
mi/entropy.m,
mi/estcondentropy.cpp,
mi/estcondentropy.dll,
mi/estcondentropy.mexglx,
mi/estcondentropy.mexmac,
mi/estentropy.cpp,
mi/estentropy.dll,
mi/estentropy.mexglx,
mi/estentropy.mexmac,
mi/estjointentropy.cpp,
mi/estjointentropy.dll,
mi/estjointentropy.mexglx,
mi/estjointentropy.mexmac,
mi/estmutualinfo.cpp,
mi/estmutualinfo.dll,
mi/estmutualinfo.mexglx,
mi/estmutualinfo.mexmac,
mi/estpa.cpp,
mi/estpa.dll,
mi/estpa.mexglx,
mi/estpa.mexmac,
mi/estpab.cpp,
mi/estpab.dll,
mi/estpab.mexglx,
mi/estpab.mexmac,
mi/findjointstateab.cpp,
mi/findjointstateab.dll,
mi/findjointstateab.mexglx,
mi/findjointstateab.mexmac,
mi/jointentropy.m,
mi/makeosmex.m,
mi/mergemultivariables.m,
mi/miinclude.h,
mi/mutualinfo.m,
mi/readme
Tags for This File  
Everyone's Tags
Tags I've Applied
Add New Tags Please login to tag files.
Comments and Ratings (15)
07 May 2007 Xiang Y

great! easy to use.

07 May 2007 ali shrof  
22 May 2007 Peter Chow

a nice piece of work, make my life much easier!

29 May 2007 Rui Liu

very good!!

18 Dec 2007 Mike B  
11 Jan 2008 Fernando Diaz

I need un function that is needed in mutualinfo (estpab)

23 Jan 2008 sumit maheshwari

i want to write joint probabilty as a function or want to express as an equation....
please help me.......

03 Feb 2008 Dedy H

Can you help me to find joint probability for multivariate data....???how can I contact with you???

16 Feb 2008 Usha Nair

i want to normalise the mutualinfo to the range (0-1) for comparison of different time series. Could you please help me by proper suggestion for this. Is it possible to change the number of bins used for the histogram so that all the data sets can be analyzed using the same scale.

28 Apr 2008 Guenther Eibl

I just needed the normalized MI which was easy to find and use

25 Jul 2008 ming ma

very good

26 Sep 2008 Yan Jin

Thank you for your source code! It's very good^^

27 Dec 2008 Bahaa Khalil

Many thanks for your contribution, is it possible to adjust estpob file to be able to calculate mutual information for continuous data

30 Sep 2009 Hanchuan

Quite some people ask for mex files for different operating system versions, such as the latest Windows, or Mac OS X 10.6 Snow Leopard, etc. Please note that the mex functions can simply be re-generated by running the "makeosmex" command when you enter the folder of this toolbox (I assume you know how to set up mex compiling environment). For Windows, I use mingw to compile.

12 Nov 2009 Carlos Guerrero Mosquera

I can't compiler the file estmutualinfo.cpp.
estmutualinfo.cpp
estmutualinfo.cpp(42) : warning C4267: 'initializing' : conversion from 'size_t' to 'long', possible loss of data
estmutualinfo.cpp(43) : warning C4267: 'initializing' : conversion from 'size_t' to 'long', possible loss of data
estmutualinfo.cpp(55) : warning C4267: '=' : conversion from 'size_t' to 'long', possible loss of data
estmutualinfo.cpp(58) : warning C4267: '=' : conversion from 'size_t' to 'long', possible loss of data
estmutualinfo.cpp(65) : warning C4267: '=' : conversion from 'size_t' to 'long', possible loss of data
estmutualinfo.cpp(67) : warning C4267: '=' : conversion from 'size_t' to 'long', possible loss of data
estmutualinfo.cpp(120) : error C2668: 'log' : ambiguous call to overloaded function
        C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\INCLUDE\math.h(567): could be 'long double log(long double)'
        C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\INCLUDE\math.h(519): or 'float log(float)'
        C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\INCLUDE\math.h(121): or 'double log(double)'
        while trying to match the argument list '(int)'

Please login to add a comment or rating.
Updates
23 Aug 2007

a missing include file linked to Matlab mex.h and matrix.h

Tag Activity for this File
Tag Applied By Date/Time
statistics Hanchuan Peng 22 Oct 2008 09:11:52
probability Hanchuan Peng 22 Oct 2008 09:11:52
mutual information Hanchuan Peng 22 Oct 2008 09:11:52
conditional probability Hanchuan Peng 22 Oct 2008 09:11:52
joint probability Hanchuan Peng 22 Oct 2008 09:11:52
make my life much easier liu xiaofeng 13 Mar 2009 22:34:22
a nice piece of work liu xiaofeng 13 Mar 2009 22:34:22
conditional probability Joni 27 Apr 2009 15:25:13
joint probability Sravanti 22 Jun 2009 12:11:16
self_rating Matt Fig 30 Sep 2009 12:24:49
 

MATLAB Central Terms of Use

NOTICE: Any content you submit to MATLAB Central, including personal information, is not subject to the protections which may be afforded information collected under other sections of The MathWorks, Inc. Web site. You are entirely responsible for all content that you upload, post, e-mail, transmit or otherwise make available via MATLAB Central. The MathWorks does not control the content posted by visitors to MATLAB Central and, does not guarantee the accuracy, integrity, or quality of such content. Under no circumstances will The MathWorks be liable in any way for any content not authored by The MathWorks, or any loss or damage of any kind incurred as a result of the use of any content posted, e-mailed, transmitted or otherwise made available via MATLAB Central. Read the complete Terms prior to use.

Contact us at files@mathworks.com