Skip to content

Commit

Permalink
fix: set optional field of current multiclass model quality (#77)
Browse files Browse the repository at this point in the history
* fix: set optional field for current model quality of multiclass metrics

* fix: (sdk) set optional field for current model quality of multiclass metrics
  • Loading branch information
dtria91 committed Jul 2, 2024
1 parent 14d2cb9 commit 17bed6b
Show file tree
Hide file tree
Showing 5 changed files with 16 additions and 47 deletions.
14 changes: 7 additions & 7 deletions api/app/models/metrics/model_quality_dto.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,16 +43,16 @@ class Distribution(BaseModel):


class GroupedMetricsBase(BaseModel):
f1: List[Distribution]
accuracy: List[Distribution]
f1: Optional[List[Distribution]] = None
accuracy: Optional[List[Distribution]] = None
precision: List[Distribution]
recall: List[Distribution]
f_measure: List[Distribution]
weighted_precision: List[Distribution]
weighted_recall: List[Distribution]
weighted_f_measure: List[Distribution]
weighted_true_positive_rate: List[Distribution]
weighted_false_positive_rate: List[Distribution]
weighted_precision: Optional[List[Distribution]] = None
weighted_recall: Optional[List[Distribution]] = None
weighted_f_measure: Optional[List[Distribution]] = None
weighted_true_positive_rate: Optional[List[Distribution]] = None
weighted_false_positive_rate: Optional[List[Distribution]] = None
true_positive_rate: List[Distribution]
false_positive_rate: List[Distribution]
area_under_roc: Optional[List[Distribution]] = None
Expand Down
1 change: 0 additions & 1 deletion sdk/radicalbit_platform_sdk/models/dataset_drift.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,4 +29,3 @@ class Drift(BaseModel):
feature_metrics: List[FeatureDrift]

model_config = ConfigDict(populate_by_name=True, alias_generator=to_camel)

14 changes: 7 additions & 7 deletions sdk/radicalbit_platform_sdk/models/dataset_model_quality.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,16 +42,16 @@ class Distribution(BaseModel):


class GroupedMetricsBase(BaseModel):
f1: List[Distribution]
accuracy: List[Distribution]
f1: Optional[List[Distribution]] = None
accuracy: Optional[List[Distribution]] = None
precision: List[Distribution]
recall: List[Distribution]
f_measure: List[Distribution]
weighted_precision: List[Distribution]
weighted_recall: List[Distribution]
weighted_f_measure: List[Distribution]
weighted_true_positive_rate: List[Distribution]
weighted_false_positive_rate: List[Distribution]
weighted_precision: Optional[List[Distribution]] = None
weighted_recall: Optional[List[Distribution]] = None
weighted_f_measure: Optional[List[Distribution]] = None
weighted_true_positive_rate: Optional[List[Distribution]] = None
weighted_false_positive_rate: Optional[List[Distribution]] = None
true_positive_rate: List[Distribution]
false_positive_rate: List[Distribution]
area_under_roc: Optional[List[Distribution]] = None
Expand Down
32 changes: 2 additions & 30 deletions sdk/tests/apis/model_current_dataset_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -702,46 +702,18 @@ def test_multi_class_model_quality_ok(self):
"accuracy": {accuracy}
}},
"groupedMetrics": {{
"f1": [
{{"timestamp": "2024-01-01T00:00:00Z", "value": 0.8}},
{{"timestamp": "2024-02-01T00:00:00Z", "value": 0.85}}
],
"accuracy": [
{{"timestamp": "2024-01-01T00:00:00Z", "value": {accuracy}}},
{{"timestamp": "2024-02-01T00:00:00Z", "value": 0.9}}
],
"precision": [
{{"timestamp": "2024-01-01T00:00:00Z", "value": 0.86}},
{{"timestamp": "2024-02-01T00:00:00Z", "value": 0.88}}
],
"recall": [
{{"timestamp": "2024-01-01T00:00:00Z", "value": 0.81}},
{{"timestamp": "2024-01-01T00:00:00Z", "value": {recall}}},
{{"timestamp": "2024-02-01T00:00:00Z", "value": 0.83}}
],
"fMeasure": [
{{"timestamp": "2024-01-01T00:00:00Z", "value": 0.8}},
{{"timestamp": "2024-02-01T00:00:00Z", "value": 0.85}}
],
"weightedPrecision": [
{{"timestamp": "2024-01-01T00:00:00Z", "value": 0.85}},
{{"timestamp": "2024-02-01T00:00:00Z", "value": 0.87}}
],
"weightedRecall": [
{{"timestamp": "2024-01-01T00:00:00Z", "value": 0.82}},
{{"timestamp": "2024-02-01T00:00:00Z", "value": 0.84}}
],
"weightedFMeasure": [
{{"timestamp": "2024-01-01T00:00:00Z", "value": 0.84}},
{{"timestamp": "2024-02-01T00:00:00Z", "value": 0.86}}
],
"weightedTruePositiveRate": [
{{"timestamp": "2024-01-01T00:00:00Z", "value": 0.88}},
{{"timestamp": "2024-02-01T00:00:00Z", "value": 0.9}}
],
"weightedFalsePositiveRate": [
{{"timestamp": "2024-01-01T00:00:00Z", "value": 0.12}},
{{"timestamp": "2024-02-01T00:00:00Z", "value": 0.1}}
],
"truePositiveRate": [
{{"timestamp": "2024-01-01T00:00:00Z", "value": 0.81}},
{{"timestamp": "2024-02-01T00:00:00Z", "value": 0.83}}
Expand Down Expand Up @@ -813,7 +785,7 @@ def test_multi_class_model_quality_ok(self):
assert metrics.global_metrics.f_measure == f_measure
assert metrics.class_metrics[0].class_name == 'classA'
assert metrics.class_metrics[0].metrics.accuracy == accuracy
assert metrics.class_metrics[0].grouped_metrics.accuracy[0].value == accuracy
assert metrics.class_metrics[0].grouped_metrics.recall[0].value == recall
assert metrics.class_metrics[1].class_name == 'classB'
assert metrics.class_metrics[1].metrics.f_measure == f_measure
assert metrics.class_metrics[2].class_name == 'classC'
Expand Down
2 changes: 0 additions & 2 deletions spark/jobs/utils/current_multiclass.py
Original file line number Diff line number Diff line change
Expand Up @@ -121,8 +121,6 @@ def calculate_multiclass_model_quality_group_by_timestamp(self):
]
)

dataset_with_group.show()

list_of_time_group = (
dataset_with_group.select("time_group")
.distinct()
Expand Down

0 comments on commit 17bed6b

Please sign in to comment.