我正在尝试创建我的数据的独热表示。这是我的方法:
data(iris)
iris = as.data.frame(apply(iris, 2, function(x) as.factor(x)))
head(iris)
iris_ohe <- data.frame(model.matrix(~.-1, iris))
head(iris_ohe)
dim(iris_ohe)
问题是,我正在处理的数据有超过 100 万行,在进行编码时,我得到了一个超过 100 列的矩阵。这对于R
我的内存不足了:
Error: cannot allocate vector of size 10204.5 Gb
我可以尝试更好的方法吗?
尝试使用mltools::one_hot
require(mltools)
require(data.table)
n <- 1e6
df1 <- data.table( ID= seq(1:n), replicate(99, sample(0:1,n,TRUE)))
one_hot(df1)
对我来说没有内存问题,它几乎立即运行
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)