小编Fla*_*ros的帖子

运行glmnet()的大矩阵

我有一个问题,用宽数据集运行glmnet套索.我的数据N = 50,但p> 49000,所有因素.所以要运行glmnet,我必须创建一个model.matrix,但是当我调用model.matrix(formula,data)时,我的内存耗尽,其中formula = Class~.

作为一个工作示例,我将生成一个数据集:

data <- matrix(rep(0,50*49000), nrow=50)
for(i in 1:50) {
x = rep(letters[2:8], 7000)
y = sample(x=1:49000, size=49000)
data[i,] <- x[y]
}

data <- as.data.frame(data)
x = c(rep('A', 20), rep('B', 15), rep('C', 15))
y = sample(x=1:50, size=50)
class = x[y]
data <- cbind(data, class)
Run Code Online (Sandbox Code Playgroud)

之后,我尝试创建一个model.matrix进入glmnet.

  formula <- as.formula(class ~ .)
  X = model.matrix(formula, data)
  model <- cv.glmnet(X, class, standardize=FALSE, family='multinomial', alpha=1, nfolds=10)
Run Code Online (Sandbox Code Playgroud)

在最后一步(X = model.matrix ...),我的内存不足.我能做什么?

r lasso-regression bigdata glmnet model.matrix

20
推荐指数
2
解决办法
8773
查看次数

在PostgreSQL上运行PL/R时,R可以处理比RAM更大的数据吗?

当我使用R开源时,如果不使用特定的包,则不可能处理大于RAM内存的数据集.所以我想知道是否有可能处理在PostgreSQL中应用PL/R函数的大数据集.

我没有找到任何关于此的文档.

postgresql r bigdata plr

5
推荐指数
1
解决办法
1563
查看次数

如何使用带有葡萄牙语口音的R包考试?

当我使用包考试来产生问题时,即使使用特殊字符,我也可以用英语完美地完成.例如,我可以使用exams包编译的Rnw问题:

<<echo=FALSE, results=hide>>=
## DATA GENERATION
P <- round(runif(n = 1, min = 1000, max = 2000), digits = 2)
S <- round(runif(n = 1, min = P + 500, max = 3000), digits = 2)


## QUESTION/ANSWER GENERATION
i <- round((S - P)/P, digits = 2)*100
@

\begin{question}
Qual \'e a taxa de juros simples obtida por uma aplica\c{c}\~ao de \textdollar $\Sexpr{P}$ que, ap\'os um ano, produz um montante de \textdollar$\Sexpr{S}$? 

\end{question}

\begin{solution}
Os juros s\~ao calculados …
Run Code Online (Sandbox Code Playgroud)

latex r r-markdown r-exams

5
推荐指数
2
解决办法
492
查看次数