Я вычислил сходство между файлами вредоносных программ с использованием Bindiff, соответственно построил матрицу подобия, основанную на сравнении попарного сходства. Я хочу сгруппировать результаты, используя scipy.cluster.hierarchy.linkage(y, method='single', metric='euclidean')
, но в документации указано, что y должна быть сжатой или избыточной матрицей расстояния. Итак, как я могу преобразовать матрицу подобия (НЕ) в требуемый формат?Каким должен быть вход функции сцепления в scipy?
Где находится this thread упоминается y
может быть верхний треугольник матрицы расстояния. Но я хочу отметить, что порядок сравнения в Bindiff меняет результат так similarity(file1,file2) != similarity(file2,file1)
так как я могу решить эту проблему?
Но матрица подобия, которая у меня есть, не является симметричной, как указано в моем сообщении, это связано с тем, что вычисление привязки зависит от порядка файлов. – Mohannad
Да, опять: вы * необходимо *, чтобы сделать его симметричным с одной из вышеупомянутых функций, например. В противном случае вы не можете группировать. Рассмотрим две точки, но с bindiff 1 resp. 2 - с чем сходство сливается? Выберите один ответ. –