报错:
看了好久也找不出问题 这还是从github上下载的源代码
看了好久也找不出问题 这还是从github上下载的源代码
return sum([w[i,j]for i,j in ind])*1.0 /y_pred.size
#其中的for i, j in ind这句话有问题
#只有ind数组为n行2列才可以顺利解包,ind需要类似于[[1,2],[3,4],[5,6],...]这样的数组
#如果ind数组的列数为3或者其他,此处都会报错,所以你应该看一下ind数组每一行里面哪些数据是你要的
#我搜了一下,linear_sum_assignment的使用如下,所以ind是一个2行n列的数组,2行分别表示一组行索引和一个对应的列索引
>>> cost = np.array([[4, 1, 3], [2, 0, 5], [3, 2, 2]])
>>> from scipy.optimize import linear_sum_assignment
>>> row_ind, col_ind = linear_sum_assignment(cost)
>>> col_ind
array([1, 0, 2])
可能的改法:return sum([w[i,j]for i,j in zip(ind[0], ind[1])])*1.0 /y_pred.size