R中的KNN Imputation是使用具有所有属性的行还是仅使用一些属性的行



我正在查看Kaggle中的Pima印第安人数据集。

我一直在考虑输入,以便为我在网上找到的项目添加我自己的转折点,但我不确定我在R中的VIM::knn((函数是否使用了所有属性都存在的行,或者它是否也使用了只有一些属性(字段(存在的行(而不是NA(。

我无法提供明确的答案,因为检查时间太长,但以下是您自己检查的方法。

由于它是开源的,您可以在CRAN页面(VIMCRAN(上下载包的源代码。在这里下载Package源代码:VIM_6.2.2.tar.gz文件。

一旦提取了它,就有了典型的R包文件夹结构。您必须导航到文件夹/R并打开kNN。R文件。

在那里你可以找到kNN函数的源代码-看起来像这样:

kNN <- function(data, variable=colnames(data), metric=NULL, k=5, dist_var=colnames(data),weights=NULL,
numFun = median, catFun=maxCat,
makeNA=NULL,NAcond=NULL, impNA=TRUE, donorcond=NULL,mixed=vector(),mixed.constant=NULL,trace=FALSE,
imp_var=TRUE,imp_suffix="imp", addRF=FALSE, onlyRF=FALSE,
addRandom=FALSE,useImputedDist=TRUE,weightDist=FALSE,
methodStand = "range",
ordFun = medianSamp)

因此,这个函数中的所有内容都可能是相关的。它由几个步骤组成:输入检查,考虑权重,变量的随机森林建模的一个相当大的部分(实现addRF参数(,距离矩阵。。。不幸的是,阅读起来相当复杂,所以你可能会花一些时间来弄清楚所有的部分都在做什么。

最新更新