python - 根据组值拆分训练中的数据集并进行测试?
问题描述
如果我有以下数据集:(如果我用“ group_name ”按数据分组,数据将如下所示:)
我想根据 **group_name**
特征将数据集拆分为训练集和测试集。例如,如果我想要 80:20 的比例,那么训练集和测试集将如下所示(即在 group-by 函数中):
动车组:
测试集:
因此,在上述示例中考虑了 80:20 的比例。此外,上面显示的示例是 groupby 函数应用于实际数据集的结果。
解决方案
接受培训
training = df.groupby('group_name').apply(lambda x: x.sample(frac=0.8))
然后使用其他索引进行测试
testing = df.loc[set(df.index) - set(training.index.get_level_values(1))]
推荐阅读
- solidity - 将solidity余额迁移为从合约A到B的映射
- php - 会员登录后重定向回 URL
- python - NsLookup 打印出清理
- unity3d - Unity UI:你能同时锚定到一个特定的点,并在各个方向上伸展吗?
- reactjs - 将打字稿传递函数作为道具反应并从子组件调用
- javascript - SecurityInterstitialCommandId.CMD_PROCEED 实际上做了什么?
- azure - 如何为 Azure 应用服务计划指定发行版?
- amazon-ec2 - Terraform 是否会公开 ECS 启动类型中使用的 EC2 实例的实例 ID?
- python - 我怎样才能阻止这个计时器造成的滞后?
- file - 请求、FastAPI、最小代码中的错误