Skip to content

Commit

Permalink
fix: remove default value of positive_class parameter of classifier…
Browse files Browse the repository at this point in the history
… metrics (#382)

### Summary of Changes

Remove default value of `positive_class` parameter of classifier metrics
since there is no generally applicable choice.
  • Loading branch information
lars-reimann committed Jun 23, 2023
1 parent 3520ce2 commit 58fc09e
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 6 deletions.
6 changes: 3 additions & 3 deletions src/safeds/ml/classical/classification/_classifier.py
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ def accuracy(self, validation_or_test_set: TaggedTable) -> float:

return sk_accuracy_score(expected_values._data, predicted_values._data)

def precision(self, validation_or_test_set: TaggedTable, positive_class: Any = 1) -> float:
def precision(self, validation_or_test_set: TaggedTable, positive_class: Any) -> float:
"""
Compute the classifier's precision on the given data.
Expand Down Expand Up @@ -154,7 +154,7 @@ def precision(self, validation_or_test_set: TaggedTable, positive_class: Any = 1
return 1.0
return n_true_positives / (n_true_positives + n_false_positives)

def recall(self, validation_or_test_set: TaggedTable, positive_class: Any = 1) -> float:
def recall(self, validation_or_test_set: TaggedTable, positive_class: Any) -> float:
"""
Compute the classifier's recall on the given data.
Expand Down Expand Up @@ -191,7 +191,7 @@ def recall(self, validation_or_test_set: TaggedTable, positive_class: Any = 1) -
return 1.0
return n_true_positives / (n_true_positives + n_false_negatives)

def f1_score(self, validation_or_test_set: TaggedTable, positive_class: Any = 1) -> float:
def f1_score(self, validation_or_test_set: TaggedTable, positive_class: Any) -> float:
"""
Compute the classifier's $F_1$-score on the given data.
Expand Down
6 changes: 3 additions & 3 deletions tests/safeds/ml/classical/classification/test_classifier.py
Original file line number Diff line number Diff line change
Expand Up @@ -375,7 +375,7 @@ def test_should_return_1_if_never_expected_to_be_positive(self) -> None:
)
def test_should_raise_if_table_is_not_tagged(self, table: Table) -> None:
with pytest.raises(UntaggedTableError):
DummyClassifier().precision(table) # type: ignore[arg-type]
DummyClassifier().precision(table, 1) # type: ignore[arg-type]


class TestRecall:
Expand Down Expand Up @@ -424,7 +424,7 @@ def test_should_return_1_if_never_expected_to_be_positive(self) -> None:
)
def test_should_raise_if_table_is_not_tagged(self, table: Table) -> None:
with pytest.raises(UntaggedTableError):
DummyClassifier().recall(table) # type: ignore[arg-type]
DummyClassifier().recall(table, 1) # type: ignore[arg-type]


class TestF1Score:
Expand Down Expand Up @@ -473,4 +473,4 @@ def test_should_return_1_if_never_expected_or_predicted_to_be_positive(self) ->
)
def test_should_raise_if_table_is_not_tagged(self, table: Table) -> None:
with pytest.raises(UntaggedTableError):
DummyClassifier().f1_score(table) # type: ignore[arg-type]
DummyClassifier().f1_score(table, 1) # type: ignore[arg-type]

0 comments on commit 58fc09e

Please sign in to comment.