特定测试尺寸的交叉验证

2024-09-30 19:22:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我刚才用的是十字架_验证。列车测试分割把我的数据集分成90:10的比例。我现在转到分层随机分组(scikit learn中的Kfold和Shuffle Split的合并)。我想知道用指定的测试大小进行分层划分是更好还是应该不指定测试大小就这样做?在

这就是我要做的:

train=[]
with open("/Users/minks/Documents/documents.txt") as f:
    for line in f:
        train.append(line.strip().split())
train=np.array(train)
labels=[]
with open("/Users/minks/Documents/Labels.txt") as t:
    for line in t:
        labels.extend(line.strip().split())
labels=np.array(labels)

kf=StratifiedShuffleSplit(labels, n_iter=5, test_size=0.10)

for train_index, test_index in kf:
     X_train, X_test = train[train_index],train[test_index]
     Y_train, Y_test = labels[train_index],labels[test_index]

我想知道指定一个测试的大小是否是一个好的性能决定,因为如果我不这样做,它会得到随机比率。在


Tags: intesttxtforindexlabels分层as
1条回答
网友
1楼 · 发布于 2024-09-30 19:22:29

如果不指定自己的测试大小,它将默认为0.1。它不会使用随机比率。您可以在docs(函数的字符串)中找到默认值:

在IPython里,做

[1]: from sklearn.cross_validation import StratifiedShuffleSplit
[2]: StratifiedShuffleSplit?

你会看到的

^{pr2}$

相关问题 更多 >