ConcatStream#

class capymoa.stream.ConcatStream[source]#

Bases: Stream[_AnyInstance]

Concatenate multiple streams into a single stream.

When the end of a stream is reached, the next stream in the list is used.

>>> from capymoa.stream import ConcatStream, NumpyStream
>>> import numpy as np
>>> X1 = np.array([[1, 2, 3]])
>>> X2 = np.array([[4, 5, 6]])
>>> y1 = np.array([0])
>>> y2 = np.array([0])
>>> stream1 = NumpyStream(X1, y1)
>>> stream2 = NumpyStream(X2, y2)
>>> concat_stream = ConcatStream([stream1, stream2])
>>> for instance in concat_stream:
...     print(instance)
LabeledInstance(
    Schema(No_Name),
    x=[1. 2. 3.],
    y_index=0,
    y_label='0'
)
LabeledInstance(
    Schema(No_Name),
    x=[4. 5. 6.],
    y_index=0,
    y_label='0'
)
CLI_help() str[source]#

Return a help message

__init__(streams: Sequence[Stream])[source]#

Construct a ConcatStream object from a list of streams.

Parameters:

streams – A list of streams to chain together.

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

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.

get_schema() Schema[source]#

Return the schema of the stream.

get_moa_stream() InstanceStream | None[source]#

Get the MOA stream object if it exists.

restart()[source]#

Restart the stream to read instances from the beginning.