# Fogalmazza meg és írja le, hogy mi az a roc auc.
# Hogyan számítják ki a roc_auc_score értékét?
# Írjon egy függvényt, amely a leírt definíció szerint számítja ki a roc_auc_score-t.
# És tetszőleges számú osztály esetén, adott prioritási sorrenddel?
# A modell a következőképpen működik
# y_score[i] >= küszöbérték -> y_pred[i] = 1
# y_score[i] < küszöbérték -> y_pred[i] = 0
def test_roc_aur_score():
y_true = [0, 0, 0, 1, 0, 0]
y_score = [0.2, 0.4, 0.31, 0.6, 0.3, 0.7]
res_metric = roc_auc_score(y_true, y_score)
assert res_metric == 0.8
y_true = [0, 1, 0, 0, 0, 1]
y_score = [0.7, 0.6, 0.31, 0.31, 0.3, 0.2]
res_metric = roc_auc_score(y_true, y_score)
assert res_metric == 0.375
y_true = [0, 0, 0, 1, 0, 0]
y_score = [0.2, 0.4, 0.31, 0.8, 0.3, 0.7]
res_metric = roc_auc_score(y_true, y_score)
assert res_metric == 1
y_true = [0, 0, 0, 0, 0, 0]
y_score = [0.2, 0.4, 0.31, 0.8, 0.3, 0.7]
res_metric = roc_auc_score(y_true, y_score)
assert res_metric == 0
# Többszintű tesztek
y_true = [0, 1, 0, 0.5, 0, 1]
y_score = [0.7, 0.6, 0.31, 0.31, 0.3, 0.2]
res_metric = roc_auc_score(y_true, y_score)
assert res_metric == 0.
y_true = [0, 0.1, 0.2, 0.3, 0.4, 0.6]
y_score = [0, 0.1, 0.2, 0.3, 0.4, 0.6]
res_metric = roc_auc_score(y_true, y_score)
assert res_metric == 1