Python scikit学习中的部分交叉验证

Python scikit学习中的部分交叉验证,python,scikit-learn,cross-validation,Python,Scikit Learn,Cross Validation,基本交叉验证: from sklearn.model_selection import cross_val_score from sklearn import datasets X, y = datasets.load_iris(return_X_y=True) clf = svm.SVC(kernel='linear', C=1) scores = cross_val_score(clf, X, y, cv=5) 假设有另一个数据X2和y2,我想将其与X和y连接起来,但我不想参与交叉验证(

基本交叉验证:

from sklearn.model_selection import cross_val_score
from sklearn import datasets

X, y = datasets.load_iris(return_X_y=True)
clf = svm.SVC(kernel='linear', C=1)
scores = cross_val_score(clf, X, y, cv=5)
假设有另一个数据
X2
y2
,我想将其与
X
y
连接起来,但我不想参与交叉验证(在所有5个方面
X2
y2
应该是培训的一部分)

是否仍然可以使用scikit中的
cross\u val\u score
来学习这样做

换句话说,在
cross\u val\u score
中,部分数据始终保留在训练集中,是否可以进行部分交叉验证


p.S:
X2
y2
实际上是合成的补充数据,我想知道它们的存在是否有助于模型表现更好。因此,为了进行公平比较,它们不应该成为测试的一部分。

不可能有
交叉评分
;但是你可以很容易地手动操作-参见我的,并在每个折叠中分别用X2和y2分别附加验证数据
X[val_index]
y[val_index]
。谢谢你的回复。使用
KFold
实际上是一个可以接受的解决方案。但由于它是在for循环中执行的,我认为应该有一个更优化的解决方案来避免它。我发现
cross\val\u score
中的cv参数可以传递一个函数。我努力解决了这个问题,但得到了非常好的结果!你不认为这是通过这个问题的好方法吗?用
交叉评分法是不行的;但是你可以很容易地手动操作-参见我的,并在每个折叠中分别用X2和y2分别附加验证数据
X[val_index]
y[val_index]
。谢谢你的回复。使用
KFold
实际上是一个可以接受的解决方案。但由于它是在for循环中执行的,我认为应该有一个更优化的解决方案来避免它。我发现
cross\val\u score
中的cv参数可以传递一个函数。我努力解决了这个问题,但得到了非常好的结果!你不认为这是解决这个问题的好办法吗?