сортировка ссылок по нескольким критериям - PullRequest
2 голосов
/ 29 июня 2010

Так что я уверен, что кто-то уже сделал нечто подобное.У меня есть собственный список ссылок, и я отслеживаю, сколько раз на них нажимали и когда в последний раз их нажимали.Я хочу как-то с пользой их отсортировать, основываясь на обоих факторах.Кто-нибудь может указать мне на существующее решение или еще лучше обсудить его?У меня есть несколько идей о том, как это можно реализовать, но я ожидаю, что ответ будет проще.ИЗМЕНЕНО ДЛЯ УТОЧНЕНИЯ (использовал телефон для отправки сообщения):

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

Day ... # Clicks are<br> <1 ..... Full Value<br> <2 ..... Halved value<br> <4 ..... 1/4th value<br> <8 ..... 1/8th value

Исходя из того, что как по времени, так и по частоте кликов, было бы более полезно иметь их первыми в списке.

1 Ответ

3 голосов
/ 29 июня 2010

Один из самых простых способов - это просто средневзвешенное значение обоих значений. Сначала вы должны нормализовать их в соответствии с их максимальным значением, например

  • найти максимальное количество кликов между всеми ссылками
  • рассчитать нормализованное значение кликов как clicks / maxClicks, это будет колебаться от 0,0 до 1,0
  • выберите максимальный порог старости ваших ссылок (например, 4 месяца)
  • вычислите нормализованное значение «свежести» как (now - lastVisited) / threshold, отбрасывая все элементы, которые были нажаты до вашего порога
  • вычислить взвешенное среднее значение как normalizedClickValue * alpha + normalizedFreshness * (1,0 - alpha)

Вы можете начать с чего-то подобного, а затем настроить его в соответствии со своими потребностями.

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