feat(lab): measure RAVNOVES00 R1 quality baseline
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from k1link.compute.e38_perception_baseline import (
|
||||
_dimension_metrics,
|
||||
_predict_tree,
|
||||
_train_tree,
|
||||
)
|
||||
|
||||
|
||||
def test_e38_cart_is_deterministic_and_respects_minimum_leaf() -> None:
|
||||
rows = [
|
||||
({"score": 0.1, "support": 0.0}, "background"),
|
||||
({"score": 0.2, "support": 1.0}, "background"),
|
||||
({"score": 0.7, "support": 3.0}, "object"),
|
||||
({"score": 0.8, "support": 4.0}, "object"),
|
||||
({"score": 0.9, "support": 5.0}, "object"),
|
||||
({"score": 1.0, "support": 6.0}, "object"),
|
||||
]
|
||||
first = _train_tree(
|
||||
rows,
|
||||
feature_names=["score", "support"],
|
||||
max_depth=3,
|
||||
min_leaf=2,
|
||||
)
|
||||
second = _train_tree(
|
||||
rows,
|
||||
feature_names=["score", "support"],
|
||||
max_depth=3,
|
||||
min_leaf=2,
|
||||
)
|
||||
assert first == second
|
||||
assert _predict_tree(first, {"score": 0.15, "support": 1.0}) == "background"
|
||||
assert _predict_tree(first, {"score": 0.85, "support": 4.0}) == "object"
|
||||
|
||||
|
||||
def test_e38_dimension_metrics_do_not_blend_strata() -> None:
|
||||
rows = [
|
||||
{
|
||||
"source_stratum": "agree",
|
||||
"prediction": {"presence": "object-present"},
|
||||
"reference": {"presence": "object-present"},
|
||||
},
|
||||
{
|
||||
"source_stratum": "agree",
|
||||
"prediction": {"presence": "object-present"},
|
||||
"reference": {"presence": "background-or-noise"},
|
||||
},
|
||||
{
|
||||
"source_stratum": "geometry-only",
|
||||
"prediction": {"presence": "occupied-environment"},
|
||||
"reference": {"presence": "occupied-environment"},
|
||||
},
|
||||
]
|
||||
metrics = _dimension_metrics(rows, dimension="presence", target=0.9)
|
||||
assert metrics["correct"] == 2
|
||||
assert metrics["incorrect"] == 1
|
||||
assert metrics["accuracy"] == 0.666667
|
||||
assert metrics["passed"] is False
|
||||
assert metrics["by_stratum"]["agree"]["accuracy"] == 0.5
|
||||
assert metrics["by_stratum"]["geometry-only"]["accuracy"] == 1.0
|
||||
Reference in New Issue
Block a user