2016-03-21 54 views
0

我想使用SVHN數據並嘗試使用SVM。爲支持向量機重塑一個ndarray

testdata['X'] <type 'numpy.ndarray'> 


(testdata['X']).shape is (32, 32, 3, 26032) 

問題是SVM需要一個二維數組和我的是4 這意味着我需要重塑它,我認爲。

我想:

(testdata['X']).reshape(2) 

給我:

ValueError: total size of new array must be unchanged 

回答

1

當使用重塑你需要使用所有從以前的數組中的元素在新的一個,例如,如果你的尺寸是:

(testdata['X']).shape is (x1, x2, x3, x4) 

你可以用這種方式重塑:

(testdata['X']).reshape(x1*x2*x3,x4) 

或根據您的需要

+1

一些其他組合嘗試的'魔力-1'在'reshape'。例如'x.reshape(-1,X4)' – hpaulj