CoreML MLRecommender 问题
CoreML MLRecommender issues
我想创建 CoreML Recommender 模型,我的训练数据如下所示:
userID (UUID) | itemID (UUID) | rating (Int)
用户可以评价 0 到 x
个项目,直到每个用户在训练数据中评价相同数量的项目(例如 10),一切正常。
但是当我尝试创建训练模型时:
- 用户 1 评价了两个项目,
- 用户 2 评价了五个项目,
- 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"])
我已经通过使用大于 0 的归一化和虚拟分数设法解决了这个问题。更多信息在这里:https://pawel.madej.com/post/ml-recommender-in-practice
我想创建 CoreML Recommender 模型,我的训练数据如下所示:
userID (UUID) | itemID (UUID) | rating (Int)
用户可以评价 0 到 x
个项目,直到每个用户在训练数据中评价相同数量的项目(例如 10),一切正常。
但是当我尝试创建训练模型时:
- 用户 1 评价了两个项目,
- 用户 2 评价了五个项目,
- 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"])
我已经通过使用大于 0 的归一化和虚拟分数设法解决了这个问题。更多信息在这里:https://pawel.madej.com/post/ml-recommender-in-practice