特别加餐|TensorFlow的模型离线评估实践怎么做?
王喆
该思维导图由 AI 生成,仅供参考
你好,我是王喆。
上两节课,我们学习了离线评估的主要方法以及离线评估的主要指标。那这些方法和指标具体是怎么使用的,会遇到哪些问题呢?我们之前实现的深度学习模型的效果怎么样呢?
这节课,我们直接进入实战,在 TensorFlow 环境下评估一下我们之前实现过的深度学习模型。一方面这能帮助我们进一步加深对离线评估方法和指标的理解,另一方面,也能检验一下我们自己模型的效果。
训练集和测试集的生成
离线评估的第一步就是要生成训练集和测试集,在这次的评估实践中,我会选择最常用的 Holdout 检验的方式来划分训练集和测试集。划分的方法我们已经在第 23 讲里用 Spark 实现过了,就是调用 Spark 中的 randomSplit 函数进行划分,具体的代码你可以参考 FeatureEngForRecModel 对象中的 splitAndSaveTrainingTestSamples 函数。
这里我们按照 8:2 的比例把全量样本集划分为训练集和测试集,再把它们分别存储在SparrowRecSys/src/main/resources/webroot/sampledata/trainingSamples.csv和SparrowRecSys/src/main/resources/webroot/sampledata/testSamples.csv路径中。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
本文介绍了TensorFlow模型离线评估的实践方法,重点讨论了生成训练集和测试集的方法以及在TensorFlow中设置评估指标的步骤。通过代码示例展示了如何在模型编译阶段设置准确度、ROC曲线AUC、PR曲线AUC等评估指标,并在训练和评估过程中观察模型效果的变化。文章还对比了Embedding MLP、Wide&Deep、DeepFM等模型在测试集上的评估结果,讨论了模型选择和处理过拟合问题的方法。最后强调了根据具体业务和数据情况调整模型和参数的重要性。整体而言,本文通过实例详细介绍了TensorFlow模型离线评估的实践方法,对于深入了解模型评估的技术人员具有一定的参考价值。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《深度学习推荐系统实战》,新⼈⾸单¥68
《深度学习推荐系统实战》,新⼈⾸单¥68
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(3)
- 最新
- 精选
- Geek_e642b8第二个问题是FM部分使用两两点积的缘故吗?
作者回复: 我猜测是因为交叉层的数据太稀疏了,不能够让交叉层完全收敛。 另外交叉层大量使用id类特征,测试集的id特征和训练集的id特征重叠比较少的话,很可能无法作出合理的预测。这也是所谓模型泛化性和记忆性的矛盾。
2020-12-1120 - 老庄请教老师,这个wide&deep的ROC和PR AUC的数值,如果使用不同的epochs,得到的结果差别很大。 为什么这里没有把train_dataset分为train和validate两部分,也没有配置EarlyStopping,感觉会一直跑。 这样的结果对比,会不会不大对?
作者回复: 代码肯定不是最完善的,我完全赞同使用validate dataset和early stop来终止训练。可以的话可以提交PR来增加这些相关方法。
2021-03-044 - Geek_b6c3b5为什么emp我没有上线默认是emb计算猜你喜欢? 而neuralCF我上线了还需要手动输出model=neuralCF2024-03-13归属地:广东
收起评论