chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
from cleanlab.experimental.span_classification import (
|
||||
find_label_issues,
|
||||
display_issues,
|
||||
get_label_quality_scores,
|
||||
)
|
||||
import numpy as np
|
||||
import pytest
|
||||
import warnings
|
||||
|
||||
warnings.filterwarnings("ignore")
|
||||
words = [["I", "love", "Cleanlab", "Inc"], ["A", "new", "park"]]
|
||||
|
||||
pred_probs = [
|
||||
np.array([0.3, 0.2, 0.9, 0.1]),
|
||||
np.array([0.1, 0.1, 0.9]),
|
||||
]
|
||||
|
||||
labels = [[0, 0, 1, 1], [0, 0, 1]]
|
||||
class_names = ["O", "Span"]
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
"test_labels",
|
||||
[labels, [np.array(l) for l in labels]],
|
||||
ids=["list labels", "np.array labels"],
|
||||
)
|
||||
@pytest.mark.filterwarnings("ignore::DeprecationWarning")
|
||||
def test_find_label_issues(test_labels):
|
||||
issues = find_label_issues(test_labels, pred_probs)
|
||||
assert isinstance(issues, list)
|
||||
assert len(issues) == 1
|
||||
assert issues[0] == (0, 3)
|
||||
|
||||
|
||||
issues = find_label_issues(labels, pred_probs)
|
||||
|
||||
|
||||
def test_display_issues():
|
||||
display_issues(issues, words)
|
||||
display_issues(issues, tokens=words, labels=labels)
|
||||
display_issues(issues, words, pred_probs=pred_probs)
|
||||
display_issues(issues, words, pred_probs=pred_probs, labels=labels)
|
||||
display_issues(issues, words, pred_probs=pred_probs, labels=labels, class_names=class_names)
|
||||
|
||||
|
||||
@pytest.fixture(name="label_quality_scores")
|
||||
def fixture_label_quality_scores():
|
||||
sentence_scores, token_info = get_label_quality_scores(labels, pred_probs)
|
||||
return sentence_scores, token_info
|
||||
|
||||
|
||||
def test_get_label_quality_scores(label_quality_scores):
|
||||
sentence_scores, token_info = label_quality_scores
|
||||
assert len(sentence_scores) == 2
|
||||
assert np.allclose(sentence_scores, [0.1, 0.9])
|
||||
assert len(token_info) == 2
|
||||
assert np.allclose(token_info[0], [0.7, 0.8, 0.9, 0.1])
|
||||
Reference in New Issue
Block a user