Проблемы с CoreML MLRecommender - PullRequest
1 голос
/ 18 июня 2020
• 1000 элементов (например, 10) все работает нормально.

Но когда я пытаюсь создать модель обучения, где:

  • user1 оценивает два элемента,
  • user2 оценивает пять элементов ,
  • user3 оценивает один элемент

У меня появляется эта ошибка:

Playground execution terminated: An error was thrown and was not caught:
▿ Item IDs in the recommender model must be numbered 0, 1, ..., num_items - 1.
  ▿ generic : 1 element
    - reason : "Item IDs in the recommender model must be numbered 0, 1, ..., num_items - 1."

как я могу это исправить?

полный код игровой площадки :

let trainingData = try MLDataTable(contentsOf: URL(fileURLWithPath: "/.../test.csv"))
let model = try MLRecommender (trainingData: trainingData, userColumn: "userID", itemColumn: "itemID", ratingColumn: "rating")
let recs = try model.recommendations(fromUsers: ["050510A3-0C96-4F57-8A45-433422680464"])

1 Ответ

0 голосов
/ 12 июля 2020

Мне удалось исправить эту проблему с помощью нормализации и фиктивных оценок, превышающих 0. Подробнее здесь: https://pawel.madej.com/post/ml-recommender-in-practice

...