Module es.upm.fi.cig.multictbnc
Class ConceptDriftLocallyAdaptiveMethod
java.lang.Object
es.upm.fi.cig.multictbnc.conceptdriftdetection.ConceptDriftAdaptiveMethod
es.upm.fi.cig.multictbnc.conceptdriftdetection.ConceptDriftLocallyAdaptiveMethod
This class implements a concept drift adaptive method that operates locally on each node of a MultiCTBNC model.
The method utilizes a Page-Hinkley test to detect significant changes in the local log-likelihood scores of
individual nodes, indicating possible concept drifts. Upon detection, the model is adapted accordingly.
-
Constructor Summary
ConstructorDescriptionConceptDriftLocallyAdaptiveMethod
(List<String> namesVariables, ConceptDriftScore conceptDriftScore, double magnitudeThreshold, double detectionThreshold, boolean resetAfterConceptDrift, int windowSize, boolean showCharts, String title) Initializes the locally adaptive concept drift method with specified parameters. -
Method Summary
Modifier and TypeMethodDescriptionboolean
adaptModel
(MultiCTBNC<CPTNode, CIMNode> model, Dataset newBatch) Adapts the provided MultiCTBNC model based on the new data batch.Retrieves the list of nodes that were last identified as having undergone concept drift.Returns aString
describing the results of the last concept drift detection.long
Returns the time taken for the last update of the model.protected void
setUpLineChart
(String title, double detectionThreshold) Sets up line charts for visualizing the evolution of the average local log-likelihood and Page Hinkley values if the charts are enabled.
-
Constructor Details
-
ConceptDriftLocallyAdaptiveMethod
public ConceptDriftLocallyAdaptiveMethod(List<String> namesVariables, ConceptDriftScore conceptDriftScore, double magnitudeThreshold, double detectionThreshold, boolean resetAfterConceptDrift, int windowSize, boolean showCharts, String title) Initializes the locally adaptive concept drift method with specified parameters.- Parameters:
namesVariables
- list of variable names used in the modelconceptDriftScore
- scoring mechanism to detect concept driftmagnitudeThreshold
- threshold for magnitude change in the Page-Hinkley testdetectionThreshold
- threshold for drift detection in the Page-Hinkley testresetAfterConceptDrift
- flag to reset the Page-Hinkley test after detecting a driftwindowSize
- size of the window for the Page-Hinkley testshowCharts
- flag indicating whether to display drift detection chartstitle
- title for the drift detection charts
-
-
Method Details
-
setUpLineChart
Sets up line charts for visualizing the evolution of the average local log-likelihood and Page Hinkley values if the charts are enabled.- Specified by:
setUpLineChart
in classConceptDriftAdaptiveMethod
- Parameters:
title
- title for the line chartsdetectionThreshold
- threshold value for detecting concept drifts
-
adaptModel
public boolean adaptModel(MultiCTBNC<CPTNode, CIMNode> model, Dataset newBatch) throws ErroneousValueExceptionAdapts the provided MultiCTBNC model based on the new data batch. It detects concept drifts and updates the model accordingly.- Specified by:
adaptModel
in classConceptDriftAdaptiveMethod
- Parameters:
model
- MultiCTBNC model to be adapted.newBatch
- new data batch for concept drift detection and model adaptation- Returns:
true
if a concept drift is detected and the model is adapted,false
otherwise- Throws:
ErroneousValueException
- if an error occurs during the adaptation process
-
getResults
Description copied from class:ConceptDriftAdaptiveMethod
Returns aString
describing the results of the last concept drift detection.- Specified by:
getResults
in classConceptDriftAdaptiveMethod
- Returns:
- String describing the concept drift detection results
-
getUpdatingTime
public long getUpdatingTime()Description copied from class:ConceptDriftAdaptiveMethod
Returns the time taken for the last update of the model.- Overrides:
getUpdatingTime
in classConceptDriftAdaptiveMethod
- Returns:
- time taken for updating the model
-
getLastChangedNodes
Description copied from class:ConceptDriftAdaptiveMethod
Retrieves the list of nodes that were last identified as having undergone concept drift.- Specified by:
getLastChangedNodes
in classConceptDriftAdaptiveMethod
- Returns:
- list of nodes that experienced concept drift in the most recent adaptation
-