Skip to main content

Crosscat

CrossCat is a domain-general, Bayesian method for analyzing high-dimensional data tables. CrossCat estimates the full joint distribution over the variables in the table from the data, via approximate inference in a hierarchical, nonparametric Bayesian model, and provides efficient samplers for every conditional distribution. CrossCat combines strengths of nonparametric mixture modeling and Bayesian network structure learning: it can model any joint distribution given enough data by positing latent variables, but also discovers independencies between the observable variables.

A range of exploratory analysis and predictive modeling tasks can be addressed via CrossCat, including detecting predictive relationships between variables, finding multiple overlapping clusterings, imputing missing values, and simultaneously selecting features and classifying rows. Research on CrossCat has shown that it is suitable for analysis of real-world tables of up to 10 million cells, including hospital cost and quality measures, voting records, handwritten digits, and state-level unemployment time series.

Installation

Local (Ubuntu)

You can install CrossCat using pip (no need to clone from git):

$ pip install crosscat

If you’d like to install from source, CrossCat can be successfully installed locally on bare Ubuntu server 14.04 systems with:

$ sudo apt-get install build-essential cython python
$ sudo apt-get install python-setuptools python-numpy
$ git clone https://github.com/probcomp/crosscat.git

$ cd crosscat
$ python setup.py build
$ python setup.py install  # or python setup.py develop

CrossCat can also be installed in a local Python virtual environment:

$ cd crosscat
$ virtualenv --system-site-packages /path/to/venv
$ . /path/to/venv/bin/activate
$ python setup.py build
$ python setup.py install  # or python setup.py develop

A similar process has been found to work on OSX.

Tests

To run the automatic tests:

$ ./check.sh

Documentation

Note: The VM is only meant to provide an out-of-the-box usable system setup. Its resources are limited and large jobs will fail due to memory errors. To run larger jobs, increase the VM resources or install directly to your system.

Python Client

C++ backend

Example

dha_example.py (github) is a basic example of analysis using CrossCat. For a first test, run the following from above the top level crosscat dir

python crosscat/examples/dha_example.py crosscat/www/data/dha.csv --num_chains 2 --num_transitions 2

Note: the default argument values take a considerable amount of time to run and are best suited to a cluster.

License

Apache License, Version 2.0

Release files for CrossCat 0.1.55

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for CrossCat 0.1.55
File Size Uploaded
crosscat-0.1.55.tar.gz 336.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for CrossCat 0.1.55
File Interpreter ABI Platform
crosscat-0.1.55-cp27-none-macosx_10_6_intel.whl CPython 2.7 none macOS 10.6+ Intel (x86-64, i386) Details

Total release size: 1.3 MB

Release files / crosscat-0.1.55.tar.gz

Download URL crosscat-0.1.55.tar.gz
Size 336.3 kB
Tags Source
SHA-256 checksum
How to use checksums
96d946229c1c28bf512190022407767079794607798aca7f4d52b5aeab7f1f38
BLAKE2b-256 checksum
How to use checksums
405198eb2b365679498ce939e4aeac26db456dae478a350ab426b764b628708f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / crosscat-0.1.55-cp27-none-macosx_10_6_intel.whl

Download URL crosscat-0.1.55-cp27-none-macosx_10_6_intel.whl
Size 934.3 kB
Tags CPython 2.7 macOS 10.6+ Intel (x86-64, i386)
SHA-256 checksum
How to use checksums
2cd5b9c2660a046a05e31545f477c102df29d0d04de82c5044f640b3ec150638
BLAKE2b-256 checksum
How to use checksums
62f2f186cf28c2b8fc8f1e2d455fac25d5f5c824677ab99b79b503947a7e2b76
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.1.55 This release

2 release files

0.1.53

2 release files

0.1.52

1 release file

0.1.51

2 release files

0.1.50

2 release files

0.1.49

2 release files

0.1.48

2 release files

0.1.43

1 release file

0.1.36

1 release file

0.1.28

1 release file

0.1.27

1 release file

0.1.25

1 release file

0.1.5

2 release files

0.1.2

2 release files

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page