python-3.x - 无法重塑我的 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)
推荐阅读
- r - as.Date.numeric() 中的错误:必须提供“原点”
- java - 如何在 Java 中将 HexString 编码为 Base64 RFC 1421
- javascript - 在使用 reactjs 在 Firestore 中获取具有参考 ID 的文档时需要帮助
- android-layout - 如何在列表中显示不同的小部件:Flutter
- sql - SQL 查询 - 从另一个表添加列数据并添加空值
- sql - 如何在 SQL 中根据文本数据生成计数
- haskell - haskell 导入 Data.List 模块失败
- ionic-framework - 如何在 Ionic 4/5 中拖动元素
- embedded - 使用示波器测量 USB 电缆的功率
- python - 如何使用 OpenCV 使图像上的文本清晰锐利