The Ruby Gem

The ruby gem currently supports loading and applying a YAML decision tree. The following example is from the tests and shows how a YAML fixture file is parsed into a BinaryTree object:

tree = TreeThinking::BinaryTreeFactory.from_yaml('./spec/fixtures/simple_tree.yaml')

This tree can then be used to get a probability from an answer vector:

tree.call([1, 0])
#> 0.1

In this case, the answer vector is [1,0], however another approach that can be used is a Struct where the attribute order matches the order of the features in the decision tree. For example:

Answer = Struct.new(:likes_ice_cream, :likes_chocolate)
answer_vector = Answer.new(1,0)
tree.call(answer_vector)
#> 0.1