无法重塑我的Numpy数组以训练KNN模型

问题描述

我尝试使用本地二进制模式(LBP)描述符训练KNN模型。

我的数据是numpy.array形(67,26)元素,但是myaray.shape返回(67,)

我试图像这样重塑数组

    myarray.reshape(-1,26)

但导致以下错误:

ValueError: cannot reshape array of size 67 into shape (26)**

非常感谢您

解决方法

由于我不确定我是否清楚地理解了您的问题,因此,我将首先尝试模拟您的数据:

In [101]: import numpy as np

In [102]: myarray = np.empty(shape=67,dtype=object)

In [103]: for i in range(len(myarray)):
     ...:     myarray[i] = np.random.rand(26)

请运行以下代码:

In [104]: type(myarray)
Out[104]: numpy.ndarray

In [105]: myarray.shape
Out[105]: (67,)

In [106]: myarray.dtype
Out[106]: dtype('O')

In [107]: type(myarray[0])
Out[107]: numpy.ndarray

In [108]: myarray[0].shape
Out[108]: (26,)

如果获得与上述相同的结果,numpy.stack应该按照@hpaulj在评论中指出的方法进行操作:

In [109]: x = np.stack(myarray)

In [110]: type(x)
Out[110]: numpy.ndarray

In [111]: x.shape
Out[111]: (67,26)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...