Python 3.x Can';t重塑我的numpy阵列以训练KNN模型
我尝试使用局部二进制模式(LBP)描述符来训练KNN模型 我的数据是一个shape(67,26)元素的Python 3.x Can';t重塑我的numpy阵列以训练KNN模型,python-3.x,numpy,scikit-learn,numpy-ndarray,lbph-algorithm,Python 3.x,Numpy,Scikit Learn,Numpy Ndarray,Lbph Algorithm,我尝试使用局部二进制模式(LBP)描述符来训练KNN模型 我的数据是一个shape(67,26)元素的numpy.array,但是myaray.shape返回(67,) 我尝试重新塑造阵列,如下所示: myarray.reshape(-1, 26) 但它导致了以下错误: ValueError: cannot reshape array of size 67 into shape (26)** 非常感谢您,因为我不确定我是否清楚地理解了您的问题,首先我将尝试模拟您的数据: [101]中
numpy.array
,但是myaray.shape
返回(67,)
我尝试重新塑造阵列,如下所示:
myarray.reshape(-1, 26)
但它导致了以下错误:
ValueError: cannot reshape array of size 67 into shape (26)**
非常感谢您,因为我不确定我是否清楚地理解了您的问题,首先我将尝试模拟您的数据: [101]中的
:将numpy作为np导入
[102]中:myarray=np.empty(shape=67,dtype=object)
[103]中:对于范围内的i(len(myarray)):
…:myarray[i]=np.random.rand(26)
请运行以下代码:
[104]中的:类型(myarray)
Out[104]:numpy.ndarray
在[105]中:myarray.shape
Out[105]:(67,)
在[106]中:myarray.dtype
Out[106]:数据类型('O')
[107]中:类型(myarray[0])
Out[107]:numpy.ndarray
[108]中:myarray[0]。形状
Out[108]:(26,)
如果得到与上述相同的结果,则应按照@hpaulj在评论中指出的方法进行操作:
[109]中的:x=np.stack(myarray)
In[110]:类型(x)
Out[110]:numpy.ndarray
In[111]:x.shape
Out[111]:(67,26)
能否请您提供一个完整的小示例,并说明所需的输出myarray的具体类型是什么?也许它是一个object
类型的数组,而不是一个常规的二维数组?您确定每个内部元素都包含一个包含26个元素的一维数组吗?如果你的形状是(67,)
,这意味着它不是你期望的2d数组。试试np.stack(myarray)
myarray
是类型对象@MarijnvanVlietYes!!这正是我需要的,非常感谢,也感谢@hpaulj。祝你的项目好运!