Генерация рейтинга недавности - PullRequest
0 голосов
/ 17 октября 2010

У меня есть таблица данных, которая периодически обновляется другой службой. Я регистрируюсь, когда эти обновления происходят в базе данных. Я бы хотел как-то оценить самые последние обновленные записи данных.

Я не хочу выбирать именно самые последние, я бы тоже хотел отсортировать аккаунт для предыдущих обновлений. Я попытаюсь объяснить, что я имею в виду на примере. Предположим, у меня есть 3 элемента данных

Item |  Updates (Days Ago)
One  |  30, 25, 19, 1
Two  |  5, 3, 2
Three|  30, 25, 20, 15, 10, 5

Итак, судя по приведенному выше списку, я бы хотел сначала получить Three, потому что он выглядит наиболее последовательным и имеет наибольшее количество обновлений. Затем я хотел бы two, потому что он был активен в последнее время. Затем, наконец, one, поскольку, несмотря на самое последнее обновление, в временном окне iterim было мало обновлений.

Я не обрисовал в общих чертах, как будет работать мой алгоритм, поскольку я пока не знаю, но я надеюсь, что объяснил, чего я в целом надеюсь достичь.

Я явно не ищу реализацию, мне нужно указать полезное направление. Существуют ли конкретные алгоритмы, решающие эту проблему, или аналогичная проблема?

1 Ответ

0 голосов
/ 17 октября 2010

Вы можете создать некую форму взвешенного уравнения.Допустим, вам нужны следующие критерии:

  • Количество обновлений (numUpdates)

  • 1 / дней с момента последнего сообщения (lastPost)

  • Среднее количество обновлений в день с момента создания (avgUpdates)

Затем вы можете присвоить каждому критерию определенный вес.Например,

рейтинг = (weight1 * numUpdates) + (weight2 * lastPost) + (weight3 * avgUpdates)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...