Я могу сделать то же самое для меньшего набора данных, где я знаю желаемые результаты
Например: у меня есть набор данных:
y_true=[1,1,0,1]
y_pred=[1,0,0,0]
Я могу написать функцию для найти все истинные и ложные срабатывания и отрицания:
def measures(y_pred, y_true):
TP = 0
FP = 0
TN = 0
FN = 0
for i in range(len(y_pred)):
if y_true[i]==y_pred[i]==1:
TP += 1
if y_pred[i]==1 and y_true[i]!=y_pred[i]:
FP += 1
if y_true[i]==y_pred[i]==0:
TN += 1
if y_pred[i]==0 and y_true[i]!=y_pred[i]:
FN += 1
return(TP, FP, TN, FN)
Но что, если я собираюсь найти то же самое для нескольких меток, примерно так:
y_true=[1,2,0,1,3]
y_pred=[1,0,3,2,1]
Итак, я хочу найти все TP_total, TN_total, FP_total и FN_total с учетом каждой метки '1','2','0','3'
Как я могу это сделать