У меня есть два списка элемента
a = [1,2,3,2,3,1,1,1,1,1]
b = [3,1,2,1,2,3,3,3,3,3]
, и я пытаюсь однозначно сопоставить элемент от a до b, мой ожидаемый результат такой:
1: 3
2: 1
3: 2
Итак, япопытался построить матрицу присваивания и затем использовать scipy.linear_sum_assignment
a = [1,2,3,2,3,1,1,1,1,1]
b = [3,1,2,1,2,3,3,3,3,3]
total_true = np.unique(a)
total_pred = np.unique(b)
matrix = np.zeros(shape=(len(total_pred),
len(total_true)
)
)
for n, i in enumerate(total_true):
for m, j in enumerate(total_pred):
matrix[n, m] = sum(1 for item in b if item==(i))
Я ожидал, что матрица будет:
1 2 3
1 0 2 0
2 0 0 2
3 6 0 0
Но вывод:
[[2. 2. 2.]
[2. 2. 2.]
[6. 6. 6.]]
Какую ошибку я сделал здесь?Большое спасибо