Tôi sẽ giải thích vấn đề của tôi bằng một ví dụ. Giả sử bạn muốn dự đoán thu nhập của một cá nhân được cung cấp một số thuộc tính: {Tuổi, Giới tính, Quốc gia, Vùng, Thành phố}. Bạn có một tập dữ liệu đào tạo như vậy
train <- data.frame(CountryID=c(1,1,1,1, 2,2,2,2, 3,3,3,3),
RegionID=c(1,1,1,2, 3,3,4,4, 5,5,5,5),
CityID=c(1,1,2,3, 4,5,6,6, 7,7,7,8),
Age=c(23,48,62,63, 25,41,45,19, 37,41,31,50),
Gender=factor(c("M","F","M","F", "M","F","M","F", "F","F","F","M")),
Income=c(31,42,71,65, 50,51,101,38, 47,50,55,23))
train
CountryID RegionID CityID Age Gender Income
1 1 1 1 23 M 31
2 1 1 1 48 F 42
3 1 1 2 62 M 71
4 1 2 3 63 F 65
5 2 3 4 25 M 50
6 2 3 5 41 F 51
7 2 4 6 45 M 101
8 2 4 6 19 F 38
9 3 5 7 37 F 47
10 3 5 7 41 F 50
11 3 5 7 31 F 55
12 3 5 8 50 M 23
Bây giờ, giả sử tôi muốn dự đoán thu nhập của một người mới sống ở Thành phố 7. Tập huấn luyện của tôi có 3 mẫu với những người ở Thành phố 7 (giả sử đây là rất nhiều) vì vậy tôi có thể sử dụng thu nhập trung bình ở Thành phố 7 để dự đoán thu nhập của cá nhân mới này.
Bây giờ giả sử tôi muốn dự đoán thu nhập của một người mới sống ở Thành phố 2. Tập huấn luyện của tôi chỉ có 1 mẫu với Thành phố 2, vì vậy thu nhập trung bình ở Thành phố 2 có lẽ không phải là một công cụ dự đoán đáng tin cậy. Nhưng tôi có thể sử dụng thu nhập trung bình ở Vùng 1.
Ngoại suy ý tưởng này một chút, tôi có thể chuyển đổi tập dữ liệu đào tạo của mình thành
Age Gender CountrySamples CountryIncome RegionSamples RegionIncome CitySamples CityIncome
1: 23 M 4 52.25 3 48.00 2 36.5000
2: 48 F 4 52.25 3 48.00 2 36.5000
3: 62 M 4 52.25 3 48.00 1 71.0000
4: 63 F 4 52.25 1 65.00 1 65.0000
5: 25 M 4 60.00 2 50.50 1 50.0000
6: 41 F 4 60.00 2 50.50 1 51.0000
7: 45 M 4 60.00 2 69.50 2 69.5000
8: 19 F 4 60.00 2 69.50 2 69.5000
9: 37 F 4 43.75 4 43.75 3 50.6667
10: 41 F 4 43.75 4 43.75 3 50.6667
11: 31 F 4 43.75 4 43.75 3 50.6667
12: 50 M 4 43.75 4 43.75 1 23.0000
Vì vậy, mục tiêu là bằng cách nào đó kết hợp trung bình CityIncome, RegionIncome và CountryIncome trong khi sử dụng số lượng mẫu đào tạo cho từng mẫu để đưa ra trọng số / độ tin cậy cho từng giá trị. (Lý tưởng nhất, vẫn bao gồm thông tin từ Tuổi và Giới tính.)
Lời khuyên để giải quyết loại vấn đề này là gì? Tôi thích sử dụng các mô hình dựa trên cây như rừng ngẫu nhiên hoặc tăng cường độ dốc, nhưng tôi gặp khó khăn khi làm cho các mô hình này hoạt động tốt.
CẬP NHẬT
Đối với bất kỳ ai sẵn sàng chịu đựng vấn đề này, tôi đã tạo dữ liệu mẫu để kiểm tra giải pháp đề xuất của bạn tại đây .