繁体   English   中英

R中的辍学:随机删除元素并将其替换为NA

[英]Dropout in R: randomly remove elements and replace them with NA

我想实现辍学,即用NA随机替换元素,并用NA值返回向量/列表。

所需的结果是减少过度拟合,因此为此可能会有更好的便利功能。

方法1

b<-rnorm(100); b[match(sample(b,10),b)] <- NA

其中10个值替换为NA。

方法2.如何消除90%的人口? 无效,少于90%:

b<-rnorm(99); b[match(sample(b,length(b)*0.9),b)] <- NA

由于可能的匹配(即选择相同的元素)而实际上不起作用。

是否有任何内置或便捷功能可用于辍学?

使用函数is.na<-NA值分配给向量。

set.seed(1)
b <- rnorm(100)
b[match(sample(b, 10), b)] <- NA

set.seed(1)
b2 <- rnorm(100)
is.na(b2) <- sample(length(b2), 10)

identical(b, b2)
#[1] TRUE

为了实现用NA去除90%的种群,请根据要处理的载体的长度进行sample

set.seed(1)
b <- rnorm(100)
is.na(b) <- sample(length(b), 0.9*length(b))
mean(is.na(b))
#[1] 0.9

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM