Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

green_tsetlin-1.1.0.tar.gz (653.8 kB view details)

Uploaded Source

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

Hashes for green_tsetlin-1.1.0.tar.gz
Algorithm Hash digest
SHA256 495dc268ba3592a45032d234ae3b46a4c43cf47652de24003dc781db29824e36
MD5 5ba3135517aae8695ebb546bf11659c9
BLAKE2b-256 fb3c6f29100b5063a64bebcd6eb6d8d3fada3733a145c044aaa3bb1a37a6f20e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page