Tìm kiếm một thuật toán xếp hạng ủng hộ các mục mới hơn


9

Tôi đang làm việc trên một hệ thống xếp hạng sẽ xếp hạng các mục dựa trên số phiếu đã được bỏ trong một khoảng thời gian. Tôi đang tìm kiếm một thuật toán sẽ tính toán một số điểm giống như một mức trung bình, tuy nhiên tôi muốn nó có lợi cho các điểm số mới hơn các điểm số cũ hơn. Tôi đã nghĩ về một cái gì đó dọc theo dòng:

score1+ 2score2 + + nscoren1+2++n

Tôi đã tự hỏi nếu có các thuật toán khác thường được sử dụng cho các tình huống như thế này và nếu vậy, bạn có thể vui lòng giải thích chúng?



2
Điều gì về một trung bình di chuyển có trọng số? vi.wikipedia.org/wiki/Moving_alusive/ WEighted_moving_alusive
Joe

Câu trả lời:


7

Bạn có thể sử dụng bất kỳ chức năng nào có trọng lượng thấp hơn cho các mục cũ hơn. Ví dụ: nếu dữ liệu bao gồm điểm số, , trong đó chỉ số tương ứng với 'thời gian đến' của mục nhập, nghĩa là các mục mới hơn có chỉ số lớn hơn, thì bạn có thể sử dụng hàm trọng số tăng khi tăng Vì vậy, bất kỳ chức năng 'tăng' sẽ làm. Những ví dụ bao gồm: is1,,sni

  • f(x)=ex
  • f(x)=logx
  • f(x)=x
  • f(x)=x2

Vân vân.

Sau đó, chức năng của bạn sẽ là

i=1nsif(i)i=1nf(i) .

Trên thực tế, sẽ có ý nghĩa hơn khi cung cấp cho mục nhập mới nhất chỉ số thấp nhất và làm cho hàm trọng số giảm. Bằng cách này, bạn có thể điều chỉnh nó bằng cách đặt trọng số mà bạn muốn cung cấp cho phần tử đầu tiên.

Wikipedia có một mục về các hàm trọng số, một số ví dụ có thể được tìm thấy trên trang về các phương tiện có trọng số .


cảm ơn bạn rất nhiều, đây là những gì tôi đang tìm kiếm. Rất nhiều thông tin
Logan Besecker

Tôi có một câu hỏi nhanh, tôi biết rằng '∑i' là tổng của 'i' và 'f (i)' là hàm (như 'f (x) = logx') đối với 'i'. Nhưng 'si' đại diện cho cái gì? cảm ơn rất nhiều vì sự giúp đỡ của bạn
Logan Besecker

1
si là điểm số của bạn.
Dave Clarke
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.