@MeOnHabr

Как сравнить 2 числовых последовательности на схожесть в %?

Да, надо было сначала хорошо обдумать самому, а потом уже спрашивать. Как-то спонтанно появилась мысль спросить помощи у общества, в результате имеем то, что имеем :)

Попытка номер 2:

Задача: Имеется некоторый идеальный шкальный профиль (просто последовательность чисел по разным шкалам), с которым надо сравнить результат, полученный испытуемым и получить процент сходства.

На этом имеющиеся вводные и закончились. Чтобы ограничить количество проблем, можно попробовать ограничивать результат с одной стороны, т.е. если испытуемый набрал 5, а в идеале требуется только 3, то считаем, что критерий он полностью удовлетворил и это 100%.

Получилось что-то подобное, но не оставляет ощущение, что это немного не то, что запрашивалось, т.к. решение ну совсем уж в лоб:
5e81d4b4d3262982467272.png

Остаются, правда, вопросы быстродействия, т.к. в результате испытуемого должно быть 90-100 чисел и их надо будет сравнить с приблизительно 300 другими последовательностями и выплюнуть результат. Есть подозрение, что недорогой vps подавится при выдёргивании каждой последовательности из бд, если к нему обращаться более-менее регулярно.

-------------------
Привет.

Есть несложная, на первый взгляд, задача: сравнить две последовательности чисел (в массивах, например, но не принципиально, можно хоть в чём) на их схожесть в %.

Т.е. дано:

Последовательность 1 - 1 2 3 4 5 6
Последовательность 2 - 4 3 5 6 1 1

Сравнить надо не в лоб, сколько чисел совпадают, а насколько каждая позиция последовательности 2 отличается такой же в последовательности 1 и посчитать % сходства с учётом этого. Максимально возможное значение для каждой позиции известно заранее.

Что-то готовое подходящее можно найти или копать в сторону самостоятельного придумывания? Покурил difflib, вроде не подойдёт.
  • Вопрос задан
  • 95 просмотров
Пригласить эксперта
Ответы на вопрос 2
GavriKos
@GavriKos
Вы математически нормально опишите. Скорее всего там нет никакой сложности реализовать, но математика вычисления этой вещи непонятна.
Вот прям на вашем примере и распишите.
Ответ написан
@zexer
Если я правильно вас понял, то можно сделать так:
5e8183e5c9361539642849.jpeg
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы