2013-06-11 42 views
9

Tôi có khoảng 4000 bài đăng trên blog với tôi. Tôi muốn rank tất cả các bài viết theo các giá trị sauThuật toán xếp hạng

Upvote Count => P 
Comments Recieved => C 
Share Count => S 
Created time in Epoch => E 
Follower Count of Category which post belongs to => F (one post has one category) 
User Weight => U (User with most number of post have biggest weight) 

Tôi đang mong đợi câu trả lời trong mã giả.

+0

Bỏ phiếu để đóng quá rộng. –

Trả lời

19

Sự cố của bạn rơi vào danh mục regression (link). Trong thuật ngữ học máy, bạn có một bộ sưu tập gồm features (link) (mà bạn liệt kê trong câu hỏi của bạn) và bạn có một giá trị mà bạn muốn dự đoán cho các tính năng đó.

Những gì Ted Hopp đã đề xuất về cơ bản là một linear predictor function (link). Đó có thể là một mô hình quá đơn giản cho kịch bản của bạn.

Cân nhắc sử dụng logistic regression (link) cho sự cố của bạn. Đây là cách bạn sẽ sử dụng nó.

1. tạo của bạn mô hình học tập dữ liệu

ngẫu nhiên chọn một số bài đăng trên blog m khỏi nhóm của 4000. Nó phải là một tập hợp đủ nhỏ để bạn có thể thoải mái xem xét thông qua những bài đăng trên blog m bằng tay.

Đối với mỗi bài đăng trên blog m, ghi điểm số "tốt" với số từ 0 đến 1. Nếu được, bạn có thể nghĩ về điều này khi sử dụng 0, 1, 2, 3, 4 "sao" cho các giá trị 0, 0.25, 0.5, 0.75, 1.

Bây giờ bạn có m bài đăng trên blog mà mỗi bài đăng có một tập hợp các tính năng và điểm số.

Bạn có thể mở rộng tùy chọn bộ tính năng để bao gồm các tính năng có nguồn gốc - ví dụ: bạn có thể bao gồm lôgarit của "Số đếm tối đa", "Nhận xét", "Số lượt chia sẻ" và "Số người theo dõi", và bạn có thể bao gồm logarit của số giờ giữa "now" và "Created Time".

2. tìm hiểu mô hình của bạn

Sử dụng độ dốc để tìm mô hình hồi quy logistic phù hợp với tập dữ liệu mô hình học tập của bạn. Bạn nên phân chia tập dữ liệu của mình thành đào tạo, xác thựckiểm tra để bạn có thể thực hiện các bước tương ứng đó trong quá trình học mô hình.

Tôi sẽ không giải thích thêm về phần này vì internet có đầy đủ chi tiết và đó là quy trình đóng hộp.

liên kết

Wikipedia:

3. áp dụng mô hình của bạn

Sau khi học được mô hình hồi quy logistic của bạn, bây giờ bạn có thể áp dụng nó để dự đoán tỉ số làm thế nào "tốt" một bài đăng blog mới là! Đơn giản chỉ cần tính toán tập hợp các tính năng (và các tính năng có nguồn gốc), sau đó sử dụng mô hình của bạn để ánh xạ các tính năng đó tới một điểm số.

Một lần nữa, internet có đầy đủ các chi tiết cho phần này, đây là một quá trình đóng hộp.


Nếu bạn có bất kỳ câu hỏi nào, hãy đảm bảo hỏi!

Nếu bạn quan tâm đến việc tìm hiểu thêm về học máy, bạn nên cân nhắc tham gia the free online Stanford Machine Learning course on Coursera.org. (Tôi không liên kết với Stanford hoặc Coursera.)

+0

Tôi thực sự cảm thấy mô hình này là quá mức cần thiết. Như Ted đã đề xuất bạn muốn tìm hiểu xem mỗi yếu tố/tính năng quan trọng như thế nào và tính toán điểm số. Đây chính là điều mà câu trả lời này yêu cầu thực hiện ở bước 1. Làm thế nào bạn gán một thứ hạng cho các bài đăng trên blog trong tập huấn luyện một cách hợp lý và nhất quán mà không gán một số trọng số cho các tính năng liên quan. Bây giờ nếu bạn đã gán trọng số rõ ràng thì vấn đề đã được giải quyết, tại sao sử dụng thuật toán hồi quy để "dự đoán" thứ hạng. – Gmu

+1

@Gmu Sau khi ăn tại nhà hàng, xem phim, đọc sách, v.v., bạn có thể đánh giá trải nghiệm tổng thể trên thang điểm từ 0 đến 5 sao không? Khi bạn xếp hạng nhà hàng, bạn có ý thức dựa vào xếp hạng của mình trên các tính năng cấp thấp như "Nội dung chất béo", "Nội dung Carbohydrate", "Thân thiện với máy chủ", v.v ... sau đó kết hợp chúng với trọng số mà bạn đã quyết định một cách có ý thức? Chắc là không. Tuy nhiên, bạn có thể đánh giá các nhà hàng "hợp lý và nhất quán" (ở một mức độ nào đó). –

+0

cảm ơn vì đã làm rõ. do đó, nó đưa ra những trọng lượng tiềm ẩn mà tâm trí của bạn tiềm thức được chỉ định. Định lượng tính nhất quán giả định về chất lượng trong các phản hồi/điểm số định tính. – Gmu

9

Tôi muốn đề xuất mức trung bình có trọng số của từng điểm cho mỗi bài đăng trên blog. Chỉ định trọng số phản ánh cả tầm quan trọng tương đối của từng giá trị và sự khác biệt về tỷ lệ giá trị (ví dụ: E sẽ là một số rất lớn so với các giá trị khác). Sau đó, tính toán:

rank = wP * P + wC * C + wS * S + wE * E + wF * F + wU * U; 

Bạn không cung cấp bất kỳ thông tin nào về tầm quan trọng tương đối của từng giá trị hoặc thậm chí giá trị trung bình về mặt xếp hạng. Vì vậy, nó không thể cụ thể hơn về điều này. (Thời gian tạo cũ hơn có đẩy bài đăng lên hoặc xuống trong xếp hạng không? Nếu xuống, thì wE phải là số âm.)

Các vấn đề liên quan