我有一个相当大的图像数据集。这些照片是由x位摄影师拍摄的,每张照片都属于y个主题。如果我不希望在分割之间有摄影师重叠,并且尽可能减少主题重叠,那么我该如何制作一个有效的测试分割?有效和训练之间的主题重叠是可以的,但不适合测试)?
有些主题没有被一些摄影师捕捉到。我试着先把摄影师的集合分开,然后试着把它们与最小的主题重叠结合起来,但是有很多的尝试和错误,我想知道是否有更好的方法。
那么,您可以使用scikit-learn
库中的train_test_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)
,
X = Features and Y = Labels
则可以使用cross_validate
函数,随机取一部分训练数据作为validation
数据,在经过的算法上进行训练,像下面的
from sklearn.model_selection import cross_validate
cv_results = cross_validate(algorithm, x_train, y_train, cv=3)
这就是你的测试数据和训练数据不会重叠的原因