A fast Tsetlin Machine impl, based on c++
Project description
Green Tsetlin
Installation
Green Tsetlin can be installed by the following:
pip install green-tsetlin
Documentation
The documentation can be found on: https://green-tsetlin.readthedocs.io/
Below is some short examples of some of the capabilities of green-tsetlin.
Tsetlin Machine
The Tsetlin Machine is the core of Green Tsetlin. Here a dense (regular) TM:
import green_tsetlin as gt
tm = gt.TsetlinMachine(n_literals=4,
n_clauses=5,
n_classes=2,
s=3.0,
threshold=42,
literal_budget=4
)
Sparse Tsetlin Machine
The Tsetlin Machine is the core of Green Tsetlin. Here a sparse TM:
import green_tsetlin as gt
tm = gt.SparseTsetlinMachine(n_literals=4,
n_clauses=5,
n_classes=2,
s=3.0,
threshold=42,
literal_budget=4,
)
Trainer
Use the Trainer to fit a Tsetlin Machine to the data.
The trainer class is used for both sparse and dense data and TMs.
import green_tsetlin as gt
# set n_jobs = 1 to run single threaded
trainer = gt.Trainer(tm, seed=42, n_jobs=1)
trainer.set_train_data(train_x, train_y)
trainer.set_eval_data(eval_x, eval_y)
trainer.train()
Exporting Tsetlin Machines
Exporting trained Tsetlin Machines.
.
.
tm.save_state("tsetlin_state.npz")
Loading exported Tsetlin Machines
Loading trained Tsetlin Machines to continue training or use for inference.
.
.
tm.load_state("tsetlin_state.npz")
Inference
Inference with trained Tsetlin Machines.
.
.
predictor = tm.get_predictor()
predictor.predict(x)
Green Tsetlin hpsearch
With the built-in hyperparameter search you can optimize your Tsetlin Machine parameters.
from green_tsetlin.hpsearch import HyperparameterSearch
hyperparam_search = HyperparameterSearch(s_space=(2.0, 20.0),
clause_space=(5, 10),
threshold_space=(3, 20),
max_epoch_per_trial=20,
literal_budget=(1, train_x.shape[1]),
search_or_use_boost_true_positives=(False, True),
seed=42,
n_jobs=5,
k_folds=4,
minimize_literal_budget=False)
hyperparam_search.set_train_data(train_x, train_y)
hyperparam_search.set_eval_data(test_x, test_y)
hyperparam_search.optimize(n_trials=10)
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
File details
Details for the file green_tsetlin-1.1.0.tar.gz.
File metadata
- Download URL: green_tsetlin-1.1.0.tar.gz
- Upload date:
- Size: 653.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
495dc268ba3592a45032d234ae3b46a4c43cf47652de24003dc781db29824e36
|
|
| MD5 |
5ba3135517aae8695ebb546bf11659c9
|
|
| BLAKE2b-256 |
fb3c6f29100b5063a64bebcd6eb6d8d3fada3733a145c044aaa3bb1a37a6f20e
|