ttml
Tensor train based machine learning estimator.
Uses existing machine learning estimators to initialize a tensor train decomposition on a particular feature space discretization. Then this tensor train is further optimized with Riemannian conjugate gradient descent.
This library also implements much functionality related to tensor trains, and Riemannian optimization of tensor trains. Finally there is some functionality for turning decision trees and forests into CP/tensor trains.
Installation
The ttml python package can be installed using pip by running
pip install ttml
or by cloning this repository and running the following command in the root directory of this project:
git clone git@github.com:RikVoorhaar/ttml.git
pip install .
If you want to reproduce the experiments discussed in our paper, then first clone this repository. Then run the script datasets/download_datasets.py to download all relevant datasets from the UCI Machine Learning Repository. Then all figures and results can be reproduced by the scripts in the notebooks folder. To install all the dependencies for the scripts and tests, you can use the conda environment defined in environment.yml.
Documentation
The documentation for this project lives on ttml.readthedocs.io.
Credits
All code for this library has been written by Rik Voorhaar, in a joint project with Bart Vandereycken. This has been performed in the scope of a Swiss National Science Foundation grant.
This software is free to use and edit. When using this software for academic purposes, please cite the following preprint:
@article{
title = {TTML: Tensor Trains for general supervised machine learning},
journal = {arXiv:2202.XXXXX},
author = {Vandereycken, Bart and Voorhaar, Rik},
year = {2022},
}
All figures in the preprint have been produced using version 1.0 of this software.
Metadata
Release files for ttml 1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ttml-1.0.tar.gz | 82.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ttml-1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 179.1 kB
Release files / ttml-1.0.tar.gz
| Download URL | ttml-1.0.tar.gz |
|---|---|
| Size | 82.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3bbbc5e1afa17fef5f17a5a824f6950392b22394d2c356456fd621058fa11808
|
|
BLAKE2b-256 checksum How to use checksums |
c83034f07e8c3904d3d0a8d7fb38e09924a13216880492dd45155ca16fdc2321
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.26.0 requests-toolbelt/0.9.1 urllib3/1.26.6 tqdm/4.62.3 importlib-metadata/4.6.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.10
|
Release files / ttml-1.0-py3-none-any.whl
| Download URL | ttml-1.0-py3-none-any.whl |
|---|---|
| Size | 97.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e53d1c6fb8a5a5755c5b05e4b7b1e86edf4f71547171a4880c98f85fd8720fe5
|
|
BLAKE2b-256 checksum How to use checksums |
c25e125e2e55ac39d85756710555768f5dde6cd20e143078d3e5a50c9dcc3514
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.26.0 requests-toolbelt/0.9.1 urllib3/1.26.6 tqdm/4.62.3 importlib-metadata/4.6.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.10
|