Recbole自定义训练集、验证集和测试集推荐
文章目录
- Recbole简介
- Recbole使用
- 自定义训练集、验证集和测试集
Recbole简介
Recbole(中文名称:伯乐)是一款使用Python开发的开源推荐框架,里面集成了大量的推荐模型,例如BPR、NeuMF、NGCF、LightGCN等等。
中文介绍网址为:
- https://recbole.io/cn/model_list.html
在Recbole中提供了按比例划分数据集的方式(例如训练集0.8,验证集0.1,测试集0.1),同时在2.0版本也提供了自定义训练集、验证集和测试集的方式。
Recbole使用
关于Recbole的使用,在官网介绍的很详细了。我这里直接将github上的工程下载了下来,导入了pycharm。如下图所示:
其中,标红的dataset用于放数据集。例如,我的数据集只有三列,即用户-产品–评分。
doctor.inter的内容如下:
user_id:token item_id:token rating:float
0 0 1
0 1 1
0 2 1
0 3 0
...
针对这种数据,我们需要修改配置文件:
其中,sample.yaml修改如下,我们只需要user_id,item_id,rating类型的数据。
可以利用其中的BPR等模型开展实验。
自定义训练集、验证集和测试集
在Recbole自定义训练集、验证集和测试集使用的是配置文件sample.yaml。在配置文件的最后一行,存在一个字段benchmark_filename。我们可以通过这个字段来针对事先划分好的数据集进行实验。
例如,这里的part1为训练集,part2为验证集,part3为测试集。
假如程序中使用的数据集目录为standard,则在该目录下需要存在以下三个文件,如下图所示:
我们运行以下程序:
可以正在跑出模型对应的推荐结果。
Recbole自定义训练集、验证集和测试集推荐相关推荐
- 【小白学PyTorch】 2.浅谈训练集验证集和测试集
文章目录: 经验误差与过拟合 评估方法 经验误差与过拟合 关键词:错误率(error rate),精度(accuracy). 错误率好理解,就是m个样本中,a个样本分类错误,则错误率E = a/m . ...
- 机器学习典型步骤以及训练集、验证集和测试集概念
1. 机器学习典型步骤 数据采集和标记 数据清洗 特征选择 如房子的面积.地理位置.朝向.价格等. 模型选择 有监督还是无监督,问题领域.数据量大小.训练时长.模型准确度等多方面有关. 模型训练和测试 ...
- 【入门篇】如何正确使用机器学习中的训练集、验证集和测试集?
[注] ·本文为转载文章,原文作者是王树义老师,原文链接为 https://zhuanlan.zhihu.com/p/71961236 训练集.验证集和测试集,林林总总的数据集合类型,到底该怎么选.怎 ...
- 训练集、验证集和测试集的意义
原文 在有监督的机器学习中,经常会说到训练集(train).验证集(validation)和测试集(test),这三个集合的区分可能会让人糊涂,特别是,有些读者搞不清楚验证集和测试集有什么区别. I. ...
- 训练集、验证集和测试集的概念及划分原则
深度学习中,常将可得的数据集划分为训练集(training set),验证集(development set/validation set)和测试集(test set).下文主要回答以下几个问题:一是 ...
- 训练集、验证集和测试集这三个名词的区别
训练集.验证集和测试集这三个名词在机器学习领域极其常见,但很多人并不是特别清楚,尤其是后两个经常被人混用. 在有监督(supervise)的机器学习中,数据集常被分成2~3个,即:训练集(train ...
- YOLOv5将自己数据集划分为训练集、验证集和测试集
在用自己数据集跑YOLOv5代码时候,需要将自己的VOC标签格式数据集转为yolo格式. 首先是要获取自己的数据集,然后再对数据集进行标注,保存为VOC(xml格式).然后再把标注完的数据集划分为训练 ...
- 如何正确使用机器学习中的训练集、验证集和测试集?
王树义 读完需要 19 分钟 速读仅需7分钟 训练集.验证集和测试集,林林总总的数据集合类型,到底该怎么选.怎么用?看过这篇教程后,你就能游刃有余地处理它们了. 1 问题 审稿的时候,不止一次,我遇到 ...
- 什么是训练集、验证集和测试集?
在机器学习中,训练集.验证集和测试集是数据集的三个重要部分,用于训练.评估和测试机器学习模型的性能.它们的定义和作用如下: 什么是训练集.验证集和测试集? 训练集:训练集是机器学习模型用于训练和学习的 ...
最新文章
- Cross-site Scripting (XSS) 阅读笔记
- Spark任务提交后是如何完成提交过程的?源码解析!
- Keras 深度学习框架中文文档
- K-means算法和矢量量化
- 如何找tensorflow-gpu版本对应的cuda和cudnn
- opencv给视频打马赛克
- SQL Server性能调优--优化建议(二)
- multisim14安装后怎么汉化(超详解)
- 芯片行业相关公司及就业岗位汇总
- Typora 一款非常简洁,非常适合程序员使用的markdown文档书写工具
- 你为什么要进入IT行业呢?
- 机器学习——支持向量机support vector machine
- 数学基础_若要使骰子(六个面)的每个数都出现至少一次,那么平均需要掷多少次骰子?
- 安全测试那些事儿......
- 华邦存储芯片 W25Q 系列命名规则
- ARM Linux 内核 panic 之cache 一致性 ——cci-400 cache一致互联
- AutoCAD中ObjectARX C++常用的方法
- 最优化技术——单纯形法
- 学习笔记0601----mysql主从
- 精致又小巧的3款黑科技软件,一旦使用,难以割舍
热门文章
- 使用CSS控制段落首行缩进
- Nginx限制对代理HTTP资源的访问速率
- ZooKeeper程序员指南--使用ZooKeeper开发分布式应用程序
- 如何在CentOS 7上安装和配置MySQL Cluster
- 解决python中TypeError: not enough arguments for format string
- Linux——安全权限(禁止添加新用户+umask值+修改默认密码最长有效期)
- 【生活】我的2019年度总结
- 开发人员kpi怎么写_为什么开发人员应该知道怎么写
- 自助银行服务系统项目开发_自助服务时代即将结束
- java运行时内存分配详解