この jaccard相関係数は、ユーザAとユーザB、C、Dの類似度を表します。値が大きいほど類似しています。図4では、ユーザCがこの中では、一番類似していることをしめしています。 それでは購入していない商品2と4を推薦するかどうかはどう決定するのでしょうか。商品2のスコアはユーザAの平均評価値に各ユーザの類似度を考慮した重みつきの評価を加えることで計算します。簡易ではありますが今回は次のように実装してみました。 #! /usr/local/bin/python # -*- coding:utf-8 -*- import sys def jaccard(v1, v2): """ jacard係数を求める """ v1_and_v2 = 0. v1_or_v2 = 0. for i in xrange(len(v1)): if v1[i] == 1 or v2[i] == 1: v1_or_v