Я придерживаюсь мнения, отличного от некоторых из тех, кто предоставил ответы, т. Е. Вам необходимо дополнительно уточнить проблему. Уровень абстракции примерно правильный. Дальнейшая спецификация облегчит проблему, но решение будет менее полезным.
Пару лет назад я увидел рисунок на ProgrammableWeb - он сравнивал результаты поиска в Yahoo с результатами того же поиска в Google. Есть много информации для анализа: некоторые результаты находятся в обоих наборах, некоторые - только в одном, и общие результаты будут иметь разные позиции в результатах соответствующего движка, которые так или иначе должны быть показаны.
Мне нравится графика и переопределена его в Matplotlib (научная библиотека черчения Python). Ниже приведен пример использования некоторых случайных точек, а также кода Python, который я использовал для его генерации:
from matplotlib import pyplot as PLT
xvals = NP.array([(2,3), (5,7), (8,6), (1.5,1.8), (3.0,3.8), (5.3,5.2),
(3.7,4.1), (2.9, 3.7), (8.4, 6.1), (7.1, 6.4)])
yvals = NP.tile( NP.array([5,3]), [10,1] )
fig = PLT.figure()
ax1 = fig.add_subplot(111)
ax1.plot(x, y, "-", lw=3, color='b')
ax1.plot(x, y2, "-", lw=3, color='b')
for a, b in zip(xvals, yvals) : ax1.plot(a,b,'-o',ms=8,mfc='orange', color='g')
PLT.axis("off")
PLT.show()
Эта модель обладает некоторыми интересными особенностями: (i) она фактически имеет дело с «сходством» для каждого элемента (вертикально ориентированная линия, соединяющая точки), а не с совокупным сходством; (ii) степень сходства между двумя точками данных пропорциональна углу линии, соединяющей их - 90 градусов, если они равны, с уменьшающимся углом по мере увеличения разности; это очень интуитивно понятно; (iii) случаи, когда точка в одном наборе данных отсутствует во втором наборе данных, легко показать - точка появится на одной из двух линий, но без линии, соединяющей ее с точкой на другой линии.
Эта модель хорошо подходит для сравнения результатов поиска, поскольку у каждого результата поиска есть «оценка» (свой индекс или порядок в списке результатов). Для других типов данных вам, возможно, придется присваивать оценку каждой точке данных - я мог бы предположить, что метрика подобия (в некотором смысле, это фактически порядок результатов поиска, расстояние от верхней части списка)