为了账号安全,请及时绑定邮箱和手机立即绑定

是否有一个简单的函数可以从 python 的数据集中排除训练集?

是否有一个简单的函数可以从 python 的数据集中排除训练集?

慕莱坞森 2022-07-05 19:43:02
如果我有一个数据集的子集作为训练,我在 python 中拆分数据集有一个问题,python 中是否有一些函数可以从数据集中排除训练集并直接获取数据集的其余部分?就像:testing set = numpy.exclude(dataset , trainingset)例如,数据集中有 10 行,我将 2,4,7,9 行作为训练集,那么如何轻松获取数据集的其余部分。详细地说,这些我的训练数据集for i in range(0,5):   Test_data = dataset[ratio*i:ratio*(i+1),:]   Train_data = dataset[0:ratio*i&ratio*(i+1):-1,:]我的代码不起作用,因为没有 & 定义
查看完整描述

1 回答

?
函数式编程

TA贡献1807条经验 获得超9个赞

如果您已经知道训练集行的索引,则可以排除它们以获取剩余行的索引:


training_rows_ix = [2,4,7,9]

non_training_rows = [i for i in dataset.index if i not in training_rows_ix]

test_set = dataset.loc[non_training_rows]

或者使用集合操作而不是列表理解:


non_training_rows = sorted(set(dataset.index) - set(training_rows_ix))

此外,对于将数据集拆分为测试训练的更强大的解决方案,请查看 scikit-learn 的测试训练拆分


查看完整回答
反对 回复 2022-07-05
  • 1 回答
  • 0 关注
  • 130 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信