有250个随机生成的数据点,获取方式如下:
[X, y] = getDataSet() # getDataSet() 随机生成250个数据点
X 看起来像这样:
[array([[-2.44141527e-01, 8.39016956e-01], [ 1.37468561e+00, 4.97114860e-01], [ 3.08071887e-02, -2.03260255e-01],...
而 y 看起来像这样:
y is array([[0.], [0.], [0.],...
(它也包含1)
所以,我试图将 [X, y] 分为训练集和测试集。训练集应该是从随机生成的数据点中随机选择的120个数据点。我生成训练集的方式如下:
nTrain = 120maxIndex = len(X)randomTrainingSamples = np.random.choice(maxIndex, nTrain, replace=False)trainX = X[randomTrainingSamples, :] # 训练样本trainY = y[randomTrainingSamples, :] # 训练样本的标签 nTrain X 1
现在,我似乎无法弄清楚如何获取测试集,即未包含在训练集中的另外130个随机生成的数据点:
testX = # 测试样本testY = # 测试样本的标签 nTest x 1
非常感谢您的建议!
回答:
您可以尝试这样做。
randomTestingSamples = [i for i in range(maxIndex) if i not in randomTrainingSamples]testX = X[randomTestingSamples, :] # 测试样本testY = y[randomTestingSamples, :] # 测试样本的标签 nTest x 1