V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
DongDongXie
V2EX  ›  算法

做推荐算法实验时,测试集中用户数量庞大,能否从中随机抽取用户作为实验对象,看算法在这些用户上的效果?

  •  
  •   DongDongXie · 2018-03-26 10:35:20 +08:00 · 2560 次点击
    这是一个创建于 2459 天前的主题,其中的信息可能已经有所发展或是发生改变。

    因为测试集中用户数量比较庞大,对里面的每个用户都进行测试的话,实验时间比较长。时间关系,我就想的是还是使用原来的训练集进行训练,然后在测试的时候,从测试集中抽取部分用户来进行实验,以这部分用户的测试结果的均值,作为我算法的效果。比如我随机抽取 100 人,然后给这 100 个用户产生推荐,将这 100 个人的最终的实验结果的均值作为我这个算法的实验结果,但是这 100 个用户我是会保存下来,其他对比算法也是要对这 100 个用户进行推荐,以便和我的算法在这 100 个用户上的结果进行对比,请问这样做可以吗

    4 条回复    2018-03-26 12:31:02 +08:00
    enzo113
        1
    enzo113  
       2018-03-26 10:46:08 +08:00
    你说的“测试”具体是什么?人工评价?回归测试?
    DongDongXie
        2
    DongDongXie  
    OP
       2018-03-26 11:12:31 +08:00
    @enzo113 就是看我的算法在这部分用户上的效果,比如准确率、召回率
    enzo113
        3
    enzo113  
       2018-03-26 12:23:12 +08:00
    @DongDongXie #2 正常情况下测试集的大小应该少于训练集,并且测试用的时间应该远远少于训练的时间吧。这样其实做一个完整的测试也不会花太多时间?
    vegito2002
        4
    vegito2002  
       2018-03-26 12:31:02 +08:00 via iPad
    理论上好像可以;只要 test set 只用来测试, 小一点应该问题不大。 当然要看你实际模拟的是一个什么分布, 如果方差很大的分布, 最后结果的随机性可能就比较大;

    我也不太理解为什么你都能 train 完了, 居然 test 时间还成为瓶颈了嘛?

    Google 的 typeahead 好像就有一个随机取样的过程在里面, 不过那个不是机器学习算法, 不知道有没有参考价值。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2645 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 15:15 · PVG 23:15 · LAX 07:15 · JFK 10:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.