mloss.org MIToolboxhttp://mloss.orgUpdates and additions to MIToolboxenThu, 02 Mar 2017 00:38:52 -0000MIToolbox 3.0.1http://mloss.org/software/view/325/<html><p>A mutual information library for C/C++ and Mex bindings for MATLAB. </p> <p>This toolbox is aimed at people who wish to use mutual information for feature selection, and provides a range of information theoretic functions. All functions estimate the probabilities from the supplied data vectors. Some example implementations of common mutual information based feature selection algorithms are provided in both C and MATLAB, CMIM - (Fleuret 2004), mRMR - (Peng et al 2005), DISR - (Bontempi &amp; Meyer 2006). The implementations contained in here are early versions of those in the <a href="http://mloss.org/software/view/386/">FEAST library</a>, and the implementations in FEAST should be used in preference to the ones in MIToolbox. </p> <p>All functions discretise the inputs by rounding down to the nearest integer. </p> <p>This toolbox was developed to support our work in feature selection, which resulted in the paper "Conditional Likelihood Maximisation: A Unifying Framework for Information Theoretic Feature Selection", G Brown, A Pocock, M-J Zhao, M Lujan. JMLR 2012 (<a href="http://jmlr.csail.mit.edu/papers/v13/brown12a.html">link</a>). Please cite this paper if you use our toolbox. </p> <p>The feature selection algorithms developed for that paper form the FEAST toolbox, published at mloss <a href="http://mloss.org/software/view/386/">here</a>. </p> <p>List of functions: Entropy, Conditional Entropy, Joint Entropy, Mutual Information, Conditional Mutual Information, Renyi's Entropy, Renyi's Mutual Information, Weighted Entropy, Weighted Conditional Entropy Creating a joint random variable </p> <p>A Java implementation of the Shannon entropy functions is available from my GitHub page <a href="https://github.com/Craigacp/JavaMI">here</a>. </p></html>Adam PocockThu, 02 Mar 2017 00:38:52 -0000http://mloss.org/software/rss/comments/325http://mloss.org/software/view/325/conditional entropyconditional mutual informationentropymutual informationrenyi entropy<b>Comment by Aida Brank on 2016-09-22 20:11</b>http://mloss.org/comments/cr/14/325/#c785<p>Hello,</p> <p>I have following error:</p> <p>Undefined function or variable 'FSToolboxMex'. Error in feast (line 70) selectedFeatures = FSToolboxMex(4,numToSelect,data,labels);</p> <p>though I did as I run ComlileMIToolbox.m in MIToolbox directory.</p> <p>Thanks!!!</p> <p>Regards</p> Aida BrankThu, 22 Sep 2016 20:11:50 -0000http://mloss.org/comments/cr/14/325/#c785<b>Comment by Adam Pocock on 2016-09-22 22:09</b>http://mloss.org/comments/cr/14/325/#c786<p>Hi Aida,</p> <p>That error means you haven't compiled FEAST correctly. You need to compile both FEAST and MIToolbox separately.</p> <p>Thanks,</p> <p>Adam</p> Adam PocockThu, 22 Sep 2016 22:09:08 -0000http://mloss.org/comments/cr/14/325/#c786<b>Comment by Fazeelat Mazhar on 2017-02-07 08:54</b>http://mloss.org/comments/cr/14/325/#c803<p>Hi Adam,</p> <p>I am facing error in running CompileMIToolbox.m file on MATLAB. Error is:</p> <p>Error using mex CalculateProbability.c C:\Users\Fazeelat\Downloads\MIToolbox-3.0.0\MIToolbox-3.0.0\src\CalculateProbability.c(271) : error C2275: 'ProbabilityState' : illegal use of this type as an expression ../include\MIToolbox/CalculateProbability.h(40) : see declaration of 'ProbabilityState' C:\Users\Fazeelat\Downloads\MIToolbox-3.0.0\MIToolbox-3.0.0\src\CalculateProbability.c(271) : error C2146: syntax error : missing ';' before identifier 'state' C:\Users\Fazeelat\Downloads\MIToolbox-3.0.0\MIToolbox-3.0.0\src\CalculateProbability.c(271) : error C2065: 'state' : undeclared identifier C:\Users\Fazeelat\Downloads\MIToolbox-3.0.0\MIToolbox-3.0.0\src\CalculateProbability.c(271) : error C2440: '=' : cannot convert from 'ProbabilityState' to 'int' C:\Users\Fazeelat\Downloads\MIToolbox-3.0.0\MIToolbox-3.0.0\src\CalculateProbability.c(276) : error C2065: 'state' : undeclared identifier C:\Users\Fazeelat\Downloads\MIToolbox-3.0.0\MIToolbox-3.0.0\src\CalculateProbability.c(276) : error C2440: 'return' : cannot convert from 'int' to 'ProbabilityState' </p> Fazeelat MazharTue, 07 Feb 2017 08:54:10 -0000http://mloss.org/comments/cr/14/325/#c803<b>Comment by Adam Pocock on 2017-02-07 14:58</b>http://mloss.org/comments/cr/14/325/#c804<p>Hi Fazeelat,</p> <p>What C compiler, Matlab version and Windows version are you using?</p> <p>Thanks,</p> <p>Adam</p> Adam PocockTue, 07 Feb 2017 14:58:04 -0000http://mloss.org/comments/cr/14/325/#c804<b>Comment by Fazeelat Mazhar on 2017-02-08 05:02</b>http://mloss.org/comments/cr/14/325/#c805<p>C compiler, Microsoft Visual studio 2010 Matlab version 8.4 Windows 8.1</p> Fazeelat MazharWed, 08 Feb 2017 05:02:06 -0000http://mloss.org/comments/cr/14/325/#c805<b>Comment by Adam Pocock on 2017-02-09 02:41</b>http://mloss.org/comments/cr/14/325/#c808<p>Hi Fazeelat,</p> <p>Turns out there was one place where I didn't strictly follow ANSI C. GCC wasn't throwing an error, but apparently Visual Studio does. I've fixed it now, can you try version 3.0.1 from <a href="https://github.com/Craigacp/MIToolbox/releases/tag/v3.0.1">my GitHub page</a>.</p> <p>Thanks,</p> <p>Adam</p> Adam PocockThu, 09 Feb 2017 02:41:55 -0000http://mloss.org/comments/cr/14/325/#c808<b>Comment by Fazeelat Mazhar on 2017-02-09 06:20</b>http://mloss.org/comments/cr/14/325/#c809<p>Thanks Adam, that error has been fixed.</p> <p>Another error of out of memory appeared while finding MI of two matrices. My dataset is a bit large dimension i.e.,146X16.</p> <p>Can you help? </p> Fazeelat MazharThu, 09 Feb 2017 06:20:30 -0000http://mloss.org/comments/cr/14/325/#c809<b>Comment by Adam Pocock on 2017-02-09 16:08</b>http://mloss.org/comments/cr/14/325/#c810<p>Hi Fazeelat,</p> <p>MIToolbox isn't really suitable for that kind of mutual information estimation. You need many more samples to do discrete entropy estimation in a 16 dimensional space, and the mutual information will work in a 32 dimensional space (assuming both your matrices are the same size).</p> <p>If you have a continuous space you might have more luck with a continuous MI estimator using a k-nn or minimum spanning tree approximation, but MIToolbox doesn't implement either of those. I think Zoltan Szabo's <a href="https://bitbucket.org/szzoli/ite/">ITE toolkit</a> might be more appropriate.</p> <p>Thanks,</p> <p>Adam</p> Adam PocockThu, 09 Feb 2017 16:08:59 -0000http://mloss.org/comments/cr/14/325/#c810<b>Comment by Fazeelat Mazhar on 2017-02-10 07:05</b>http://mloss.org/comments/cr/14/325/#c811<p>Thanks Adam.</p> Fazeelat MazharFri, 10 Feb 2017 07:05:12 -0000http://mloss.org/comments/cr/14/325/#c811<b>Comment by Janek Janek on 2017-02-20 18:56</b>http://mloss.org/comments/cr/14/325/#c817<p>Adam. Please Help me. This problem http://s1.fotowrzut.pl/YLV6QVY97K/1.jpg </p> <p>Matlab R2016a Windows7 I try wersion 3.0.1 </p> <p>Help </p> Janek JanekMon, 20 Feb 2017 18:56:54 -0000http://mloss.org/comments/cr/14/325/#c817<b>Comment by Adam Pocock on 2017-02-20 19:14</b>http://mloss.org/comments/cr/14/325/#c818<p>Hi Janek,</p> <p>Please check that CompileFEAST is pointing at v3.0.1 of MIToolbox. The version that is packaged in the MLOSS download is v3.0.0 which has that bug. You'll need to download MIToolbox v3.0.1 from Github and unpack it in the directory next to FEAST.</p> <p>Thanks,</p> <p>Adam</p> Adam PocockMon, 20 Feb 2017 19:14:21 -0000http://mloss.org/comments/cr/14/325/#c818<b>Comment by Janek Janek on 2017-02-20 19:51</b>http://mloss.org/comments/cr/14/325/#c819<p>Adam, </p> <p>Help Gee I do not understand You can check it's toolbox I use this</p> <p>http://s1.fotowrzut.pl/O2V2AUIRNB/1.jpg http://s1.fotowrzut.pl/61GMCSFD4I/1.jpg</p> <p>http://www82.zippyshare.com/v/BSJx3Xlk/file.html Please check whether it is good in the toolbox</p> <p>Thanks, </p> <p>Janek</p> Janek JanekMon, 20 Feb 2017 19:51:15 -0000http://mloss.org/comments/cr/14/325/#c819<b>Comment by Adam Pocock on 2017-02-20 20:04</b>http://mloss.org/comments/cr/14/325/#c820<p>Hi Janek,</p> <p>You haven't unpacked the updated version of MIToolbox in the right directory. The error message from MATLAB shows it's looking in the directory above FEAST, not inside the FEAST directory.</p> <p>The zip you sent compiles fine on my Linux box from within the FEAST/matlab directory. I don't have access to a copy of Matlab on Windows with Visual Studio to test it out further.</p> <p>Thanks,</p> <p>Adam</p> Adam PocockMon, 20 Feb 2017 20:04:32 -0000http://mloss.org/comments/cr/14/325/#c820<b>Comment by Janek Janek on 2017-02-20 20:36</b>http://mloss.org/comments/cr/14/325/#c821<p>Hi Adam, </p> <p>I fixed thanks for your help. http://s1.fotowrzut.pl/LKXJ3BQIDV/1.jpg</p> <p>Thanks, </p> <p>Janek</p> Janek JanekMon, 20 Feb 2017 20:36:48 -0000http://mloss.org/comments/cr/14/325/#c821