我尝试使用该模块创建自己的实验,但未能成功。以下是我收到的异常信息:
错误 0018:用户-项目-评分三元组的训练数据集包含无效数据。 [严重] {“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:\_Bld\8833\7669\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:\_Bld\8833\7669\Sources\Product\Source\Modules\MatchboxRecommender.Dll\MatchboxRecommender.cs:line 62″,”Warnings”:[],”Duration”:”00:00:00.6722068″} 模块在运行00:00:01.1250071后完成,退出代码为-2,由于负的退出代码-2导致模块失败
我已经逐条检查了作为输入的用户-地点-评分表(不用担心,只用了14条记录),如下所示:
由于错误消息信息不足,我不知道从哪里开始解决问题,所以如果有人有想法,我会很高兴听到的。
更新:我的一个朋友建议添加“编辑元数据”模块,将“评分”特征更改为“int”或“float”类型,并将另外两个(placeID和userID)更改为字符串特征,但这也没有帮助。
回答:
Matchbox推荐器要求评分必须是数值或分类数据。此外,在训练时,您的评分不能全部相同。
您需要使用元数据编辑器 https://msdn.microsoft.com/en-us/library/azure/dn905986.aspx 将评分转换为数值特征,并确保您使用了一系列的评分。
这样应该就可以工作了!