Module es.upm.fi.cig.multictbnc
Class ConceptDriftGloballyAdaptiveMethod
java.lang.Object
es.upm.fi.cig.multictbnc.conceptdriftdetection.ConceptDriftAdaptiveMethod
es.upm.fi.cig.multictbnc.conceptdriftdetection.ConceptDriftGloballyAdaptiveMethod
This class implements a concept drift adaptive method that operates globally on a MultiCTBNC model. The method
utilizes a Page-Hinkley test to detect significant changes in the log-likelihood score of the model, indicating
possible concept drifts. Upon detection, the model is adapted.
-
Constructor Summary
ConstructorDescriptionConceptDriftGloballyAdaptiveMethod
(List<String> namesVariables, ConceptDriftScore conceptDriftScore, double magnitudeThreshold, double detectionThreshold, boolean resetAfterConceptDrift, int windowSize, boolean showCharts, String title) Initializes the globally 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.protected void
setUpLineChart
(String title, double detectionThreshold) Sets up line charts for visualizing concept drift detection results if the charts are enabled.Methods inherited from class es.upm.fi.cig.multictbnc.conceptdriftdetection.ConceptDriftAdaptiveMethod
getUpdatingTime
-
Constructor Details
-
ConceptDriftGloballyAdaptiveMethod
public ConceptDriftGloballyAdaptiveMethod(List<String> namesVariables, ConceptDriftScore conceptDriftScore, double magnitudeThreshold, double detectionThreshold, boolean resetAfterConceptDrift, int windowSize, boolean showCharts, String title) Initializes the globally 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 concept drift detection results 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.- 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
-
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
-