Вычисление conviction с помощью функции
После успешного завершения пробного проекта основательница стартапа по продаже электронных книг решает нанять вас для более масштабной задачи. Она спрашивает, сможете ли вы вычислить conviction для каждой пары книг в наборе данных goodreads-10k — эта информация поможет ей решить, какие книги разместить рядом на сайте.
Вы соглашаетесь взяться за работу, но понимаете, что нужен более эффективный способ вычисления conviction, поскольку делать это придётся многократно. Вы решаете написать функцию. Она будет принимать два столбца DataFrame из pandas — антецедент и консеквент — и возвращать значение метрики conviction. Обратите внимание: pandas доступен как pd, а numpy — как np.
Это упражнение является частью курса
Анализ рыночных корзин на Python
Инструкции к упражнению
- Вычислите поддержку антецедента и присвойте результат переменной
supportA. - Вычислите поддержку NOT консеквента.
- Вычислите поддержку антецедента и NOT консеквента.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
def conviction(antecedent, consequent):
# Compute support for antecedent AND consequent
supportAC = np.logical_and(antecedent, consequent).mean()
# Compute support for antecedent
supportA = ____.____()
# Compute support for NOT consequent
supportnC = 1.0 - ____.____()
# Compute support for antecedent and NOT consequent
supportAnC = ____ - supportAC
# Return conviction
return supportA * supportnC / supportAnC