я не мог сделать функцию такой же, как в примере ниже я получил одно возвращаемое значение только выше 3 балловкак я могу сделать оценку качества фильтра?
качество фильтра будет определяться в соответствии со следующей формулой:
q=((TP+TN)/(TP+TN+10*FP+FN))
положительных случаев (P) - это электронные письма, которые фильтруются как спам, а отрицательные случаи (N) - это электронные письма, которые фильтруются как обычные сообщения электронной почты. Таким образом, FP представляет собой количество писем, которые неправильно помечены как спам, FN - это количество спам-писем, которые проходят без пометок.
Важно отметить, что TP, FP, TN, FN
- это частоты (количество случаев), а не проценты.
Ваш фильтр будет оцениваться на 3 разных наборах данных. Для каждого набора данных, ваш фильтр может получить от 0 до 3 баллов:
q pts
<0, 0.3) 0
<0.3, 0.5) 1
<0.5, 0.7) 2
<0.7, 0.9) 2.5
<0.9, 1> 3
мой код до сих пор:
def quality_score(TP, TN, FP, FN):
q=(TP+TN//TP+TN+10*FP+FN)
return q
то, что я прочитал это: 'TP + (TN/TP) + TN + 10 * FP + FN', вам необходимо проверить вашу скобку – MaTh
Пожалуйста, напишите, если у вас есть какие-либо конкретные проблемы или ошибки. У вашего существующего кода есть одна чрезвычайно простая ошибка. Остальная реализация более или менее тривиальна. –
Да, он возвращает все то же самое значение, как я могу исправить свою функцию, поэтому он возвращает то же, что и пример – jason