R 中的 NearZeroVar 返回 percentUnique > 0 用于常量特征?
NearZeroVar in R returning percentUnique > 0 for constant features?
我对 r(插入符号)中的 NearZeroVar 功能有点吃力。
查看下面附图中的结果。
令我吃惊的是,我的变量在所有样本中只有一个值:
TotalNumberOfJudgements
TotalMonthlyInstallments
参见下面列的 freq 函数。
这些变量的 freqRation = 0
进一步证实了这一点。
那么 percentUnique
是如何计算的 - 为什么函数 returns 2.7% 完全没有方差?
我错过了什么?
percentUnique
表示唯一条目数占总条目数。使用示例:
library(caret)
mtcars$newVar1 = 1
mtcars$newVar2 = c(1,rep(2,nrow(mtcars)-1))
nearZeroVar(mtcars,saveMetrics=TRUE)
freqRatio percentUnique zeroVar nzv
mpg 1.000000 78.125 FALSE FALSE
cyl 1.272727 9.375 FALSE FALSE
disp 1.500000 84.375 FALSE FALSE
hp 1.000000 68.750 FALSE FALSE
drat 1.000000 68.750 FALSE FALSE
wt 1.500000 90.625 FALSE FALSE
qsec 1.000000 93.750 FALSE FALSE
vs 1.285714 6.250 FALSE FALSE
am 1.461538 6.250 FALSE FALSE
gear 1.250000 9.375 FALSE FALSE
carb 1.000000 18.750 FALSE FALSE
newVar1 0.000000 3.125 TRUE TRUE
newVar2 31.000000 6.250 FALSE TRUE
对于 newVar1,我们只有 1 个与您一样的唯一值,因此您得到:
1/nrow(mtcars)
[1] 0.03125
即 3.125
%。同样,newVar2 有 2 个唯一值,所以你得到:
length(unique(mtcars$newVar2))/nrow(mtcars)
[1] 0.0625
我对 r(插入符号)中的 NearZeroVar 功能有点吃力。
查看下面附图中的结果。
令我吃惊的是,我的变量在所有样本中只有一个值:
TotalNumberOfJudgements
TotalMonthlyInstallments
参见下面列的 freq 函数。
这些变量的 freqRation = 0
进一步证实了这一点。
那么 percentUnique
是如何计算的 - 为什么函数 returns 2.7% 完全没有方差?
我错过了什么?
percentUnique
表示唯一条目数占总条目数。使用示例:
library(caret)
mtcars$newVar1 = 1
mtcars$newVar2 = c(1,rep(2,nrow(mtcars)-1))
nearZeroVar(mtcars,saveMetrics=TRUE)
freqRatio percentUnique zeroVar nzv
mpg 1.000000 78.125 FALSE FALSE
cyl 1.272727 9.375 FALSE FALSE
disp 1.500000 84.375 FALSE FALSE
hp 1.000000 68.750 FALSE FALSE
drat 1.000000 68.750 FALSE FALSE
wt 1.500000 90.625 FALSE FALSE
qsec 1.000000 93.750 FALSE FALSE
vs 1.285714 6.250 FALSE FALSE
am 1.461538 6.250 FALSE FALSE
gear 1.250000 9.375 FALSE FALSE
carb 1.000000 18.750 FALSE FALSE
newVar1 0.000000 3.125 TRUE TRUE
newVar2 31.000000 6.250 FALSE TRUE
对于 newVar1,我们只有 1 个与您一样的唯一值,因此您得到:
1/nrow(mtcars)
[1] 0.03125
即 3.125
%。同样,newVar2 有 2 个唯一值,所以你得到:
length(unique(mtcars$newVar2))/nrow(mtcars)
[1] 0.0625