В этом задании вы должны написать функцию для решения задачи. Применять её к датасетам eng_probabilities.csv и eng_target.csv пока рано, вы сделаете это в следующем задании.
Напишите функцию revenue() (англ. «выручка»), которая подсчитывает и возвращает выручку. Она получает на вход:
- список ответов
target— пришёл ли ученик на урок; - список вероятностей
probabilities— модель оценивает, придёт ученик или нет; - сколько учеников посещает занятия за день
count.
Функция должна выбрать учеников с наибольшей вероятностью посещения и на основе ответов подсчитать возможную выручку.
В прекоде пример запуска функции, когда списки вероятностей и ответов невелики, а учеников только трое.
import pandas as pd
def revenue(target, probabilities, count):
probs_sorted = probabilities.sort_values(ascending=False)
selected = target[probs_sorted.index][:count]
return 1000 * selected.sum()
target = pd.Series([1, 1, 0, 0, 1, 0])
probab = pd.Series([0.2, 0.9, 0.8, 0.3, 0.5, 0.1])
res = revenue(target, probab, 3)
print(res)
Результат
2000