首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Lasso: glmnet交叉验证

Lasso: glmnet交叉验证
EN

Stack Overflow用户
提问于 2016-03-15 11:14:15
回答 1查看 3.8K关注 0票数 0

我使用cv.glmnet()执行交叉验证,在默认情况下是10-fold

代码语言:javascript
复制
library(Matrix)
library(tm)
library(glmnet)
library(e1071)
library(SparseM)
library(ggplot2)

trainingData <- read.csv("train.csv", stringsAsFactors=FALSE,sep=",", header = FALSE)
testingData  <- read.csv("test.csv",sep=",", stringsAsFactors=FALSE, header = FALSE)

x = model.matrix(as.factor(V42)~.-1, data = trainingData)
crossVal <- cv.glmnet(x=x, y=trainingData$V42, family="multinomial", alpha=1)
plot(crossVal)

我有以下错误消息

代码语言:javascript
复制
Error in lognet(x, is.sparse, ix, jx, y, weights, offset, alpha, nobs,  : 
  one multinomial or binomial class has 1 or 0 observations; not allowed

但是,如下所示,我似乎没有01计数的观察级别。

代码语言:javascript
复制
>table(trainingData$V42)

       back buffer_overflow       ftp_write    guess_passwd            imap         ipsweep            land      loadmodule        multihop 
        956              30               8              53              11            3599              18               9               7 
    neptune            nmap          normal            perl             phf             pod       portsweep         rootkit           satan 
      41214            1493           67343               3               4             201            2931              10            3633 
      smurf             spy        teardrop     warezclient     warezmaster 
       2646               2             892             890              20 

有什么指示吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-15 12:30:28

默认情况下,cv.glmnet与N=10进行N折交叉验证.这意味着它将你的数据分割成10个子集,然后在10个子集中的9个上训练一个模型,并在剩下的1个上进行测试。它重复这一点,依次删除每个子集。

您的数据非常稀少,有时训练子集会遇到这里遇到的问题(以及你之前的问题中的问题)。最好的解决方案是通过组合比较少见的类来减少响应中的类数(例如,您真的需要获得spyperl的预测概率)。

另外,如果您正在执行glmnet交叉验证和构造模型矩阵,您可以使用我编写的glmnetUtils包来简化流程。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36009672

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档