MovieLens 100k数据集的评估

时间:2019-04-21 05:40:52

标签: python-3.x cluster-computing prediction evaluation collaborative-filtering

我正在研究ML_100k数据集,以便使用CF进行预测。但是我坚持评估步骤(准确性,召回率等)。 我没有使用整个训练集,而是使用聚类将训练集分为三类:Interesting(Rating = 4,5).Uninteresting(Rating = 1,2).NotInNorUn(Rating = 3)。

下面给出了一些步骤以便更好地理解:

  1. 将数据集拆分为训练和测试集。
  2. 使用聚类根据等级将训练集分为三类。
  3. 然后使用PCC或CF(基于用户)方法分别找到类别(如上所述)之间的相似性。

我需要有关评估发现准确性,召回性和准确性的帮助。 如何对这类数据进行评估?

到目前为止,我发现下面给出了它,但是没有给出预期的结果。

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

0 个答案:

没有答案