Calculando conviction com uma função
Depois de concluir com sucesso o projeto piloto, a fundadora da start-up de ebooks decide contratar você para um projeto bem maior. Ela pergunta se você consegue calcular a conviction para cada par de livros no conjunto de dados goodreads-10k, para usar essa informação e decidir quais livros posicionar mais próximos no site.
Você aceita o trabalho, mas percebe que precisa de uma forma mais eficiente de calcular a conviction, já que terá que fazer isso muitas vezes. Você decide escrever uma função que faça esse cálculo. Ela receberá duas colunas de um DataFrame do pandas como entrada, um antecedente e um consequente, e retornará a métrica de conviction. Observe que pandas está disponível como pd e numpy está disponível como np.
Este exercício faz parte do curso
Análise de Cesta de Compras em Python
Instruções do exercício
- Calcule o suporte do antecedente e atribua a
supportA. - Calcule o suporte do NÃO consequente.
- Calcule o suporte do antecedente e NÃO consequente.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
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