Оценка набора данных, разделенного на три подмножества для прогнозирования - PullRequest
0 голосов
/ 01 мая 2019

Я работаю над набором данных ML_100k для прогнозирования с использованием CF.Но я застрял на этапе оценки (точность, отзыв и т. Д.).Вместо того, чтобы использовать весь обучающий набор, я делю обучающий набор на три категории (подмножества) с оценками:

  1. Интересно (рейтинг = 4,5)
  2. Неинтересно (рейтинг = 1,2)
  3. NotInNorUn (Rating = 3)

Ниже приведены некоторые шаги для лучшего понимания:

Набор данных разбит на обучающие и тестовые наборы.Использование кластеризации для разделения тренировочного набора на три категории (подмножества) на основе рейтингов.Затем с помощью PCC или CF (основанных на пользователях) методов можно найти сходство по категориям (подмножествам) отдельно.Мне нужна помощь относительно оценки результатов accuracy, recall, precision.Как выполнить оценку для этого типа данных?

До сих пор я обнаружил, что приведено ниже, но это не дает результатов, как ожидалось.

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
...