python - 如何按组拆分数据?
问题描述
我有以下数据
user_id, item_id
1, 2
1, 3
2, 5,
2, 4
1, 4
我想用约束分割数据:
每个用户必须在训练集或测试集中,但不能同时在两者中
[[1,2], [1,3], [1,4]] / [[2,5],[2,4]]
有效拆分也是如此,
但[[1,2],[2,5][1,4]] / [[1,3]... ]
不是有效拆分,因为用户已被拆分
我不确定是否from sklearn.model_selection import train_test_split
支持它..
解决方案
如果您想在训练和测试中拥有固定比例的用户,您需要获得唯一用户和拆分用户。下面的伪代码
train_ids, test_ids = train_test_split(unique_users)
train_X = data[data.user_id==train_ids]
test_X = data[data.user_id==test_ids]
推荐阅读
- java - Google Analytics 中没有事件跟踪
- python - Python 使用隐式参数而不是显式参数
- sqlite - Sublime Text 3 SQLite 设置
- c# - 禁用 AutoMapper 内置枚举映射器
- r - 我正在尝试将指数函数拟合到我在 R 中的图形
- docker - 尝试使用带有自定义 conf.d 的 docker-compose 运行 nginx 时出错
- python - 使用 '' pip install torch-geometric '' 时出错,错误: llvmlite 构建轮子失败
- android - 如何在布局 xml 中有一个内联可绘制对象
- python - 如何使用 os.walk() 计算文件夹的直接子文件夹的大小
- botframework - Botframework-Webchat - 发送带有附件的活动,同时防止直接替换 contentUrls