我正在使用skmultilearn.adapt库中的mlnn来解决我的一个分类问题。预测函数给出的输出是int类型的稀疏矩阵。
mlk=mlknn.MLkNN(k=10)
mlk.fit(training_M,Y_train)
output=mlk.predict(testing_M)
当我尝试打印输出时
print(output)
(0, 1120) 1
但我需要阅读完整矩阵并找到非零值。
如果我这样做
output[2][4]
它显示了我Row Index out of bound erro
如何避免此错误并获取所有非零值的行和列索引?
答案 0 :(得分:0)
此打印是一种浓缩形式,表示该矩阵中只有一个非零值,否则会有更多输出。
您可以通过拨打output.nnz
来仔细检查。 (属性,不是功能)
如果你有足够的内存,你可以使用output.todense()
来获得经典的非稀疏numpy数组。
否则,请查阅文档以了解如何更有效地使用这些文档。
备注:您的示例output[2][4]
表明您是numpy / scipy的新手,我强烈建议您浏览他们的文档。索引2d-数组/矩阵就像output[2,4]