関数でconvictionを計算する
トライアルプロジェクトが成功した後、ebookスタートアップの創業者は、さらに大きなプロジェクトであなたを雇うことにしました。彼女は、goodreads-10k データセットに含まれるすべての書籍ペアについて conviction を計算できるか尋ねてきました。サイト上でどの本を近くに配置するかの判断材料にしたいからです。
あなたは仕事を引き受けますが、何度も計算する必要があるため、conviction をもっと効率的に計算する方法が必要だと気づきます。そこで、conviction を計算する関数を書くことにしました。この関数は pandas の DataFrame の2つの列(前件と後件)を入力として受け取り、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