У меня есть тензор с тремя измерениями и тремя классами (0: фон, 1: первый класс, 2: второй класс). Я хотел бы найти подключенные кластеры и назначить метки выбросов, выполнив большинство голосов. Пример 2D:
import numpy as np
data = np.array([[0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0],
[0, 1, 0, 0, 0, 0, 0],
[1, 1, 1, 0, 0, 1, 2],
[1, 2, 0, 0, 2, 2, 2],
[0, 1, 0, 0, 0, 2, 0],
[0, 0, 0, 0, 0, 0, 0],])
должен быть изменен на
data = np.array([[0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0],
[0, 1, 0, 0, 0, 0, 0],
[1, 1, 1, 0, 0, 2, 2],
[1, 1, 0, 0, 2, 2, 2],
[0, 1, 0, 0, 0, 2, 0],
[0, 0, 0, 0, 0, 0, 0],])
. Достаточно увидеть связанные области как один кластер, считая количество появлений меток. Я не ищу какой-либо метод машинного обучения.