pytorch sklearn.model_selection.train_test_split和torch.utils.data.random_split之间的区别是什么?

iyr7buue  于 2023-01-20  发布在  其他
关注(0)|答案(1)|浏览(190)

我正在使用transformer执行语音分类任务。
我使用了两种方法将my_dataset分割成训练集和测试集。
第一个是torch.utils.data.random_split:

train_len = int(0.9 * len(my_dataset))

lengths = [train_len , len(my_dataset) - train_len]

train_set, valid_set = random_split(my_dataset, lengths)

第二个是sklearn.model_selection.train_test_split:

train_set, valid_set = train_test_split(my_dataset, test_size=0.1)

我试过很多次,用第一种方法,准确率都是60%,但用第二种方法,准确率只有55%。
那么sklearn.model_selection.train_test_split和torch.utils.data.random_split之间的区别是什么呢?

这两种方法只是数据集的划分方式不同,其他方法相同。

y1aodyip

y1aodyip1#

这可能是不同的拆分。拆分90:10的方法有很多。如果数据集不够大,则准确性将取决于实际拆分。您可以比较拆分的条目。

相关问题