diff options
Diffstat (limited to 'FEAST/MIToolbox/README')
-rw-r--r-- | FEAST/MIToolbox/README | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/FEAST/MIToolbox/README b/FEAST/MIToolbox/README new file mode 100644 index 0000000..7abe43d --- /dev/null +++ b/FEAST/MIToolbox/README @@ -0,0 +1,71 @@ +MIToolbox v1.03 for C/C++ and MATLAB/OCTAVE + +The MIToolbox contains a set of functions to calculate information theoretic +quantities from data, such as the entropy and mutual information. The toolbox +contains implementations of the most popular Shannon entropies, and also the +lesser known Renyi entropy. The toolbox only supports discrete distributions, +as opposed to continuous. All real-valued numbers will be processed by x = floor(x) + +These functions are targeted for use with feature selection algorithms rather +than communication channels and so expect all the data to be available before +execution and sample their own probability distributions from the data. + +Things you can do: + - Entropy + - Conditional Entropy + - Mutual Information + - Conditional Mutual Information + - generating a joint variable + - generating a probability distribution from a discrete random variable + - Renyi's Entropy + - Renyi's Mutual Information + +Note: all functions are calculated in log base 2, so return units of "bits". + +====== + +Examples: + +>> y = [1 1 1 0 0]'; +>> x = [1 0 1 1 0]'; + +>> mi(x,y) %% mutual information I(X;Y) +ans = + 0.0200 + +>> h(x) %% entropy H(X) +ans = + 0.9710 + +>> condh(x,y) %% conditional entropy H(X|Y) +ans = + 0.9510 + +>> h( [x,y] ) %% joint entropy H(X,Y) +ans = + 1.9219 + +>> joint([x,y]) %% joint random variable XY +ans = + 1 + 2 + 1 + 3 + 4 + +====== + +To compile the library for use in MATLAB/OCTAVE, execute CompileMIToolbox.m +from within MATLAB, or run 'make matlab' from a terminal. + +To compile the library for C/C++, run 'make' at a terminal. + +The C source files are licensed under the LGPL v3. The MATLAB wrappers and +demonstration feature selection algorithms are provided as is with no warranty +as examples of how to use the library in MATLAB. + +Update History +08/11/2011 - v1.03 - Minor documentation changes to accompany the JMLR publication. +15/10/2010 - v1.02 - Fixed bug where MIToolbox would cause a segmentation fault if a x by 0 empty matrix was passed in. Now prints an error message and returns gracefully +02/09/2010 - v1.01 - Updated CMIM.m in demonstration_algorithms, due to a bug where the last feature would not be selected first if it had the highest MI +07/07/2010 - v1.00 - Initial Release |