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

如果我有一个数据集的子集作为训练,我在 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,:]

我的代码不起作用,因为没有 & 定义


慕莱坞森
浏览 131回答 1
1回答

函数式编程

如果您已经知道训练集行的索引,则可以排除它们以获取剩余行的索引: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 的测试训练拆分
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python