lingdct 2023-11-17 13:25 采纳率: 16.7%
浏览 334
已结题

lasso回归分析时遇到警告信息

rt <- read.csv("merged_matrix.csv",header = T,row.names = 1)
###构建模型
set.seed(10)   
x=as.matrix(rt[,c(2:ncol(rt))])
y=data.matrix(rt$fustat)
x <- scale(x)  # 标准化x
#y <- scale(y) 
fit=glmnet(x, y, family = "binomial", maxit = 3000)
plot(fit, xvar = "lambda", label = TRUE)

cvfit = cv.glmnet(x, y, family="binomial", maxit = 30000)


Warning messages:
1: In lognet(xd, is.sparse, ix, jx, y, weights, offset, alpha, nobs,  :
  one multinomial or binomial class has fewer than 8  observations; dangerous ground
2: In lognet(xd, is.sparse, ix, jx, y, weights, offset, alpha, nobs,  :
  one multinomial or binomial class has fewer than 8  observations; dangerous ground
3: In lognet(xd, is.sparse, ix, jx, y, weights, offset, alpha, nobs,  :
  one multinomial or binomial class has fewer than 8  observations; dangerous ground
4: In lognet(xd, is.sparse, ix, jx, y, weights, offset, alpha, nobs,  :
  one multinomial or binomial class has fewer than 8  observations; dangerous ground
5: In lognet(xd, is.sparse, ix, jx, y, weights, offset, alpha, nobs,  :
  one multinomial or binomial class has fewer than 8  observations; dangerous ground
6: In lognet(xd, is.sparse, ix, jx, y, weights, offset, alpha, nobs,  :
  one multinomial or binomial class has fewer than 8  observations; dangerous ground

进行losso分析时一直跳出以上警告信息,最终制作出的图中AUC为1,请求各位的帮助

  • 写回答

18条回答 默认 最新

  • 叫兽-郭老师 新星创作者: Java技术领域 2023-11-17 13:50
    关注
    获得0.60元问题酬金

    试试下面这个:

    # 1. 读取数据
    rt <- read.csv("merged_matrix.csv", header = TRUE, row.names = 1)
    
    # 2. 构建模型
    set.seed(10)   
    x <- as.matrix(rt[, c(2:ncol(rt))])
    y <- as.numeric(rt$fustat)  # 将因变量转为数值型
    x <- scale(x)  # 标准化x
    
    # 3. 使用cv.glmnet进行LASSO交叉验证
    cvfit <- cv.glmnet(x, y, family = "binomial", maxit = 30000)
    
    # 4. 绘制交叉验证图
    plot(cvfit, xvar = "lambda", label = TRUE)
    
    # 5. 查看交叉验证的最佳lambda值
    best_lambda <- cvfit$lambda.min
    cat("Best lambda:", best_lambda, "\n")
    
    # 6. 使用最佳lambda值构建最终模型
    final_fit <- glmnet(x, y, family = "binomial", lambda = best_lambda, maxit = 3000)
    
    
    评论

报告相同问题?

问题事件

  • 系统已结题 11月25日
  • 赞助了问题酬金15元 11月17日
  • 创建了问题 11月17日