2016-03-21 1 views
0

Je voulais utiliser les données SVHN et essayer SVM dessus.Remodelage d'un ndarray pour les machines vectorielles de support

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


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

le problème est que SVM a besoin d'un tableau 2D et le mien est 4. Cela signifie que je dois remodeler je pense.

J'ai essayé:

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

me donne:

ValueError: total size of new array must be unchanged 

Répondre

1

Lors de l'utilisation que vous remodelez besoin d'utiliser tous les éléments du tableau précédent dans le nouveau, par exemple, si vos dimensions sont les suivantes:

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

vous pouvez utiliser remodeler ainsi:

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

ou d'autres combinaisons en fonction de vos besoins

+1

Essayez la magie de '' -1' dans reshape'. par exemple. 'x.reshape (-1, x4)' – hpaulj