[英]Can't reshape my numpy array for training a KNN model
我嘗試使用本地二進制模式 (LBP) 描述符來訓練 KNN model。
我的數據是一個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)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.