2015-11-13 17 views
5

Tôi sử dụng triển khai python của XGBoost. Một trong những mục tiêu là rank:pairwise và nó giảm thiểu tổn thất theo cặp (Documentation). Tuy nhiên, nó không nói bất cứ điều gì về phạm vi của đầu ra. Tôi thấy con số từ -10 đến 10, nhưng nó có thể là nguyên tắc-inf để inf?Đầu ra của XGboost sử dụng 'rank: pairwise' là gì?

+0

u tìm thấy đầu ra là gì? –

+0

Không. Tôi chưa tìm được câu trả lời. –

Trả lời

1

câu hỏi hay. bạn có thể có một cái nhìn trong kaggle competition:

Thực tế, trong phần Học để xếp hạng, chúng tôi đang cố gắng dự đoán điểm số tương đối cho từng tài liệu cho một truy vấn cụ thể. Đó là, đây không phải là một vấn đề hồi quy hoặc vấn đề phân loại. Do đó, nếu một tài liệu, gắn liền với một truy vấn, nhận được một số dự đoán tiêu cực, nó có nghĩa và chỉ có nghĩa là nó tương đối ít so với truy vấn, khi so sánh với các tài liệu khác, với điểm số dương.

+0

hy vọng bây giờ là ok –

0

Nếu tôi hiểu chính xác qns của bạn, bạn có nghĩa là đầu ra của hàm dự đoán trên mô hình được trang bị xếp hạng: pairwise.

Dự đoán đưa ra biến được dự đoán (yhat).

Điều này giống với reg: tuyến tính/nhị phân: hậu cần vv. Sự khác biệt duy nhất là reg: tuyến tính xây dựng cây thành phút (rmse (y, yhat)), trong khi xếp hạng: ghép đôi cây để tối đa (bản đồ (xếp hạng (y), xếp hạng (yhat))). Tuy nhiên, đầu ra luôn luôn là yhat.

Tùy thuộc vào giá trị của các biến phụ thuộc của bạn, đầu ra có thể là bất kỳ thứ gì. Nhưng tôi thường mong đợi đầu ra sẽ nhỏ hơn nhiều so với biến phụ thuộc. Đây thường là trường hợp không nhất thiết phải phù hợp với các giá trị dữ liệu cực đoan, cây chỉ cần tạo ra các yếu tố dự đoán đủ lớn/nhỏ để được xếp hạng đầu tiên/cuối cùng trong nhóm

0

. Tuy nhiên, điểm số chỉ hợp lệ để xếp hạng trong các nhóm của riêng họ. Vì vậy, chúng tôi phải đặt các nhóm cho dữ liệu đầu vào.

Để xếp hạng esay, hãy tham khảo dự án của tôi xgboostExtension

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