RandomTreeGenerator#
- class capymoa.stream.generator.RandomTreeGenerator[source]#
Bases:
MOAStream
Stream generator for a stream based on a randomly generated tree.
>>> from capymoa.stream.generator import RandomTreeGenerator ... >>> stream = RandomTreeGenerator() >>> stream.next_instance() LabeledInstance( Schema(generators.RandomTreeGenerator ), x=[0. 3. 2. 3. 4. 0.036 0.659 0.711 0.153 0.16 ], y_index=0, y_label='class1' ) >>> stream.next_instance().x array([4. , 2. , 2. , 1. , 4. , 0.39717434, 0.34751803, 0.29405703, 0.50648363, 0.11596709])
- __init__(
- instance_random_seed: int = 1,
- tree_random_seed: int = 1,
- num_classes: int = 2,
- num_nominals: int = 5,
- num_numerics: int = 5,
- num_vals_per_nominal: int = 5,
- max_tree_depth: int = 5,
- first_leaf_level: int = 3,
- leaf_fraction: float = 0.15,
Construct a random tree generator.
- Parameters:
instance_random_seed – Seed for random generation of instances.
tree_random_seed – Seed for random generation of tree.
num_classes – The number of classes to generate.
num_nominals – The number of nominal attributes to generate.
num_numerics – The number of numeric attributes to generate.
num_vals_per_nominal – The number of values to generate per nominal attribute.
max_tree_depth – The maximum depth of the tree concept.
first_leaf_level – The first level of the tree above
max_tree_depth
that can have leavesleaf_fraction – The fraction of leaves per level from first leaf level onwards.
- __iter__() Iterator[_AnyInstance] [source]#
Get an iterator over the stream.
This will NOT restart the stream if it has already been iterated over. Please use the
restart()
method to restart the stream.- Yield:
An iterator over the stream.
- __next__() _AnyInstance [source]#
Get the next instance in the stream.
- Returns:
The next instance in the stream.