Random Point Clouds (2D, 3D, ND)

Ver. 1.2.2 (2024-02-09)

This module provides the native stream classes StreamMLProClouds, StreamMLProClouds2D4C1000Static, StreamMLProClouds3D8C2000Static, StreamMLProClouds2D4C5000Dynamic and StreamMLProClouds3D8C10000Dynamic. These stream provides instances with self.C_NUM_DIMENSIONS dimensional random feature data, placed around centers (can be defined by user) which may or maynot move over time.

class mlpro.bf.streams.streams.clouds.StreamMLProClouds(p_num_dim: int = 3, p_num_instances: int = 1000, p_num_clouds: int = 4, p_radii: list = [100.0], p_weights: list = [], p_velocity: float = 0.0, p_seed=None, p_logging=True, **p_kwargs)

Bases: StreamMLProBase

This benchmark stream class generates freely configurable random point clouds of any number, size and dimensionality. Optionally, the centers of the clouds are static or in motion.

Parameters:
  • p_num_dim (int) – The number of dimensions or features of the data. Default = 3.

  • p_num_instances (int) – Total number of instances. The value ‘0’ means indefinite. Default = 1000.

  • p_num_clouds (int) – Number of clouds. Default = 4.

  • p_radii (list) – Radii of the clouds. Default = 100.

  • p_weights (list[]) – Optional list of integer weights per cloud. For example, a list [1,2] causes the second cloud to be flooded with two times more instances than the first one. If empty or None, all clouds are flooded randomly but equally.

  • p_velocity (foat) – Velocity for the centers in unit 1/di. Default = 0.0.

  • p_seed – Seeding value for the random generator. Default = None (no seeding).

  • p_logging – Log level (see constants of class Log). Default: Log.C_LOG_ALL.

C_ID = 'CloudsNDim'
C_NAME = 'Clouds N-Dim'
C_TYPE = 'Benchmark'
C_VERSION = '1.0.0'
C_SCIREF_ABSTRACT = 'Demo stream provides self.C_NUM_INSTANCES C_NUM_DIMENSIONS-dimensional instances per cluster randomly positioned around centers which may or maynot move over time.'
C_BOUNDARIES = [-1000, 1000]
_setup_feature_space() MSpace

Custom method to set up the feature space of the stream. It is called by method get_feature_space().

Returns:

feature_space – Feature space of the stream.

Return type:

MSpace

_init_dataset()

Custom method to generate stream data as a numpy array named self._dataset.

_get_next() Instance

Custom method to determine the next data stream instance. At the end of the stream exception StopIteration is to be raised. See method __next__() for more details.

Returns:

instance – Next instance of data stream or None.

Return type:

Instance

class mlpro.bf.streams.streams.clouds.StreamMLProClouds2D4C1000Static(p_radii: list = [20.0], p_logging=True, **p_kwargs)

Bases: StreamMLProClouds

This benchmark stream generates 1000 2-dimensional instances that form 4 static random point clouds.

See also: class StreamMLProClouds

Parameters:
  • p_radii (list) – Radii of the clouds. Default = 20.

  • p_seed – Seeding value for the random generator. Default = None (no seeding).

  • p_logging – Log level (see constants of class Log). Default: Log.C_LOG_ALL.

C_ID = 'Clouds2D4C1000Static'
C_NAME = 'Static Clouds 2D'
C_VERSION = '1.0.1'
C_NUM_DIMENSIONS = 2
C_NUM_INSTANCES = 1000
C_SCIREF_ABSTRACT = 'Demo stream provides 1000 2D instances randomly positioned around four fixed centers.'
C_BOUNDARIES = [-100, 100]
class mlpro.bf.streams.streams.clouds.StreamMLProClouds3D8C2000Static(p_radii: list = [20.0], p_logging=True, **p_kwargs)

Bases: StreamMLProClouds

This benchmark stream generates 2000 3-dimensional instances that form 8 static random point clouds.

See also: class StreamMLProClouds

Parameters:
  • p_radii (list) – Radii of the clouds. Default = 20.

  • p_seed – Seeding value for the random generator. Default = None (no seeding).

  • p_logging – Log level (see constants of class Log). Default: Log.C_LOG_ALL.

C_ID = 'Clouds3D8C2000Static'
C_NAME = 'Static Clouds 3D'
C_VERSION = '1.0.1'
C_NUM_DIMENSIONS = 3
C_NUM_INSTANCES = 2000
C_SCIREF_ABSTRACT = 'Demo stream provides 2000 3D instances randomly positioned around eight fixed centers.'
C_BOUNDARIES = [-100, 100]
class mlpro.bf.streams.streams.clouds.StreamMLProClouds2D4C5000Dynamic(p_radii: list = [100.0], p_velocity: float = 1, p_logging=True, **p_kwargs)

Bases: StreamMLProClouds

This benchmark stream generates 5000 2-dimensional instances that form 4 dynamic random point clouds.

See also: class StreamMLProClouds

Parameters:
  • p_radii (list) – Radii of the clouds. Default = 100.

  • p_seed – Seeding value for the random generator. Default = None (no seeding).

  • p_logging – Log level (see constants of class Log). Default: Log.C_LOG_ALL.

C_ID = 'Clouds2D4C5000Dynamic'
C_NAME = 'Dynamic Clouds 2D'
C_VERSION = '1.0.1'
C_NUM_DIMENSIONS = 2
C_NUM_INSTANCES = 5000
C_SCIREF_ABSTRACT = 'Demo stream provides 2000 2D instances randomly positioned around four randomly moving centers.'
C_BOUNDARIES = [-1000, 1000]
class mlpro.bf.streams.streams.clouds.StreamMLProClouds3D8C10000Dynamic(p_radii: list = [100.0], p_velocity: float = 1, p_logging=True, **p_kwargs)

Bases: StreamMLProClouds

This benchmark stream generates 10000 3-dimensional instances that form 8 dynamic random point clouds.

See also: class StreamMLProClouds

Parameters:
  • p_radii (list) – Radii of the clouds. Default = 100.

  • p_seed – Seeding value for the random generator. Default = None (no seeding).

  • p_logging – Log level (see constants of class Log). Default: Log.C_LOG_ALL.

C_ID = 'Clouds3D8C10000Dynamic'
C_NAME = 'Dynamic Clouds 3D'
C_VERSION = '1.0.1'
C_NUM_DIMENSIONS = 3
C_NUM_INSTANCES = 10000
C_SCIREF_ABSTRACT = 'Demo stream provides 10000 3D instances randomly positioned around eight randomly moving centers.'
C_BOUNDARIES = [-1000, 1000]