在处理test数据集时,能保证所有的uid和bid都是在train中出现过吗?
我怕数据集是先选出一堆用户和商标,然后把他们之间的交互信息按照时间前面选出一部分作为train,后面选一部分作test,如果选的时间点不好,可能有的uid和bid只在test中才有。
数据集能保证test中没出现train没有的uid和bid吗?
回复下面询问的:
比如如果test和train的uid,bid完全一致
一个算法a能得到80%的pre,100%的recall,
另一个算法b能得到100%pre,80%recall,
那么两个算法的f1值应该是一样的,都是88.9%
但如果test多了很多uid和bid没出现过,导致用train推荐recall最大值只能到80%,那就变成了
a有80%的pre,80%的recall,
b有100%pre,64%recall,
这样就变成f1值a是80%,b是78%,也就是本来应该排名一样的算法结果a比b好了。
而且即使test中只多了一个uid或者bid,那么a和b算法的排名都是受到影响的
-------------------------
-------------------------
-------------------------
-------------------------
-------------------------
-------------------------
-------------------------
-------------------------
-------------------------
-------------------------
-------------------------
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。