GithubHelp home page GithubHelp logo

Comments (5)

Craigacp avatar Craigacp commented on May 27, 2024

MIToolbox operates on discrete inputs so you will need to discretise them before using it, otherwise it will apply a standard discretisation which probably doesn't do what you want. In the past we've used 10 bins of equal width in the range (min, max) and that has tended to work reasonably well.

I believe scikit-learn has a continuous/discrete mutual information calculation, or there are packages like ITE (https://bitbucket.org/szzoli/ite-in-python/src/master/) which provide many different estimators for the mutual information.

from mitoolbox.

FaridehJalali85 avatar FaridehJalali85 commented on May 27, 2024

Thanks Adam

Can you please elaborate more about 10 bins of equal width in the range (min, max) for the outcome? Is there any other approach that we can map the continuous output to the classification task?
Thanks
Fari

from mitoolbox.

Craigacp avatar Craigacp commented on May 27, 2024

There are many different binning algorithms. Equal frequency binning (where the bin widths are set to ensure each bin has the same number of elements in it) interacts oddly with information theoretic feature selection, as it makes each feature maximum entropy. We used equal width binning in our papers on feature selection and it worked well. You can also set the bins based on mean & std dev if you think the variable is approximately gaussian distributed, or use some meaningful bins if you have domain knowledge about the feature values.

from mitoolbox.

FaridehJalali85 avatar FaridehJalali85 commented on May 27, 2024

Thanks Adam,

Can we have multi-label class(outcome) with your developed information theoretic feature selection toolbox or should it be only binary?
Thanks

from mitoolbox.

Craigacp avatar Craigacp commented on May 27, 2024

Multi-class is fine.

from mitoolbox.

Related Issues (7)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.