diff --git a/doc/rtd/content/99_appendices/appendix2/sub/mlpro_oa/streams/40_drift_detection/10_instance_based.rst b/doc/rtd/content/99_appendices/appendix2/sub/mlpro_oa/streams/40_drift_detection/10_instance_based.rst
index 7b3936d64..761110b3c 100644
--- a/doc/rtd/content/99_appendices/appendix2/sub/mlpro_oa/streams/40_drift_detection/10_instance_based.rst
+++ b/doc/rtd/content/99_appendices/appendix2/sub/mlpro_oa/streams/40_drift_detection/10_instance_based.rst
@@ -3,7 +3,7 @@ Instance-based drifts and detectors
===================================
-.. image:: 10_instance_based/images/MLPro-OA-Drift-Detectors-IB_class_diagram.drawio.png
+.. image:: 10_instance_based/images/MLPro-OA-IB-Drift-Detectors_class_diagram.drawio.png
:scale: 50%
@@ -19,7 +19,7 @@ Instance-based drifts and detectors
:undoc-members:
:private-members:
:show-inheritance:
-
+
.. toctree::
:maxdepth: 2
diff --git a/doc/rtd/content/99_appendices/appendix2/sub/mlpro_oa/streams/40_drift_detection/10_instance_based/10_common_drifts.rst b/doc/rtd/content/99_appendices/appendix2/sub/mlpro_oa/streams/40_drift_detection/10_instance_based/10_common_drifts.rst
index 52acb232f..6017d6fd0 100644
--- a/doc/rtd/content/99_appendices/appendix2/sub/mlpro_oa/streams/40_drift_detection/10_instance_based/10_common_drifts.rst
+++ b/doc/rtd/content/99_appendices/appendix2/sub/mlpro_oa/streams/40_drift_detection/10_instance_based/10_common_drifts.rst
@@ -1,9 +1,10 @@
-.. _target_api_oa_stream_tasks_ad_common_drifts:
+.. _target_api_oa_stream_tasks_ib_dd_common_drifts:
Common drifts
=============
-
-.. automodule:: mlpro.oa.streams.tasks.driftdetectors.drifts.instancebased.basics
+
+.. automodule:: mlpro.oa.streams.tasks.driftdetectors.drifts.instancebased.movement
:members:
:undoc-members:
:private-members:
:show-inheritance:
+
diff --git a/doc/rtd/content/99_appendices/appendix2/sub/mlpro_oa/streams/40_drift_detection/10_instance_based/20_common_algorithms.rst b/doc/rtd/content/99_appendices/appendix2/sub/mlpro_oa/streams/40_drift_detection/10_instance_based/20_common_algorithms.rst
deleted file mode 100644
index 436df8fd4..000000000
--- a/doc/rtd/content/99_appendices/appendix2/sub/mlpro_oa/streams/40_drift_detection/10_instance_based/20_common_algorithms.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-.. _target_api_oa_stream_tasks_ad_common_algorithms:
-Common algorithms
-=================
-
diff --git a/doc/rtd/content/99_appendices/appendix2/sub/mlpro_oa/streams/40_drift_detection/10_instance_based/40_drift_detectors.rst b/doc/rtd/content/99_appendices/appendix2/sub/mlpro_oa/streams/40_drift_detection/10_instance_based/40_drift_detectors.rst
deleted file mode 100644
index 227bbaec4..000000000
--- a/doc/rtd/content/99_appendices/appendix2/sub/mlpro_oa/streams/40_drift_detection/10_instance_based/40_drift_detectors.rst
+++ /dev/null
@@ -1,36 +0,0 @@
-.. _target_api_oa_stream_tasks_dd:
-Drift detectors
-===============
-
-.. image:: drift_detectors/images/MLPro-OA-Drift-Detectors_class_diagram.drawio.png
- :scale: 50%
-
-
-Template for drift detectors
-----------------------------
-
-.. automodule:: mlpro.oa.streams.tasks.driftdetectors.basics
- :members:
- :undoc-members:
- :private-members:
- :show-inheritance:
-
-
-Template for drift events
--------------------------
-
-.. automodule:: mlpro.oa.streams.tasks.driftdetectors.drift.basics
- :members:
- :undoc-members:
- :private-members:
- :show-inheritance:
-
-
-Concrete drift events and algorithms
-------------------------------------
-
-.. toctree::
- :maxdepth: 2
- :glob:
-
- drift_detectors/*
diff --git a/doc/rtd/content/99_appendices/appendix2/sub/mlpro_oa/streams/40_drift_detection/10_instance_based/images/MLPro-OA-CB-Drift-Detectors_class_diagram.drawio b/doc/rtd/content/99_appendices/appendix2/sub/mlpro_oa/streams/40_drift_detection/10_instance_based/images/MLPro-OA-CB-Drift-Detectors_class_diagram.drawio
deleted file mode 100644
index 9249c1e80..000000000
--- a/doc/rtd/content/99_appendices/appendix2/sub/mlpro_oa/streams/40_drift_detection/10_instance_based/images/MLPro-OA-CB-Drift-Detectors_class_diagram.drawio
+++ /dev/null
@@ -1,229 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/doc/rtd/content/99_appendices/appendix2/sub/mlpro_oa/streams/40_drift_detection/10_instance_based/images/MLPro-OA-IB-Drift-Detectors_class_diagram.drawio b/doc/rtd/content/99_appendices/appendix2/sub/mlpro_oa/streams/40_drift_detection/10_instance_based/images/MLPro-OA-IB-Drift-Detectors_class_diagram.drawio
new file mode 100644
index 000000000..8f9ded7f3
--- /dev/null
+++ b/doc/rtd/content/99_appendices/appendix2/sub/mlpro_oa/streams/40_drift_detection/10_instance_based/images/MLPro-OA-IB-Drift-Detectors_class_diagram.drawio
@@ -0,0 +1,96 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/doc/rtd/content/99_appendices/appendix2/sub/mlpro_oa/streams/40_drift_detection/10_instance_based/images/MLPro-OA-IB-Drift-Detectors_class_diagram.drawio.png b/doc/rtd/content/99_appendices/appendix2/sub/mlpro_oa/streams/40_drift_detection/10_instance_based/images/MLPro-OA-IB-Drift-Detectors_class_diagram.drawio.png
new file mode 100644
index 000000000..204c95241
Binary files /dev/null and b/doc/rtd/content/99_appendices/appendix2/sub/mlpro_oa/streams/40_drift_detection/10_instance_based/images/MLPro-OA-IB-Drift-Detectors_class_diagram.drawio.png differ
diff --git a/doc/rtd/content/99_appendices/appendix2/sub/mlpro_oa/streams/40_drift_detection/20_cluster_based.rst b/doc/rtd/content/99_appendices/appendix2/sub/mlpro_oa/streams/40_drift_detection/20_cluster_based.rst.off
similarity index 83%
rename from doc/rtd/content/99_appendices/appendix2/sub/mlpro_oa/streams/40_drift_detection/20_cluster_based.rst
rename to doc/rtd/content/99_appendices/appendix2/sub/mlpro_oa/streams/40_drift_detection/20_cluster_based.rst.off
index a09ae88b9..c9269c098 100644
--- a/doc/rtd/content/99_appendices/appendix2/sub/mlpro_oa/streams/40_drift_detection/20_cluster_based.rst
+++ b/doc/rtd/content/99_appendices/appendix2/sub/mlpro_oa/streams/40_drift_detection/20_cluster_based.rst.off
@@ -1,9 +1,9 @@
.. _target_api_oa_stream_tasks_dd_cb:
Cluster-based drifts and detectors
-===================================
+==================================
-.. image:: 20_cluster_based/images/MLPro-OA-Drift-Detectors-CB_class_diagram.drawio.png
+.. image:: 20_cluster_based/images/MLPro-OA-CB-Drift-Detectors_class_diagram.drawio.png
:scale: 50%
diff --git a/doc/rtd/content/99_appendices/appendix2/sub/mlpro_oa/streams/40_drift_detection/20_cluster_based/30_cluster_based.rst b/doc/rtd/content/99_appendices/appendix2/sub/mlpro_oa/streams/40_drift_detection/20_cluster_based/30_cluster_based.rst
deleted file mode 100644
index 30d1b7a43..000000000
--- a/doc/rtd/content/99_appendices/appendix2/sub/mlpro_oa/streams/40_drift_detection/20_cluster_based/30_cluster_based.rst
+++ /dev/null
@@ -1,14 +0,0 @@
-.. _target_api_oa_stream_tasks_ad_cb:
-Cluster-based drifts and detectors
-=====================================
-
-
-.. image:: cluster_based/images/MLPro-OA-CB-Drift-Detectors_class_diagram.drawio.png
- :scale: 50%
-
-
-.. toctree::
- :maxdepth: 2
- :glob:
-
- cluster_based/*
\ No newline at end of file
diff --git a/doc/rtd/content/99_appendices/appendix2/sub/mlpro_oa/streams/40_drift_detection/20_cluster_based/images/.$MLPro-OA-CB-Drift-Detectors_class_diagram.drawio.bkp b/doc/rtd/content/99_appendices/appendix2/sub/mlpro_oa/streams/40_drift_detection/20_cluster_based/images/.$MLPro-OA-CB-Drift-Detectors_class_diagram.drawio.bkp
index 3e94fcfa5..dced91ced 100644
--- a/doc/rtd/content/99_appendices/appendix2/sub/mlpro_oa/streams/40_drift_detection/20_cluster_based/images/.$MLPro-OA-CB-Drift-Detectors_class_diagram.drawio.bkp
+++ b/doc/rtd/content/99_appendices/appendix2/sub/mlpro_oa/streams/40_drift_detection/20_cluster_based/images/.$MLPro-OA-CB-Drift-Detectors_class_diagram.drawio.bkp
@@ -1,11 +1,11 @@
-
+
-
+
-
+
@@ -54,94 +54,96 @@
-
-
+
+
-
+
-
+
-
-
-
-
-
-
-
-
+
+
-
+
-
-
+
+
-
-
+
+
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
+
+
+
-
-
+
+
-
-
-
-
-
+
+
+
+
+
+
+
-
-
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
+
-
-
+
+
+
+
-
-
+
+
-
-
-
-
-
-
-
-
diff --git a/doc/rtd/content/99_appendices/appendix2/sub/mlpro_oa/streams/40_drift_detection/20_cluster_based/images/MLPro-OA-CB-Drift-Detectors_class_diagram.drawio b/doc/rtd/content/99_appendices/appendix2/sub/mlpro_oa/streams/40_drift_detection/20_cluster_based/images/MLPro-OA-CB-Drift-Detectors_class_diagram.drawio
index 9249c1e80..dced91ced 100644
--- a/doc/rtd/content/99_appendices/appendix2/sub/mlpro_oa/streams/40_drift_detection/20_cluster_based/images/MLPro-OA-CB-Drift-Detectors_class_diagram.drawio
+++ b/doc/rtd/content/99_appendices/appendix2/sub/mlpro_oa/streams/40_drift_detection/20_cluster_based/images/MLPro-OA-CB-Drift-Detectors_class_diagram.drawio
@@ -1,6 +1,6 @@
-
+
-
+
@@ -74,155 +74,75 @@
-
-
+
+
-
+
-
+
-
+
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
+
-
-
+
+
-
-
+
+
-
+
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
+
-
-
+
+
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
diff --git a/doc/rtd/content/99_appendices/appendix2/sub/mlpro_oa/streams/40_drift_detection/20_cluster_based/images/MLPro-OA-CB-Drift-Detectors_class_diagram.drawio.png b/doc/rtd/content/99_appendices/appendix2/sub/mlpro_oa/streams/40_drift_detection/20_cluster_based/images/MLPro-OA-CB-Drift-Detectors_class_diagram.drawio.png
new file mode 100644
index 000000000..b9dc687e3
Binary files /dev/null and b/doc/rtd/content/99_appendices/appendix2/sub/mlpro_oa/streams/40_drift_detection/20_cluster_based/images/MLPro-OA-CB-Drift-Detectors_class_diagram.drawio.png differ
diff --git a/doc/rtd/content/99_appendices/appendix2/sub/mlpro_oa/streams/40_drift_detection/images/.$MLPro-OA-Drift-Detectors_class_diagram.drawio.bkp b/doc/rtd/content/99_appendices/appendix2/sub/mlpro_oa/streams/40_drift_detection/images/.$MLPro-OA-Drift-Detectors_class_diagram.drawio.bkp
new file mode 100644
index 000000000..2f0a97ac1
--- /dev/null
+++ b/doc/rtd/content/99_appendices/appendix2/sub/mlpro_oa/streams/40_drift_detection/images/.$MLPro-OA-Drift-Detectors_class_diagram.drawio.bkp
@@ -0,0 +1,139 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/doc/rtd/content/99_appendices/appendix2/sub/mlpro_oa/streams/40_drift_detection/images/MLPro-OA-Drift-Detectors_class_diagram.drawio b/doc/rtd/content/99_appendices/appendix2/sub/mlpro_oa/streams/40_drift_detection/images/MLPro-OA-Drift-Detectors_class_diagram.drawio
index 08c9efd0d..2f0a97ac1 100644
--- a/doc/rtd/content/99_appendices/appendix2/sub/mlpro_oa/streams/40_drift_detection/images/MLPro-OA-Drift-Detectors_class_diagram.drawio
+++ b/doc/rtd/content/99_appendices/appendix2/sub/mlpro_oa/streams/40_drift_detection/images/MLPro-OA-Drift-Detectors_class_diagram.drawio
@@ -1,6 +1,6 @@
-
+
@@ -104,37 +104,34 @@
-
+
-
+
-
-
-
-
+
-
+
-
+
-
+
-
+
-
+
-
+
diff --git a/doc/rtd/content/99_appendices/appendix2/sub/mlpro_oa/streams/40_drift_detection/images/MLPro-OA-Drift-Detectors_class_diagram.drawio.png b/doc/rtd/content/99_appendices/appendix2/sub/mlpro_oa/streams/40_drift_detection/images/MLPro-OA-Drift-Detectors_class_diagram.drawio.png
index eff45b727..fc0a38318 100644
Binary files a/doc/rtd/content/99_appendices/appendix2/sub/mlpro_oa/streams/40_drift_detection/images/MLPro-OA-Drift-Detectors_class_diagram.drawio.png and b/doc/rtd/content/99_appendices/appendix2/sub/mlpro_oa/streams/40_drift_detection/images/MLPro-OA-Drift-Detectors_class_diagram.drawio.png differ
diff --git a/src/mlpro/oa/streams/tasks/driftdetectors/clusterbased/basics.py b/src/mlpro/oa/streams/tasks/driftdetectors/clusterbased/basics.py
index 6f0dc275b..0e5e06366 100644
--- a/src/mlpro/oa/streams/tasks/driftdetectors/clusterbased/basics.py
+++ b/src/mlpro/oa/streams/tasks/driftdetectors/clusterbased/basics.py
@@ -11,7 +11,7 @@
"""
Ver. 0.1.0 (2025-02-12)
-This module provides template for cluster-based drift detection algorithms to be used in the context of online adaptivity.
+This module provides a template for cluster-based drift detection algorithms to be used in the context of online adaptivity.
"""
from mlpro.bf.various import Log
diff --git a/src/mlpro/oa/streams/tasks/driftdetectors/drifts/basics.py b/src/mlpro/oa/streams/tasks/driftdetectors/drifts/basics.py
index 7b068a888..a07f3536f 100644
--- a/src/mlpro/oa/streams/tasks/driftdetectors/drifts/basics.py
+++ b/src/mlpro/oa/streams/tasks/driftdetectors/drifts/basics.py
@@ -54,7 +54,6 @@ class Drift (Id, Event, Plottable, Renormalizable):
class name and one of the postfixes '(ON)', '(OFF)' depending on the drift status.
"""
- C_TYPE = 'Drift'
C_PLOT_STANDALONE = False
## -------------------------------------------------------------------------------------------------
diff --git a/src/mlpro/oa/streams/tasks/driftdetectors/drifts/clusterbased/basics.py b/src/mlpro/oa/streams/tasks/driftdetectors/drifts/clusterbased/basics.py
index 2b79382a2..e960da98a 100644
--- a/src/mlpro/oa/streams/tasks/driftdetectors/drifts/clusterbased/basics.py
+++ b/src/mlpro/oa/streams/tasks/driftdetectors/drifts/clusterbased/basics.py
@@ -5,11 +5,12 @@
## -------------------------------------------------------------------------------------------------
## -- History :
## -- yyyy-mm-dd Ver. Auth. Description
-## -- 2025-02-12 1.0.0 DA Creation
+## -- 2025-02-12 0.1.0 DA Creation
+## -- 2025-03-04 0.2.0 DA Simplification
## -------------------------------------------------------------------------------------------------
"""
-Ver. 0.1.0 (2025-02-12)
+Ver. 0.2.0 (2025-03-04)
This module provides a template class for cluster-based drifts to be used in cluster-based drift
detection algorithms.
@@ -72,43 +73,17 @@ def __init__(self,
p_raising_object = p_raising_object,
**p_kwargs )
- self._clusters : dict[Cluster] = p_clusters
- self._properties : dict = p_properties
+ self.clusters : dict[Cluster] = p_clusters
+ self.properties : dict = p_properties
-## -------------------------------------------------------------------------------------------------
- def get_clusters(self) -> dict[Cluster]:
- """
- Method that returns the clusters associated with the drift.
-
- Returns
- -------
- dict[Cluster]
- Dictionary of clusters.
- """
- return self._clusters
-
-
-## -------------------------------------------------------------------------------------------------
- def get_properties(self) -> dict:
- """
- Method that returns the properties of clusters associated with the drift.
-
- Returns
- -------
- dict
- Dictionary of properties.
- """
- return self._properties
-
-
## -------------------------------------------------------------------------------------------------
def _init_plot_2d(self, p_figure: Figure, p_settings: PlotSettings):
super()._init_plot_2d(p_figure=p_figure, p_settings=p_settings)
cluster : Cluster = None
- for cluster in self._clusters.values():
+ for cluster in self.clusters.values():
if self.drift_status:
cluster.color = "red"
else:
@@ -121,7 +96,7 @@ def _init_plot_3d(self, p_figure: Figure, p_settings: PlotSettings):
cluster : Cluster = None
- for cluster in self._clusters.values():
+ for cluster in self.clusters.values():
if self.drift_status:
cluster.color = "red"
else:
diff --git a/src/mlpro/oa/streams/tasks/driftdetectors/drifts/instancebased/basics.py b/src/mlpro/oa/streams/tasks/driftdetectors/drifts/instancebased/basics.py
new file mode 100644
index 000000000..d8d0b901d
--- /dev/null
+++ b/src/mlpro/oa/streams/tasks/driftdetectors/drifts/instancebased/basics.py
@@ -0,0 +1,73 @@
+## -------------------------------------------------------------------------------------------------
+## -- Project : MLPro - The integrative middleware framework for standardized machine learning
+## -- Package : mlpro.oa.tasks.driftdetectors.drifts.instancebased
+## -- Module : basics.py
+## -------------------------------------------------------------------------------------------------
+## -- History :
+## -- yyyy-mm-dd Ver. Auth. Description
+## -- 2025-03-04 0.1.0 DA Creation
+## -------------------------------------------------------------------------------------------------
+
+"""
+Ver. 0.1.0 (2025-03-04)
+
+This module provides a template class for instance-based drifts to be used in instance-based drift
+detection algorithms.
+"""
+
+from datetime import datetime
+
+try:
+ from matplotlib.figure import Figure
+except:
+ class Figure : pass
+
+from mlpro.bf.mt import PlotSettings
+
+from mlpro.bf.streams import Instance
+from mlpro.oa.streams.tasks.driftdetectors.drifts.basics import Drift
+
+
+
+## -------------------------------------------------------------------------------------------------
+## -------------------------------------------------------------------------------------------------
+class DriftIB (Drift):
+ """
+ Sub-type for instance-based drift events.
+
+ Parameters
+ ----------
+ p_id : int
+ Drift ID. Default value = 0.
+ p_tstamp : datetime
+ Time stamp of drift detection. Default = None.
+ p_visualize : bool
+ Boolean switch for visualisation. Default = False.
+ p_raising_object : object
+ Reference of the object raised. Default = None.
+ p_clusters : dict[Cluster]
+ Clusters associated with the anomaly. Default = None.
+ p_properties : dict
+ Poperties of clusters associated with the anomaly. Default = None.
+ **p_kwargs
+ Further optional keyword arguments.
+ """
+
+## -------------------------------------------------------------------------------------------------
+ def __init__(self,
+ p_drift_status : bool,
+ p_instances : list[Instance],
+ p_id : int = 0,
+ p_tstamp : datetime = None,
+ p_visualize : bool = False,
+ p_raising_object : object = None,
+ **p_kwargs):
+
+ super().__init__( p_drift_status = p_drift_status,
+ p_id = p_id,
+ p_tstamp = p_tstamp,
+ p_visualize = p_visualize,
+ p_raising_object = p_raising_object,
+ **p_kwargs )
+
+ self.instances : list[Instance] = p_instances
\ No newline at end of file
diff --git a/src/mlpro/oa/streams/tasks/driftdetectors/drifts/instancebased/movement.py b/src/mlpro/oa/streams/tasks/driftdetectors/drifts/instancebased/movement.py
new file mode 100644
index 000000000..cf61fe111
--- /dev/null
+++ b/src/mlpro/oa/streams/tasks/driftdetectors/drifts/instancebased/movement.py
@@ -0,0 +1,29 @@
+## -------------------------------------------------------------------------------------------------
+## -- Project : MLPro - The integrative middleware framework for standardized machine learning
+## -- Package : mlpro.oa.tasks.driftdetectors.drifts.instancebased
+## -- Module : movement.py
+## -------------------------------------------------------------------------------------------------
+## -- History :
+## -- yyyy-mm-dd Ver. Auth. Description
+## -- 2025-03-04 1.0.0 DA/DS Creation
+## -------------------------------------------------------------------------------------------------
+
+"""
+Ver. 1.0.0 (2025-03-04)
+
+This module provides a sub-typ of class DriftIB related to data drift of type movement.
+"""
+
+from mlpro.oa.streams.tasks.driftdetectors.drifts.instancebased.basics import DriftIB
+
+
+
+
+## -------------------------------------------------------------------------------------------------
+## -------------------------------------------------------------------------------------------------
+class DriftIBMovement (DriftIB):
+ """
+ Sub-type indicating the begin or end of a data drift of type movement.
+ """
+
+ pass
diff --git a/src/mlpro/oa/streams/tasks/driftdetectors/instancebased/__init__.py b/src/mlpro/oa/streams/tasks/driftdetectors/instancebased/__init__.py
index e69de29bb..8e650408e 100644
--- a/src/mlpro/oa/streams/tasks/driftdetectors/instancebased/__init__.py
+++ b/src/mlpro/oa/streams/tasks/driftdetectors/instancebased/__init__.py
@@ -0,0 +1 @@
+from mlpro.oa.streams.tasks.driftdetectors.instancebased.basics import DriftDetectorIB
\ No newline at end of file
diff --git a/src/mlpro/oa/streams/tasks/driftdetectors/instancebased/basics.py b/src/mlpro/oa/streams/tasks/driftdetectors/instancebased/basics.py
new file mode 100644
index 000000000..17d063751
--- /dev/null
+++ b/src/mlpro/oa/streams/tasks/driftdetectors/instancebased/basics.py
@@ -0,0 +1,32 @@
+## -- ----------------------------------------------------------------------------------------------
+## -- Project : MLPro - The integrative middleware framework for standardized machine learning
+## -- Package : mlpro.oa.streams.tasks.driftdetectors.instancebased
+## -- Module : basics.py
+## -------------------------------------------------------------------------------------------------
+## -- History :
+## -- yyyy-mm-dd Ver. Auth. Description
+## -- 2025-03-04 0.1.0 DA Creation
+## -------------------------------------------------------------------------------------------------
+
+"""
+Ver. 0.1.0 (2025-03-04)
+
+This module provides a template for instance-based drift detection algorithms to be used in the context of online adaptivity.
+"""
+
+from mlpro.oa.streams.tasks.driftdetectors.basics import DriftDetector
+
+
+
+
+## -------------------------------------------------------------------------------------------------
+## -------------------------------------------------------------------------------------------------
+class DriftDetectorIB (DriftDetector):
+ """
+ This is the base class for online-adaptive instance-based drift detectors. It raises an event
+ when a drift is detected.
+ """
+
+ C_TYPE = 'Instance-based Drift Detector'
+
+
\ No newline at end of file