ValueError:Expected 2D array, got 1D array instead:

使用sklearn报错ValueError:Expected 2D array, got 1D array instead:

clf.predict([4.4,  3.2,  1.3,  0.2])

ValueError: Expected 2D array, got 1D array instead:
array=[4.4 3.2 1.3 0.2].
Reshape your data either using array.reshape(-1, 1) if your data has a single feature or array.reshape(1, -1) if it contains a single sample

这是由于在新版的sklearn中,所有的数据都应该是二维矩阵,哪怕它只是单独一行或一列(比如前面做预测时,仅仅只用了一个样本数据),所以需要使用.reshape(1,-1)进行转换,具体操作如下。

x_new = np.array([4.4,  3.2,  1.3,  0.2]).reshape(1, -1)
clf.predict(x_new)

你可能感兴趣的:(sklearn报错原因,机器学习)