如何解决无法重塑我的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)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。