如何在 R 中使用 knn 找到缺失的收入值
How do I find the missing income value using knn in 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 且方法 =“未加权投票”,我正在尝试查找客户 x 的收入缺失值。
所以我试图找到正确的 knn 代码。到目前为止,这是我一直在尝试的。
knn(chart1,k = 1, prob=TRUE)
它正在寻找测试、训练和 cl。不知道从那里去哪里。感谢您的帮助。
您的原始数据框如下所示:
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,3
X
与哪个已知客户最接近。
所以训练数据集将是 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
信息,这是有道理的,因为他们是最近的。
这是我创建的数据集:
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 且方法 =“未加权投票”,我正在尝试查找客户 x 的收入缺失值。 所以我试图找到正确的 knn 代码。到目前为止,这是我一直在尝试的。
knn(chart1,k = 1, prob=TRUE)
它正在寻找测试、训练和 cl。不知道从那里去哪里。感谢您的帮助。
您的原始数据框如下所示:
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,3
X
与哪个已知客户最接近。
所以训练数据集将是 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
信息,这是有道理的,因为他们是最近的。