0
在我的函数中,有时我得到的结果是2D形式的一维numpy数组,因此它的形状是nx1(n,1)。其他时候,我可能会得到它的形式1xn array.shape =(1,n)测试Numpy数组以查看它是否为列形式
其他时候,我只得到一个numpy数组,其形状是(n,)。
当我运行下面的测试中,我得到一方面的错误,并且在另一假阳性(因为一个形状属性的长度总是大于1,显然):
y_predicted = forest.predict(testX)
if y_predicted.shape[1] != None:
y_predicted = y_predicted.T[0]
和
y_predicted = forest.predict(testX)
if len(y_predicted.shape) > 1:
y_predicted = y_predicted.T[0]
我只是需要确保y的最终形状总是在形式(N),而不是(N,1)或(1,N)...
'squeeze','ravel'和'flatten'都会做这个工作;但请阅读他们的文档,以便了解他们的差异。 – hpaulj