Giter VIP home page Giter VIP logo

mdp-docs's Introduction


PyPI Latest Release Package Status Downloads Downloads

Modular toolkit for Data Processing

Modular toolkit for Data Processing (MDP) is a Python data processing framework.

From the user’s perspective, MDP is a collection of supervised and unsupervised learning algorithms and other data processing units that can be combined into data processing sequences and more complex feed-forward network architectures.

From the scientific developer’s perspective, MDP is a modular framework, which can easily be expanded. The implementation of new algorithms is easy and intuitive. The new implemented units are then automatically integrated with the rest of the library.

Main features

The base of available algorithms is steadily increasing and includes

  • signal processing methods such as
    • Independent Component Analysis,
    • Principal Component Analysis, and
    • Slow Feature Analysis;
  • manifold learning methods such as the [Hessian] Locally Linear Embedding;
  • several classifiers;
  • probabilistic methods such as
    • Factor Analysis,
    • Fisher Discriminant Analysis,
    • Linear Regression, and
    • RBMs;
  • data pre-processing methods such as
    • expansion methods for feature generation and
    • whitening for data normalization;

and many others.

You can find out more about MDP's functionality in the node list and the utilities description.

Install the newest release

MDP is listed in the Python Package Index and can be installed with:

pip install mdp

Install the development version

If you want to live on the bleeding edge, install the development version from the repository with:

pip install git+https://github.com/mdp-toolkit/mdp-toolkit.git

Usage

Using MDP is as easy as:

import mdp

# perform PCA on some data x
y = mdp.pca(x)

# perform ICA on some data x using single precision
y = mdp.fastica(x, dtype='float32')

Contact and development

MDP has been originally written by Pietro Berkes and Tiziano Zito at the Institute for Theoretical Biology of the Humboldt University, Berlin in 2003.

Since 2017, MDP is primarily maintained by the research group Theory of Neural Systems at the Institute for Neural Computation of the Ruhr University Bochum.

Contact

Most development discussions take place in this repository on Github. You are also encouraged to get in touch with the developers and other users on the users’ mailing list.

Contributing

MDP is open to user contributions. Users have already contributed some of the nodes, and more contributions are currently being reviewed for inclusion in future releases of the package

If you want to commit code, it may be easiest to fork the MDP repository on github and give us a note on the mailing list. We may then discuss how to integrate your modifications. For simple fixes that don’t need much discussion, you can also send a mail patch to the list using git format-patch or similar.

Your code contribution should not have any additional dependencies, i.e. they should require only the numpy module to be installed. If your code requires some other module, e.g. scipy or C/C++ compilation, ask [email protected] for assistance.

To learn more about how to contribute to MDP, check out the information for new developers section on the MDP webpage.

How to cite MDP

If you use MDP for scientific purposes, you may want to cite it. This is the official way to do it:

Zito, T., Wilbert, N., Wiskott, L., Berkes, P. (2009). Modular toolkit for Data Processing (MDP): a Python data processing frame work, Front. Neuroinform. (2008) 2:8. doi:10.3389/neuro.11.008.2008.

If your paper gets published, please send us a reference (and even a copy if you don't mind).

mdp-docs's People

Contributors

debilski avatar esc avatar keszybz avatar mikehulluk avatar nimlr avatar nkgevorgyan avatar nwilbert avatar otizonaizit avatar pberkes avatar stewori avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

mdp-docs's Issues

Renewal of the MDP documentation

Hi developers of MDP,

I am creating this issue to track future efforts for updating the documentation to the newest dependency versions. The update can include a remake or replacement of the custom extensions, conversion of the code snippets, and fixes for the build to work with the newest dependency versions.

Below I listed some steps I have already taken and some that are still to be done. I am hoping to discuss some decisions.

UPDATE 28/04/2020 22:45 UTC+1:

  • Update the following files to work with the newest dependency versions. Any occurring errors or warnings should be listed as an issue such that a decision can be made on how to proceed.

    • ./examples/bimdp_examples/bimdp_hinet_inspection.rst
    • ./examples/bimdp_examples/bimdp_custom_inspection.rst
    • ./examples/bimdp_examples/bimdp_inverse.rst
    • ./examples/binetdbn/dbn_binodes.rst
    • ./examples/binetdbn/dbn.rst
    • ./examples/binetdbn/test_dbnnodes.rst
    • ./examples/binetdbn/dbn_binodes_statemachine_old.rst
    • ./examples/binetdbn/dbn_binodes_coroutine_old.rst
    • ./examples/binetdbn/dbn_nodes.rst
    • ./examples/examples.rst
    • ./examples/slideshow/slideshow.rst
    • ./examples/convolution/image_convolution.rst
    • ./examples/gng/animated_training.rst
    • ./examples/gng/gng.rst
    • ./examples/lle/lle.rst
    • ./examples/gradnewton/gradnewton.rst
    • ./examples/logmap/logmap.rst
    • ./examples/bayes_guesser/bayes_guesser.rst
    • ./examples/word_generator/word_generator.rst
    • ./examples/logo/logo_animation.rst
    • ./examples/scikits_learn/digit_classification.rst
    • ./contact.rst
    • ./node_list.rst
    • ./license.rst
    • ./install.rst
    • ./main.rst
    • ./documentation.rst
    • ./additional_utilities.rst
    • ./talks/talks.rst
    • ./tutorial/quick_start.rst
    • ./tutorial/hinet.rst
    • ./tutorial/bimdp.rst
    • ./tutorial/extensions.rst
    • ./tutorial/iterables.rst
    • ./tutorial/nodes.rst
    • ./tutorial/introduction.rst
    • ./tutorial/caching.rst
    • ./tutorial/classifiers.rst
    • ./tutorial/parallel.rst
    • ./tutorial/wrappers.rst
    • ./tutorial/using_mdp_is_as_easy.rst
    • ./tutorial/checkpoints.rst
    • ./tutorial/flows.rst
    • ./tutorial/tutorial.rst
    • ./time_machine.rst
    • ./index.rst
    • ./development.rst
    • ./how_to_cite_mdp.rst
  • Write a short guide on how to compile the docs locally and add it to the development guide in the documentation.

  • Autobuild documentation for pull requests.

  • Adapt the remaining part of the docstrings to properly fit the rst-style to solve the warnings popping up in the sphinx-build.

  • Discuss any further improvements that could be made.

  • Migrate all example code in the docs to python 3.

  • Re-introduce doctest in the doc building pipeline.

To check out the new documentation locally install sphinx, run sphinx-build source build -v on the top level of the repository and open the index.html in /build. You need to make sure to clone/pull the submodule as well in order to build the documentation.

I am looking forward to your feedback.

Add installation instruction for Anaconda

MDP is available on Anaconda, see https://anaconda.org/search?q=mdp.
According to https://repo.anaconda.com/pkgs/ I think the preferable version is in the main channel, i.e. https://anaconda.org/main/mdp, however to auto mirror has the dominant download count.
So one possibly is to install via
conda install -c anaconda mdp or conda install -c main mdp or conda install -c free mdp.
Would it work to use painly conda install mdp? IIUC that would default to main but I'm not sure.
We should figure out the preferred command and add it to http://mdp-toolkit.sourceforge.net/install.html#installation.

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.