2009-06-15 26 views
9

Câu hỏi này có liên quan nhiều hơn đến logic hơn bất kỳ ngôn ngữ lập trình nào. Nếu câu hỏi không phù hợp với diễn đàn, vui lòng cho tôi biết và tôi sẽ xóa câu hỏi này.Cách tính điểm?

Tôi phải viết một logic để tính toán điểm số cho blog cho trang web Giải thưởng Blog. Một blog có thể được đề cử cho nhiều hạng mục giải thưởng và được đánh giá ngang hàng hoặc đánh giá bởi Ban giám khảo trên thang điểm từ 1 đến 5 (-1 để chỉ ra một blog mà họ hoàn toàn không thích). Bây giờ, một blog có thể được đánh giá bởi một hoặc nhiều Jurors. Một tiêu chí trong khi tính toán điểm số cuối cùng cho một blog là nếu một blog được đánh giá tích cực bởi nhiều người hơn thì nó sẽ nhận được nhiều trọng số hơn (và ngược lại). Tương tự như vậy một blog đánh giá -1 thậm chí bởi một Juror nên có điểm số của nó bị ảnh hưởng (-1 là một loại Veto ở đây). Cuối cùng, tôi cũng muốn có một số điểm bổ sung dựa trên xếp hạng Technorati của blog (để điểm số cuối cùng dựa trên kết quả xếp hạng của Juror + xếp hạng Technorati).

Ví dụ: Blog được xếp hạng trong danh mục A cho tổng số 6 Jurors. 2 đánh giá nó ở mức 3, 3 đánh giá nó ở tỷ lệ 2 và 1 ở mức 4. (Tôi đã sử dụng để tính điểm số là (2 * 3 + 3 * 2 + 1 * 4)/6 = 16/6 = 2,67 để có được trọng số trung bình nhưng tôi không hài lòng với điều này, chủ yếu là vì nó không hoạt động tốt khi xếp hạng của Juror là -1. Hơn nữa, tôi cũng cần thêm tiêu chí xếp hạng của Technorati nữa).

Bạn có thể giúp tôi quyết định cách tốt nhất để tính toán điểm số cuối cùng (giữ phương pháp xếp hạng giống như trên không thể thay đổi ngay bây giờ)?

+0

Câu hỏi này có vẻ ổn cho SO. Bạn đang yêu cầu thuật toán 'tốt nhất' để chỉ định điểm số. – paxdiablo

+1

Câu hỏi thú vị, +1 – Mattis

+0

tại sao bạn không sử dụng 'if (điểm bao gồm -1) {xóa khỏi cạnh tranh} 'trước khi ghi bàn? Đó là nhiều hơn hoặc ít hơn những gì một quyền phủ quyết có nghĩa là, phải không? – naught101

Trả lời

0

bạn có thể làm việc trong nội bộ với điểm số từ 0 đến 6. Chỉ cần thực hiện một ca một, tính điểm và chuyển lại. Tôi đoán -1 có một số gián đoạn effekt trên tính toán của bạn.

5

Nếu bạn muốn tăng trọng số của xếp hạng -1 mạnh hơn, hãy sử dụng cùng một phép tính điểm trung bình nhưng thay thế -10 bất cứ khi nào bạn thấy -1. Bạn có thể chọn một giá trị khác với -10 nếu bạn không muốn đánh giá tiêu cực về trọng số.

+0

Cảm ơn Greg.Bạn đề nghị gì về bảng xếp hạng Technorati? Và bạn có hài lòng với cách tính trung bình trọng số được tính toán không? – dchucks

+0

Bạn chưa chỉ định thứ hạng Technorati là gì. Nó cũng là một giá trị giữa -1 và 5? Hay nó là cái gì khác? Làm thế nào bạn muốn trọng lượng nó chống lại các bảng xếp hạng của các hội thẩm của bạn? Đây là các loại câu hỏi bạn sẽ cần phải trả lời để xác định cách sử dụng xếp hạng đó. –

+0

Greg, Technorati xếp hạng là một điểm số được đưa ra bởi Technorati.com đến một trang web dựa trên các yếu tố khác nhau như giao thông, Linkback vv Giảm giá trị xếp hạng, tốt hơn là trang web. Vì vậy, một trang web với xếp hạng Technorati 3000 là tốt hơn so với một với một thứ hạng 40000. – dchucks

4

Tính điểm dựa trên phiếu bầu sẽ khá dễ dàng. Thêm xếp hạng technorati sẽ là một phần khó khăn.

tôi đã thực hiện một kịch bản nhanh chóng mà tính toán một số điểm dựa trên thuật toán này

score = (vote_sum - (vetos * veto_weight))/number_of_votes 

bạn có thể thay đổi các tham số được url để có được giá trị khác nhau

Có rất nhiều mối quan hệ, vì vậy có thể bạn có thể sử dụng Xếp hạng blog technorati dưới dạng công cụ ngắt kết nối

+0

Cảm ơn Galen đã chứng minh điều đó bằng cách sử dụng tập lệnh. – dchucks

+0

+1 cho kịch bản đẹp :) – Mattis

4

Bạn có thể xem xét sử dụng giới hạn dưới của khoảng thời gian Wilson cho xếp hạng của mình.

Xem http://www.evanmiller.org/how-not-to-sort-by-average-rating.html để biết thêm chi tiết. Mặc dù, ở đó, nó được sử dụng cho trường hợp Bernoulli đơn giản hơn.

Ý chính là nếu bạn có nhiều xếp hạng, bạn có mức độ tin cậy cao hơn về điểm số của mình. Sau đó bạn có thể kết hợp điểm số từ xếp hạng địa phương của bạn và xếp hạng Technorati, bằng cách cân nhắc điểm số theo số cử tri tại địa phương và trên Technorati.

Đối với mong muốn một phiếu bầu đơn có tác động lớn, chỉ cần remap nó với một giá trị âm lớn tỷ lệ thuận với tác động mong muốn của bạn trước khi cho nó vào công thức tính điểm của bạn.