Я работаю над простым алгоритмом KNN, в котором я хочу добавить оператор if, который разрешает связь (если имеется равное количество соседей из нескольких разных классов вокруг контрольной точки). Проблема возникает, когда я хочу узнать, встречается ли максимальное значение массива более одного раза, но я не могу найти функцию, которая делает это. Что я хочу:
unique, counts = np.unique(k_nearest_labels, return_counts=True)
if (len(unique)>1) and (frequency of max(counts) in counts > 1)
return the nearest of the tied points
Где counts
- частота чисел в unique
. Как мне решить второе условие if iftentent? Или есть другое решение, которое я пропускаю.