首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用插入符号包的Knn补偿在数据中引入了负值

使用插入符号包的Knn补偿在数据中引入了负值
EN

Stack Overflow用户
提问于 2018-09-04 08:13:28
回答 2查看 1.8K关注 0票数 0

我一直在尝试对R中的一些缺失值进行KNN补偿,但它在列中引入了负值,而这些列根本不应该有任何负值,比如Age。(Age确实有缺失值,但我不希望它被负值估算)。

下面是我的代码:

代码语言:javascript
运行
复制
#KNN Imputation:
preProcess_missingdata_model <- preProcess(train, method='knnImpute')
preProcess_missingdata_model

# Use the imputation model to predict the values of missing data points
library(RANN)  # required for knnImpute
train <- predict(preProcess_missingdata_model, newdata = train) 

我应该做些什么来克服这些负值呢?任何建议都将不胜感激。谢谢。

EN

回答 2

Stack Overflow用户

发布于 2018-09-04 10:55:21

您可以明确地告诉preProcessing您想要归因于哪些列。这可以按如下方式完成:

preProcess_missingdata_model <- preProcess(train[,c('Embarked', 'Sex')], method='knnImpute')

您甚至可以通过在逗号前包含一个列表来指定您想要分配的特定行。

票数 0
EN

Stack Overflow用户

发布于 2021-01-10 17:22:26

Caret包的KnnImpute会自动居中和缩放您的数据,因此负值是正常的(实际上,如果您查看函数的结果,您就可以看到它)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52157299

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档