2017-05-09 14 views
0

私の分類問題の1つとして、skmultilearn.adaptライブラリからmlnnを使用しています。関数を予測する出力は、int型の疎行列です。私は print(output)Pythonでint型の疎行列を反復する方法

のような出力を印刷しようとすると、

mlk=mlknn.MLkNN(k=10) 
mlk.fit(training_M,Y_train) 
output=mlk.predict(testing_M) 

は、それは私が唯一の1つの出力、すなわち

(0, 1120) 1 

示ししかし、私は完全な行列を読んで、非ゼロ値を見つける必要があります。

私は

output[2][4] 

をすれば、それは私はこのエラーを回避し、すべての非ゼロ値の行と列のインデックスを取得できますかRow Index out of bound erro

私を示して?

答えて

0

この印刷物は圧縮された形であり、その行列に0以外の値が1つしかないことを意味します。そうでなければ、より多くの出力があります。

output.nnzを呼び出すことでこれを再確認できます。

メモリが十分にある場合は、output.todense()を使用して、古典的な非疎指数配列を取得できます。

それ以外の場合は、ドキュメントを参照してより効率的に作業する方法を確認してください。

scipy sparse docs

備考:あなたの例output[2][4]はあなたがnumpyの/ scipyのダウンロードに新しいものと私は非常に彼らのドキュメントを介さをお勧めすることを示しています。 2次元配列/行列のインデックス付けは、output[2,4]

のように行います
関連する問題