예를 들어 내 문제를 설명하겠습니다. {나이, 성별, 국가, 지역, 도시}와 같은 속성이 주어진 개인의 소득을 예측한다고 가정합니다. 당신은 이와 같은 훈련 데이터 세트를 가지고 있습니다
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
이제 City 7에 사는 새로운 사람의 소득을 예측하고 싶다고 가정 해 봅시다. 제 훈련 세트는 City 7에있는 사람들과 함께 무려 3 개의 샘플을 가지고 있습니다. 이 새로운 개인의 소득을 예측하십시오.
이제 City 2에 사는 새로운 사람의 소득을 예측하려고한다고 가정하겠습니다. 내 훈련 세트에는 City 2의 표본이 하나만 있으므로 City 2의 평균 수입은 신뢰할 수있는 예측 변수가 아닐 수 있습니다. 그러나 아마도 지역 1의 평균 수입을 사용할 수 있습니다.
이 아이디어를 약간 외삽하면 훈련 데이터 세트를
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
따라서 목표는 평균 CityIncome, RegionIncome 및 CountryIncome을 어떻게 결합하여 각 값에 대한 가중치 / 신뢰성을주기 위해 각 훈련 샘플 수를 사용하는 것입니다. (아직도 여전히 연령과 성별의 정보를 포함합니다.)
이 유형의 문제를 해결하기위한 팁은 무엇입니까? 랜덤 포레스트 또는 그라디언트 부스팅과 같은 트리 기반 모델을 사용하는 것이 더 좋지만 제대로 작동하지 못했습니다.
최신 정보
이 문제에 기꺼이 응하려는 사람은 여기에서 제안 된 솔루션을 테스트하기 위해 샘플 데이터를 생성 했습니다 .