2016-07-07 4 views
0

Вот набор данных я создал:Как найти недостающее значение дохода с использованием Knn в R

ID <- c(NA,1,2,3) 
Age <- c(30,25,33,35) 
Asset_Size <- c(60,50,60,80) 
Income <- c(NA,100000,90000,150000) 
chart1 <- data.frame(ID,Age,Asset_Size,Income) 

Я пытаюсь найти недостающее значение дохода для клиента х, если K = 1 и метод = «невзвешенное голосовать». так что я пытаюсь найти правильный код Knn. Вот что я пытался до сих пор.

knn(chart1,k = 1, prob=TRUE) 

Он ищет тест, поезд, и п. Не уверен, куда идти оттуда. Я ценю любую помощь.

ответ

1

Вашего исходный кадр данных выглядит следующим образом:

chart1 
# ID Age Asset_Size Income 
# 1 NA 30   60  NA 
# 2 1 25   50 100000 
# 3 2 33   60 90000 
# 4 3 35   80 150000 

Так что вы ищете прогнозирование доходов для клиента X, с информацией о Age и Asset_Size с knn, это просто означает, чтобы выяснить, какие из известных клиент 1,2,3X ближайший к.

Так Обучающий набор данных будет быть Age и Asset_Size для клиентов 1,2,3:

train <- chart1[2:4, 2:3] 

и тестирование набора данных будет одним из Age и Asset_Size для клиента X:

test <- chart1[1, 2:3] 

кластер будет будь то ID, так как вы делаете один из ближайших соседей:

cl <- chart1[2:4, 1] 

Передайте эти данные, установленные в knn, как указано документы, вы получите:

knn(train, test, cl, k = 1, prob = T) 
[1] 2 
attr(,"prob") 
[1] 1 
Levels: 1 2 3 

Так X находится ближе всего к клиенту 2 и прогнозируемого дохода должен быть 90000, что имеет смысл, если вы посмотрите на их Age и Asset_size информация, так как они самые близкие.

+0

Эй, если у вас есть свободное время, вы можете взглянуть на мой другой вопрос? Благодарю. http://stackoverflow.com/questions/38253784/how-to-find-the-missing-value-using-kknn-not-knn-in-r?noredirect=1#comment63928811_38253784 – Tomas

Смежные вопросы