MixedGenerator#

class capymoa.stream.generator.MixedGenerator[source]#

Bases: MOAStream

Generates MixedGenerator

>>> from capymoa.stream.generator import MixedGenerator
...
>>> stream = MixedGenerator()
>>> stream.next_instance()
LabeledInstance(
    Schema(generators.MixedGenerator ),
    x=[1.    0.    0.208 0.333],
    y_index=0,
    y_label='positive'
)
>>> stream.next_instance().x
array([1.        , 0.        , 0.9637048 , 0.93986539])

Proposed by “Gama, Joao, et al. “Learning with drift detection.” Advances in artificial intelligence–SBIA 2004. Springer Berlin Heidelberg, 2004. 286-295.”

__init__(
instance_random_seed: int = 1,
function: int = 1,
balance_classes: bool = False,
)[source]#

Construct a MixedGenerator datastream generator.

Parameters:
  • instance_random_seed – Seed for random generation of instances, defaults to 1

  • function – Classification function used, as defined in the original paper, defaults to 1

  • balance_classes – Balance the number of instances of each class, defaults to False

__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.

cli_help() str[source]#

Return cli help string for the stream.

get_moa_stream() InstanceStream | None[source]#

Get the MOA stream object if it exists.

get_schema() Schema[source]#

Return the schema of the stream.

has_more_instances() bool[source]#

Return True if the stream have more instances to read.

next_instance() _AnyInstance[source]#

Return the next instance in the stream.

Raises:

ValueError – If the machine learning task is neither a regression nor a classification task.

Returns:

A labeled instances or a regression depending on the schema.

restart()[source]#

Restart the stream to read instances from the beginning.