Skip to content

Commit 518cea8

Browse files
authored
Fix ValueDrift errors (#1532)
1 parent 86e710f commit 518cea8

File tree

3 files changed

+22
-10
lines changed

3 files changed

+22
-10
lines changed

src/evidently/future/_registry.py

+1
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,7 @@
116116
register_type_alias(Metric, "evidently.future.metrics.classification.DummyClassificationQuality", "evidently:metric_v2:DummyClassificationQuality")
117117

118118
register_type_alias(BoundTest, "evidently.future.metric_types.ByLabelCountBoundTest", "evidently:bound_test:ByLabelCountBoundTest")
119+
register_type_alias(BoundTest, "evidently.future.metrics.column_statistics.ValueDriftBoundTest", "evidently:bound_test:ValueDriftBoundTest")
119120
register_type_alias(Metric, "evidently.future.metric_types.ByLabelCountMetric", "evidently:metric_v2:ByLabelCountMetric")
120121

121122
register_type_alias(Metric, "evidently.future.metric_types.ColumnMetric", "evidently:metric_v2:ColumnMetric")

src/evidently/future/metrics/column_statistics.py

+11
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
from evidently.future.metric_types import CountCalculation
2121
from evidently.future.metric_types import CountMetric
2222
from evidently.future.metric_types import CountValue
23+
from evidently.future.metric_types import MetricCalculationBase
2324
from evidently.future.metric_types import MetricTest
2425
from evidently.future.metric_types import MetricTestProto
2526
from evidently.future.metric_types import MetricTestResult
@@ -28,6 +29,7 @@
2829
from evidently.future.metric_types import SingleValueMetric
2930
from evidently.future.metric_types import TestConfig
3031
from evidently.future.metric_types import TMetric
32+
from evidently.future.metric_types import TResult
3133
from evidently.future.metrics._legacy import LegacyMetricCalculation
3234
from evidently.future.report import Context
3335
from evidently.future.tests import Reference
@@ -400,6 +402,11 @@ class ValueDrift(ColumnMetric, SingleValueMetric):
400402
threshold: Optional[float] = None
401403

402404

405+
class ValueDriftBoundTest(BoundTest[SingleValue]):
406+
def run_test(self, context: "Context", calculation: MetricCalculationBase[TResult], metric_result: TResult):
407+
raise NotImplementedError()
408+
409+
403410
class ValueDriftTest(MetricTest):
404411
def to_test(self) -> MetricTestProto:
405412
raise NotImplementedError()
@@ -451,6 +458,10 @@ def calculate(self, context: "Context", current_data: Dataset, reference_data: O
451458
status=TestStatus.FAIL if drift.drift_detected else TestStatus.SUCCESS,
452459
metric_config=self.to_metric_config(),
453460
test_config={},
461+
bound_test=ValueDriftBoundTest(
462+
test=ValueDriftTest(),
463+
metric_fingerprint=self.to_metric().metric_id,
464+
),
454465
)
455466
]
456467
)

src/evidently/future/presets/drift.py

+10-10
Original file line numberDiff line numberDiff line change
@@ -74,16 +74,16 @@ def generate_metrics(self, context: Context) -> Sequence[MetricOrContainer]:
7474
DriftedColumnsCount(
7575
columns=self.columns,
7676
drift_share=self.drift_share,
77-
stattest=self.method,
78-
cat_stattest=self.cat_method,
79-
num_stattest=self.num_method,
80-
text_stattest=self.text_method,
81-
per_column_stattest=self.per_column_method,
82-
stattest_threshold=self.threshold,
83-
cat_stattest_threshold=self.cat_threshold,
84-
num_stattest_threshold=self.num_threshold,
85-
text_stattest_threshold=self.text_threshold,
86-
per_column_stattest_threshold=self.per_column_threshold,
77+
method=self.method,
78+
cat_method=self.cat_method,
79+
num_method=self.num_method,
80+
text_method=self.text_method,
81+
per_column_method=self.per_column_method,
82+
threshold=self.threshold,
83+
cat_threshold=self.cat_threshold,
84+
num_threshold=self.num_threshold,
85+
text_threshold=self.text_threshold,
86+
per_column_threshold=self.per_column_threshold,
8787
),
8888
] + [
8989
ValueDrift(

0 commit comments

Comments
 (0)