我正在研究ML_100k数据集,以便使用CF进行预测。但是我坚持评估步骤(准确性,召回率等)。 我没有使用整个训练集,而是使用聚类将训练集分为三类:Interesting(Rating = 4,5).Uninteresting(Rating = 1,2).NotInNorUn(Rating = 3)。
下面给出了一些步骤以便更好地理解:
我需要有关评估发现准确性,召回性和准确性的帮助。 如何对这类数据进行评估?
到目前为止,我发现下面给出了它,但是没有给出预期的结果。
for user in predicted_dictionary:
if user in total_test:
for item in predicted_dictionary[user]:
if item in total_test[user]:
tp += 1
else:
fp += 1
fn += float(
set(total_test[user]).__len__() - (set(total_test[user]) & set(predicted_dictionary[user])).__len__())
try:
recall = tp / (tp + fn)
precision = tp / (tp + fp)
f1_measure = (precision * recall) / (precision + recall)
return recall, precision, f1_measure
except:
return 0, 0, 0