我想执行k倍交叉验证,但是我不想确定k-1数据集用于训练,k数据集用于测试,而是要确定训练数据的数量,就像train_test_split
的{ {1}}。然后其余作为测试数据。
准确地说,我有二进制分类数据集,并且在进行交叉验证时每个类需要10个实例。
假设我要进行5折简历:
train_size
当然,在这种情况下,我的X,y应该具有> = 100个实例。
好吧,我只是手动构建它们。我能得到的最接近的是迭代:
cross_val_score(estimator=my_model, X, y, cv=5, train_size=20)
但这会随机选择数据,并且可能会导致两个火车数据集相同,而且无法容纳简历。
是的,这将导致某些数据集未用于训练集,但这是我当前工作中要实现的目标。
有没有提供此功能的python函数?
答案 0 :(得分:1)
您仍然可以使用KFold,但需要附加逻辑。
确定测试数据量:const element = await page.$('.some-class');
。
确定拆分数量:test_amount = total_amount * test_size
。
使用Kfolds:
n_splits = total_amount // test_amount