我有一组高斯数据,如下所示:
r1=np.random.multivariate_normal(mean1, cov1, 3000)r2=np.random.multivariate_normal(mean2, cov2, 3000)
现在我想为这些数据添加类标签,以便训练分类器。对于r1,它属于类1;对于r2,它属于类2。我该如何添加类标签呢?
回答:
考虑将类1的标签设置为+1,类2的标签设置为-1:
label1 = np.ones( (r1.shape[0],1) )label2 = np.ones( (r2.shape[0],1) ) * -1data = np.concatenate((r1, r2))labels = np.concatenate((label1, label2))
如果你需要在训练前打乱数据,并且想要跟踪哪个标签对应哪个样本,首先将每个标签添加到其对应的数据中:
r1 = np.append(label1, r1, axis=1)r2 = np.append(label2, r2, axis=1)data = np.concatenate((r1,r2))np.random.shuffle(data)labels = data[:,0] #提取标签,形状为(len(labels),),这是一个一维数组 labels = np.reshape(labels,(len(labels),1)) #调整形状为一维数组 R = data[:,(1,2)] #提取输入