A C++/python implementation of cross-cutting categorization.
baxcat is no longer developed. Please see lace for all your probabilistic cross-categorization needs
C++ backend requires Boost and an OpenMP, C++11 capable compiler.
The python front end requires python version 3.X and the packages in
requirements.txt
:
To install:
$ python setup.py install
To run the python unit tests:
$ py.test
The documentation is a work in progress. Nevertheless, you can find it
here. Or you can build it by cd doc && make html
. The docs will be in _build/html.
Examples are stored in the examples
directory. More coming soon.
Follow pep8 with 4-space indents and 79-charcter lines. The default settings on flake8 should be fine.
Some things I need to do to make this more accessible and useful to non-bax humans.
- Sphinx documentation
- Real-world examples in
examples
directory - Interval probabilities in
Engine.probability
- Count data via Poisson
- Cyclical data via VonMises
- Magnitude data via Log-Normal
- Row similarity heatmap
- Row similarity WRT specific columns (#1)
- Way to evalute predictive power
Engine.eval
- Optional ouput during Engine.run
- More options for parallelization (IPython, Pathos, etc)
Optimizations and refactoring
- Should have
Engine._converters['valmaps']
for every column - rename
msd
incxx
tocsd
(#3) - Remove stupid copyright boilerplate.
- dial back the namespaces and better organize headers
- Figure out better prior for CRP alpha. Maybe need prior MH to avoid numerical problems (#2)
- Fix super-redundant code in
Engine.pairwise_func
- Refactor DataContainer
BaxCat: an extensible cross-catigorization engine. Copyright (C) 2016 Baxter Eaves
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 3.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License (LICENSE.txt) along with this program. If not, see http://www.gnu.org/licenses/.
You may contact the mantainers of this software via github https://github.com/BaxterEaves/baxcat_cxx.