评估数据集分为三个子集以进行预测

时间:2019-05-01 09:43:31

标签: python-3.x cluster-analysis prediction evaluation

我正在处理ML_100k数据集,以便使用CF进行预测。但是我坚持评估步骤(准确性,召回率等)。我没有使用整个训练集,而是将训练集分为三个类别(子集)并进行评分:

  1. 兴趣(Rating = 4,5)
  2. 不感兴趣(评分= 1,2)
  3. NotInNorUn(Rating = 3)

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

数据集分为训练和测试集。 使用聚类将训练集基于等级划分为三个类别(子集)。 然后使用PCCCF(基于用户)方法分别查找类别(子集)上的相似性。 我需要有关评估发现accuracyrecallprecision的帮助。如何对这类数据进行评估?

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

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 个答案:

没有答案