ValueError: Expected 2D array, got 1D array Reshape your data either using array.reshape -1, 1
背景: 笔者在做实验时,有一个实验是分别用特征集中的每个特征的数据分别训练模型,在训练过程中出现这样的问题。
解答:错误提示已经给出了答案。这是由于在取单个特征列时,尺寸发生改变导致的问题,需要进行reshape。具体来说:
import numpy as np
data = np.array([[1,2,3], [4,5,6]]) # size: (num_sample, num_feature)
label = np.array([[1],[0]])
#data_f1 = data[:, 0] # size: (num_sample, )
data_f1 = data[:, 0].reshape(-1, 1) #size: (num_sample, 1)
model = build_model()
model.train(data_f1, label)