Metadata-Version: 1.1
Name: ace_cream
Version: 0.4.post5
Summary: Alternating Conditional Expectation Algorithm
Home-page: https://github.com/zhaofeng-shu33/ace_cream
Author: zhaofeng-shu33
Author-email: 616545598@qq.com
License: Apache License Version 2.0
Description: Alternating Conditional Expectation Algorithm
        =============================================
        
        |Build Status| |PyPI|
        
        This project provides a wrapper program of Python for ACE algorithm
        implementation of Fortran.
        
        Install Binary Distribution
        ---------------------------
        
        Currently, only 64-bit binary distribution is provided. Run
        ``pip install ace_cream`` to install the binary distribution.
        
        +----------+-------+-------+-------+
        | Platform | py3.5 | py3.6 | py2.7 |
        +==========+=======+=======+=======+
        | Windows  | T     | T     | T     |
        +----------+-------+-------+-------+
        | MacOS    |       | T     | T     |
        +----------+-------+-------+-------+
        | Linux    | T     | T     | T     |
        +----------+-------+-------+-------+
        
        How to build
        ------------
        
        You need ``numpy`` and fortran compiler to build from source.
        
        Windows
        ~~~~~~~
        
        -  Install `Visual
           C++ <https://blogs.msdn.microsoft.com/vcblog/2017/03/07/msvc-the-best-choice-for-windows/>`__
           toolchain.
        
        -  Download MinGW-w64 from
           `sourceforge <https://sourceforge.net/projects/mingw-w64/files/latest/download?source=typ_redirect>`__,
           which provides the necessary fortran compiler
        
        -  Install MinGW-w64 and add ``{install_dir}\mingw64\bin`` path to
           environment variable (make ``gfortran`` accessible from command
           line).
        
           -  (for conda environment) Add ``{install_dir}\Anaconda3\Scripts`` to
              environment variable (make ``f2py`` accessible from command line).
        
        Mac
        ~~~
        
        You can use package manager to install ``gfortran`` (included within gnu
        compiler collection). For example, with ``Homebrew`` you can use
        
        .. code:: shell
        
           brew install gcc
        
        Ubuntu
        ~~~~~~
        
        To install ``gfortran``, use the default package manager:
        
        .. code:: shell
        
           sudo apt-get install gfortran
        
        Run ``python setup.py install`` from command line at the project root
        directory.
        
        How to use
        ----------
        
        .. code:: python
        
           import numpy as np
           from ace_cream import ace_cream
           # discrete case, binary symmetric channel with crossover probability 0.1
           x = np.random.choice([0,1], size=N_SIZE)
           n = np.random.choice([0,1], size=N_SIZE, p=[0.9, 0.1])
           y = np.mod(x + n, 2)
           # set both x(cat=0) and y(cat=-1) as categorical type
           tx, ty = ace_cream(x, y, cat=[-1,0])
        
           # continuous case
           x = np.random.uniform(0, np.pi, 200)
           y = np.exp(np.sin(x)+np.random.normal(size=200)/2)
           tx, ty = ace_cream(x, y)
        
        Result
        ------
        
        .. figure:: ./example/continuous.svg
           :alt: image
        
           image
        
        change log
        ----------
        
        1. v0.1 initial commit
        2. v0.2 modify to relative import in ``__init__.py``
        3. v0.3 add support for multiple columns of x and other directions of
           transformation
        4. v0.4 add ``f_mapping`` function and unittests for this function
        
        License
        -------
        
        Apache License Version 2.0
        
        .. |Build Status| image:: https://travis-ci.org/zhaofeng-shu33/ace_cream.svg?branch=master
           :target: https://travis-ci.org/zhaofeng-shu33/ace_cream
        .. |PyPI| image:: https://img.shields.io/badge/pypi-0.4.post4-blue.svg
           :target: https://pypi.org/project/ace_cream
        
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Programming Language :: Fortran
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 2.7
Classifier: Operating System :: OS Independent
