Azure ML:"Train Matchbox Recommender" 不工作并且没有描述错误

AzureML: "Train Matchbox Recommender" is not working and does not descibe the error

我尝试使用该模块创建自己的实验,但未能成功。 这是我得到的例外:

Error 0018: Training dataset of user-item-rating triples contains invalid data. [Critical] {"InputParameters":{"DataTable":[{"Rows":14,"Columns":3,"estimatedSize":12668928,"ColumnTypes":{"System.String":1,"System.Int32":1,"System.Double":1},"IsComplete":true,"Statistics":{"0":[10,0],"1":[5422.0,5999.0,873.0,6616.0,1758.0582820478173,7.0,0.0],"2":[1.0,1.0,1.0,1.0,0.0,1.0,0.0]}},{"Rows":2338,"Columns":3,"estimatedSize":1404928,"ColumnTypes":{"System.String":1,"System.Int32":1,"System.Double":1},"IsComplete":true,"Statistics":{"0":[2338,0],"1":[7.5367835757057318,3.0,0.0,704.0,17.738259318519511,64.0,0.0],"2":[3.3737234816082085,1.5,0.0,352.0,8.3956874404883841,122.0,0.0]}},{"Rows":2532,"Columns":22,"estimatedSize":4648960,"ColumnTypes":{"System.Int32":10,"System.String":5,"System.Double":6,"System.Boolean":1},"IsComplete":true,"Statistics":{"0":[4575.7263033175359,5326.5,539.0,6871.0,1987.9561375024909,2532.0,0.0],"1":[4575.7263033175359,5326.5,539.0,6871.0,1987.9561375024909,2532.0,0.0],"2":[613.0,613.0,613.0,613.0,0.0,1.0,0.0],"3":[0,2532],"4":[0,2532],"5":[4575.7263033175359,5326.5,539.0,6871.0,1987.9561375024909,2532.0,0.0],"6":[23.647231437598673,19.99,1.99,149.99,17.237723488320938,90.0,0.0],"7":[0.043827014218009476,0.0,0.0,45.99,1.3460680431173562,3.0,0.0],"8":[0.0,0.0,0.0,0.0,0.0,1.0,0.0],"9":[0.0,0.0,0.0,0.0,0.0,1.0,0.0],"10":[0.0,0.0,0.0,0.0,0.0,1.0,0.0],"11":[0.0,0.0,0.0,0.0,0.0,1.0,0.0],"12":[0.0,0.0,0.0,0.0,0.0,1.0,0.0],"13":[0.0,0.0,0.0,0.0,0.0,1.0,0.0],"14":[0.0,0.0,0.0,0.0,0.0,1.0,0.0],"15":[0.0,0.0,0.0,0.0,0.0,1.0,0.0],"16":[0.0,0.0,0.0,0.0,0.0,1.0,0.0],"17":[0.0,0.0,0.0,0.0,0.0,1.0,0.0],"18":[2524,0],"19":[242,18],"20":[1,0],"21":[2524,0]}}],"Generic":{"traitCount":10,"iterationCount":5,"batchCount":4}},"OutputParameters":[],"ModuleType":"Microsoft.Analytics.Modules.MatchboxRecommender.Dll","ModuleVersion":" Version=6.0.0.0","AdditionalModuleInfo":"Microsoft.Analytics.Modules.MatchboxRecommender.Dll, Version=6.0.0.0, Culture=neutral, PublicKeyToken=69c3241e6f0468ca;Microsoft.Analytics.Modules.MatchboxRecommender.Dll.MatchboxRecommender;Train","Errors":"Microsoft.Analytics.Exceptions.ErrorMapping+ModuleException: Error 0018: Training dataset of user-item-rating triples contains invalid data.\r\n at Microsoft.Analytics.Modules.MatchboxRecommender.Dll.Utilities.UpdateRatingMetadata(DataTable dataset, String datasetName) in d:\_Bld3369\Sources\Product\Source\Modules\MatchboxRecommender.Dll\Utilities.cs:line 179\r\n at Microsoft.Analytics.Modules.MatchboxRecommender.Dll.MatchboxRecommender.TrainImpl(DataTable userItemRatingTriples, DataTable userFeatures, DataTable itemFeatures, Int32 traitCount, Int32 iterationCount, Int32 batchCount) in d:\_Bld3369\Sources\Product\Source\Modules\MatchboxRecommender.Dll\MatchboxRecommender.cs:line 62","Warnings":[],"Duration":"00:00:00.6722068"} Module finished after a runtime of 00:00:01.1250071 with exit code -2 Module failed due to negative exit code of -2

我已经检查了我设置为输入用户位置评级 table 的输入数据,逐条记录(不用担心它只有 14 条记录)这里是:

实验截图如下:

由于错误信息不是很详细,我不知道从哪里开始,所以,如果有人有想法,我很乐意听听。

更新: 我的一位朋友建议添加 "Edit Metadata" 模块,将 "rating" 特征更改为 "int" 或 "float" 类型,并将其他两个(placeID 和 userID)更改为字符串特征。这也没有帮助。

火柴盒推荐系统要求评分为数字或分类。另外在训练的时候,你们的评分不能都是一样的。

您需要使用元数据编辑器 https://msdn.microsoft.com/en-us/library/azure/dn905986.aspx 将评级转换为数字特征,并且您需要确保您使用的是一系列评级。

那么这应该可行!