Validation 有效分割数据集的方法

Validation 有效分割数据集的方法,validation,machine-learning,dataset,training-data,Validation,Machine Learning,Dataset,Training Data,我有一个相当大的图像数据集。这些照片是由“x”多个摄影师拍摄的,每张照片都属于“y”主题之一。如果我希望分割之间没有摄影师重叠,并且主题重叠尽可能小(即,有效和训练之间的主题重叠可以,但不需要测试),我将如何进行列车、有效和测试分割 有些主题没有被一些摄影师捕捉到。我曾尝试过先由摄影师将场景分割,然后尝试将这些场景与最小的主题重叠结合起来,但有很多尝试和错误,我想知道是否有更好的方法。嗯,您可以使用scikit learn库中的train\u test\u split函数将数据集拆分为train

我有一个相当大的图像数据集。这些照片是由“x”多个摄影师拍摄的,每张照片都属于“y”主题之一。如果我希望分割之间没有摄影师重叠,并且主题重叠尽可能小(即,有效和训练之间的主题重叠可以,但不需要测试),我将如何进行列车、有效和测试分割


有些主题没有被一些摄影师捕捉到。我曾尝试过先由摄影师将场景分割,然后尝试将这些场景与最小的主题重叠结合起来,但有很多尝试和错误,我想知道是否有更好的方法。

嗯,您可以使用
scikit learn
库中的
train\u test\u split
函数将数据集拆分为
train
test
。如下

from sklearn.model_selection import train_test_split

x_train, x_test, y_train, y_test = train_test_split(X, Y, test_size = 0.2, random_state=42)
from sklearn.model_selection import cross_validate

cv_results = cross_validate(algorithm, x_train, y_train, cv=3)
在哪里

然后您可以使用
cross\u validate
函数,随机将部分训练数据作为
validation
数据,并根据通过的算法对其进行训练, 如下

from sklearn.model_selection import train_test_split

x_train, x_test, y_train, y_test = train_test_split(X, Y, test_size = 0.2, random_state=42)
from sklearn.model_selection import cross_validate

cv_results = cross_validate(algorithm, x_train, y_train, cv=3)
这就是您的测试数据和列车数据不会重叠的方式