2016-03-21 10 views
0

SVHN verilerini kullanmak ve üzerinde SVM'yi denemek istedim.Destek Vektör Makineleri için bir ndarray yeniden şekillendirme

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


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

sorun SVM bir 2d diziyi ihtiyacı vardır ve maden i düşünmek onu yeniden şekillendirmek gerekiyor demektir 4. olmasıdır.

Denedim:

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

bana verir:

ValueError: total size of new array must be unchanged 

cevap

1

senin boyutları olup olmadığını, örneğin yeni bir önceki diziden tüm unsurları kullanmak gerekir yeniden şekillendirmek kullanarak:

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

bu şekilde yeniden şekillendirmek kullanabilirsiniz:

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

veya ihtiyaçlarınız

+1

bağlı diğer bazı kombinasyonlar 'sihirli deneyin -1' reshape'' de. Örneğin. 'X.reshape (-1, X4)' – hpaulj