Tensor train based machine learning estimator
Project description
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file ttml-1.0.tar.gz
.
File metadata
- Download URL: ttml-1.0.tar.gz
- Upload date:
- Size: 82.1 kB
- Tags: Source
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3bbbc5e1afa17fef5f17a5a824f6950392b22394d2c356456fd621058fa11808 |
|
MD5 | b5fd4bf3f1cbbceb84b3c70f13ebd835 |
|
BLAKE2b-256 | c83034f07e8c3904d3d0a8d7fb38e09924a13216880492dd45155ca16fdc2321 |
File details
Details for the file ttml-1.0-py3-none-any.whl
.
File metadata
- Download URL: ttml-1.0-py3-none-any.whl
- Upload date:
- Size: 97.1 kB
- Tags: Python 3
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e53d1c6fb8a5a5755c5b05e4b7b1e86edf4f71547171a4880c98f85fd8720fe5 |
|
MD5 | 8ae6754a721456259db74a74db82fc90 |
|
BLAKE2b-256 | c25e125e2e55ac39d85756710555768f5dde6cd20e143078d3e5a50c9dcc3514 |