2016-05-05 5 views
0

私はscikit学習分類子モデルにInconsistant行動

class=modelftr.predict(X_t) 

を使用してクラスを予測していたクラス変数を返す

>>class 

array(['class1'],dtype='<U47') 

私が持っているときにはを呼び出し

x=np.ndarray([],dtype='<U47')

として変数を定義しましたの戻り

Traceback (most recent call last):

File "", line 1, in

IndexError: too many indices for array

として、私は、変数を定義しています:

Traceback (most recent call last):

File "", line 1, in

TypeError: an integer is required

なぜそのような行動:エラーが発生して

class=np.ndarray([''],dtype='<U47') 

答えて

2

最初の例では、1つの要素の配列である:

In [50]: a=np.array(['one'],dtype='U10') 

In [51]: a.shape 
Out[51]: (1,) 

In [52]: a[0] 
Out[52]: 'one' 

第0の要素を持つ配列です。

In [53]: a=np.array([],dtype='U10') 

In [54]: a.shape 
Out[54]: (0,) 

許可された唯一のインデックスは、空のタプルである:a[0]が最後、創造だけのようにシンプルなインデックス作品についてはIndexError: index 0 is out of bounds for axis 0 with size 0

を生成し、新しいnumpyのオン

In [56]: a[()] 
Out[56]: 
array([], 
     dtype='<U10') 

最初。

In [58]: a=np.array([''],dtype='U10') 

In [59]: a 
Out[59]: 
array([''], 
     dtype='<U10') 

In [60]: a[0] 
Out[60]: '' 

どのコードが正確にその最後のエラーを生成していますか?

+0

宣言自体の間に最後のエラーが生成されますが、わかりませんが、dtypeが責任を負っていると感じています。 –