始める無料で始める

関数でconvictionを計算する

トライアルプロジェクトが成功した後、ebookスタートアップの創業者は、さらに大きなプロジェクトであなたを雇うことにしました。彼女は、goodreads-10k データセットに含まれるすべての書籍ペアについて conviction を計算できるか尋ねてきました。サイト上でどの本を近くに配置するかの判断材料にしたいからです。

あなたは仕事を引き受けますが、何度も計算する必要があるため、conviction をもっと効率的に計算する方法が必要だと気づきます。そこで、conviction を計算する関数を書くことにしました。この関数は pandas の DataFrame の2つの列(前件と後件)を入力として受け取り、conviction 指標を出力します。pandaspdnumpynp として利用できます。

この演習はコースの一部です

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
コードを編集して実行