我正在使用Microsoft Azure机器学习工作室尝试一个实验,我使用以前的分析捕获有关用户(一次,一天)尝试预测他们的下一个操作(基于日期和时间),以便我可以调整用户界面相应的 . 因此,如果用户通常每周四下午1点访问某个页面,那么我想预测该行为 .
警告 - 我是一个完全没有ML的新手,但已观看了不少视频,并通过教程如电影推荐示例 .
我有一个带有用户ID,动作,日期时间的csv数据集,并希望训练一个火柴盒推荐模型,从我的研究看起来似乎是最好的模型 . 我无法在培训中看到使用日期/时间的方法 . 我的想法是,如果我可以传入用户ID和日期,那么推荐模型应该能够给我一个用户最有可能做的结果 .
我从预测 endpoints 获得结果,但是训练 endpoints 给出以下错误:
{
"error": {
"code": "ModuleExecutionError",
"message": "Module execution encountered an error.",
"details": [
{
"code": "18",
"target": "Train Matchbox Recommender",
"message": "Error 0018: Training dataset of user-item-rating triples contains invalid data."
}
]
}
}
Here is a link to a public version of the experiment
任何帮助,将不胜感激 .
谢谢 .
2 回答
也许this answer可能会有所帮助,你也可以看看on this你可以在哪里阅读:
根据此MSDN,请注意,最小和最大音符之间的间隙不能高于
100
.因此,您必须对csv文件列数据(userid,action,datetime等)进行预处理,以便将所有列数据保存在
[0-99]
范围内 .请参阅下面的Python实现(分享逻辑):
哪个给你:
请注意,所有数据现在都在
[0,99]
范围内遵循这个过程:
用户ID可以是float而不是整数
Action是一个整数(如果你有少于100个动作)或float(如果超过100个动作)
日期时间将分为两个整数(或一个整数和一个浮点数),请参阅下面的内容:
关于:
您可以将日期时间分为两列,例如:
weekday 的一列:
0:星期天
1:星期一
2:星期二
[...]
6:星期六
time in the day 的一列:
0:00:00至00:15之间
1:00:15至00:30之间
2:00:30至00:40之间
[...]
95:23:45至00:00之间
如果您需要更好的粒度(这里是一个15分钟的窗口),您也可以使用浮点数作为时间列 .
所以,从这一段时间搞乱这个问题,我想我可能会看到问题所在 . 我认为需要填写火车火柴盒推荐器的前三个输入以进行准确的预测 . 我还会包含推荐餐馆的样本截图 .
第一个输入是由用户,项目和评级组成的数据集 .
第二个输入是每个用户的功能 .
第三个输入是每个功能的特征(在这种情况下是餐厅) .
因此,为了帮助解决日期/时间问题,我想知道是否需要将数据用于匹配与餐馆和用户数据类似的内容 .
我知道这并不多,但我希望它能帮助你走上正轨 .