2017-02-07 3 views
0

を二値化しながら、私は_convertToOneOfMany(pybrain使用して、次のエラーをHAVA)PybrainはTypeErrorターゲット

--------------------------------------------------------------------------- 
TypeError         Traceback (most recent call last) 
<ipython-input-95-f1c0d3ad67e6> in <module>() 
19 print y_train 
20 ds_train.setField('target', y_train[:, np.newaxis]) 
---> 21 ds_train._convertToOneOfMany() 
22 

\pybrain\datasets\classification.pyc in _convertToOneOfMany(self, bounds) 
140   newtarg = zeros([len(self), self.nClasses], dtype='Int32') + bounds[0] 
141   for i in range(len(self)): 
--> 142    newtarg[i, int(oldtarg[i])] = bounds[1] 
143   self.setField('target', newtarg) 
144   self.setField('class', oldtarg) 

TypeError: don't know how to convert scalar number to int 

私は70個のクラス(国名)とこのようになりますy_trainターゲットのリストがあります:

[u'\u0418\u0442\u0430\u043b\u0438\u044f' 
u'\u0420\u043e\u0441\u0441\u0438\u044f' 
u'\u041c\u0430\u0440\u043e\u043a\u043a\u043e' ..., 
u'\u041d\u0438\u0434\u0435\u0440\u043b\u0430\u043d\u0434\u044b' 
u'\u0422\u0443\u0440\u0446\u0438\u044f' 
u'\u0412\u044c\u0435\u0442\u043d\u0430\u043c'] 

何が問題になりますか?それを解決する方法はありますか?

答えて

0

同じことをしている人のために:pybrainは、整数型のターゲットを必要とするため、存在するものをインデックス化する必要があります。