Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scikit learn 交叉验证后如何获取数据?_Scikit Learn_Cross Validation_K Fold - Fatal编程技术网

Scikit learn 交叉验证后如何获取数据?

Scikit learn 交叉验证后如何获取数据?,scikit-learn,cross-validation,k-fold,Scikit Learn,Cross Validation,K Fold,我正在尝试使用带异常的迁移学习为7个类制作图像分类器。现在我正试图实现交叉验证。我知道KFold回报指数,但如何获得数据值 from sklearn.model_selection import KFold import numpy as np sample = np.array(['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I']) kf = KFold(n_splits=3, shuffle=True) for train_index, test_i

我正在尝试使用带异常的迁移学习为7个类制作图像分类器。现在我正试图实现交叉验证。我知道KFold回报指数,但如何获得数据值

from sklearn.model_selection import KFold
import numpy as np

sample = np.array(['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I'])

kf = KFold(n_splits=3, shuffle=True)
for train_index, test_index in kf.split(sample):
    print("TRAIN:", train_index, "TEST:", test_index)
它回来了

TRAIN: [1 2 3 4 6 7] TEST: [0 5 8]
TRAIN: [0 1 2 4 5 8] TEST: [3 6 7]
TRAIN: [0 3 5 6 7 8] TEST: [1 2 4]
但我想要的是

TRAIN: ['B', 'C', 'D', 'E', 'G', 'H'] TEST: ['A', 'F', 'I']
TRAIN: ['A', 'B', 'C', 'E', 'F', 'I'] TEST: ['D', 'G', 'H']
TRAIN: ['A', 'D', 'F', 'G', 'H', 'I'] TEST: ['B', 'C', 'E']
我该怎么办?

kf.split返回索引,而不是实际样本。您只需更改为:

for train_index, test_index in kf.split(sample):
    print("TRAIN:", sample[train_index], "TEST:", sample[test_index])
结果:

TRAIN: ['A' 'B' 'C' 'E' 'F' 'H'] TEST: ['D' 'G' 'I']
TRAIN: ['A' 'D' 'F' 'G' 'H' 'I'] TEST: ['B' 'C' 'E']
TRAIN: ['B' 'C' 'D' 'E' 'G' 'I'] TEST: ['A' 'F' 'H']