Questions tagged «glmnet»

套索和弹性网正则化广义线性模型的R包。

1
如何使用cv.glmnet(R中的LASSO回归)进行交叉验证?
我想知道如何使用R中的glmnet正确地训练和测试LASSO模型? 具体来说,我想知道如果缺少外部测试数据集该如何使用交叉验证(或其他类似方法)来测试我的LASSO模型,该怎么做。 让我分解一下情况: 我只有一个数据集来通知和训练我的glmnet模型。结果,我将不得不使用交叉验证来拆分数据,以生成一种测试模型的方法。 我已经在使用cv.glmnet,根据软件包的详细信息: 对glmnet进行k折交叉验证,生成图并返回lambda的值。 进行交叉验证cv.glmnet只是为了选择最佳的λ,还是作为更通用的交叉验证程序? 换句话说,我还需要执行另一个交叉验证步骤来“测试”我的模型吗? 我正在假设“是的”。 既然如此,我该如何交叉验证我的cv.glmnet模型? 我是否必须手动执行此caret功能,或者该功能对glmnet模型有用吗? 我是否使用交叉验证的两个同心“循环”?...我是否使用CV的“内循环” cv.glmnet来确定k倍交叉验证处理的“外部循环”的每k倍内的最佳lambda值? 如果我对已经进行交叉验证的cv.glmnet模型进行交叉验证,那么如何cv.glmnet在交叉验证的“外部循环”的每一折中将“最佳”模型(与“最佳” lambda值隔离)与每个模型隔离? 注:我定义“最好”的模式,与产生最小的1 SE内的MSE拉姆达关联的模型......这是$lambda.1se在cv.glmnet模型。 内容: 我正在尝试根据树木直径(“ D”),D ^ 2和种类(“ factor(SPEC)”)来预测树木年龄(“年龄”)。[结果方程式:Age ~ D + factor(SPEC) + D^2]。我有约5万行数据,但数据是纵向的(通过时间跟踪个体),由约65种组成。

1
使用通用优化器复制glmnet线性回归的结果
如标题所示,我正在尝试使用来自library的LBFGS优化器从g​​lmnet linear复制结果lbfgs。只要我们的目标函数(没有L1正则化项)是凸的,此优化器就可以让我们添加L1正则化项,而不必担心可微性。 glmnet纸中的弹性净线性回归问题由 其中X \ in \ mathbb {R} ^ {n \ times p}是设计矩阵,y \ in \ mathbb {R} ^ p是观测向量,\ alpha \ in [0,1]是弹性网参数,而\ lambda> 0是正则化参数。运算符\ Vert x \ Vert_p表示通常的Lp范数。 X∈[RÑ×pý∈[Rpα∈[0,1]λ>0‖X‖p分β∈ [Rp1个2 n∥ β0+ Xβ- ÿ∥22+ α λ ∥ β∥1个+ 12(1 - α )λ ∥ β∥22minβ∈Rp12n‖β0+Xβ−y‖22+αλ‖β‖1+12(1−α)λ‖β‖22\min_{\beta \in \mathbb{R}^p} \frac{1}{2n}\Vert …

2
逻辑模型的RMSE(均方根误差)
我对使用RMSE(均方根误差)比较不同逻辑模型的有效性存在疑问。响应为0或1,并且预测为0- 之间的概率1。 以下应用的方式对二进制响应也有效吗? # Using glmnet require(glmnet) load(url("https://github.com/cran/glmnet/raw/master /data/BinomialExample.RData")) cvfit = cv.glmnet(x, y, family = "binomial", type.measure = "mse") A <- predict(cvfit, newx = x, s = "lambda.min", type = "response") RMSE1 <- mean((y - A)^2) # 0.05816881 # glm mydata <- read.csv("https://stats.idre.ucla.edu/stat/data/binary.csv") mydata$rank <- factor(mydata$rank) mylogit <- glm(admit ~ …

1
glm或glmnet哪个更准确?
R glm和glmnet使用不同的算法。 当我同时使用两者时,我会发现估计系数之间存在不小的差异。 我对何时一个比另一个更准确以及解决/准确性权衡的时间感兴趣。 具体来说,我指的是在glmnet中设置lambda = 0的情况,这是因为它估计与glm相同。

1
R中的交叉验证套索回归
R函数cv.glm(库:引导)为广义线性模型计算估计的K折交叉验证预测误差,并返回增量。使用此函数进行套索回归(库:glmnet)是否有意义?如果是,如何进行?glmnet库使用交叉验证来获得最佳的车削参数,但是我没有找到任何交叉验证最终glmnet方程的示例。

1
glmnet如何处理过度分散?
我有一个关于如何对计数数据进行文本建模的问题,尤其是如何使用该lasso技术来减少特征。 假设我有N篇在线文章以及每篇文章的综合浏览量。我为每篇文章提取了1克和2克,我想对1,2克进行回归。由于特征(1,2克)比观察的数量更多,所以套索将是减少特征数量的好方法。另外,我发现glmnet运行套索分析非常方便。 然而,网页浏览量计数的overdispersed(方差>的意思),但glmnet不提供quasipoisson(明确的),或者negative binomial,但poisson对数的数据。我想到的解决方案是对log transform计数数据(社会科学家中常用的方法)进行计数,并使响应变量大致遵循正态分布。因此,我可以使用高斯族对数据进行建模glmnet。 所以我的问题是:这样做合适吗?或者,应我只是用泊松的glmnet情况下glmnet手柄quasipoisson?还是有其他R软件包可以处理这种情况? 非常感谢你!

3
逻辑回归:最大化正阳性-误阳性
我有一个逻辑回归模型(通过弹性网络正则化通过R中的glmnet拟合),并且我想最大化真实肯定和错误肯定之间的差异。为此,请注意以下步骤: 拟合标准逻辑回归模型 使用预测阈值为0.5,确定所有积极预测 为肯定预测的观测值分配权重1,为所有其他权重分配权重0 拟合加权逻辑回归模型 这种方法有什么缺点?解决此问题的正确方法是什么? 希望最大程度地提高正负数之间的差异的原因是由于我的应用程序的设计。作为课堂项目的一部分,我正在在线市场上建立一个自主参与者-如果我的模型预测它可以购买某些东西并以后以更高的价格出售,它就会出价。我想坚持逻辑回归并根据固定成本和单价增量(我在每笔交易中获得或损失相同的金额)输出二进制结果(成功,失败)。误报会伤害我,因为这意味着我买了东西,无法以更高的价格出售。但是,错误的否定并不会伤害我(仅就机会成本而言),因为这仅意味着如果我不购买,但如果我有购买,我就可以赚钱。同样, 我同意0.5的临界值是完全任意的,并且当我在预测阈值上优化了步骤1中的模型时,该模型在真/假阳性之间产生了最大差异,结果接近0.4。我认为这是由于数据的偏斜性质-负数与正数之比约为1:3。 现在,我正在执行以下步骤: 将数据拆分为训练/测试 在训练中拟合模型,在测试集中进行预测并计算真假阳性之间的差异 完全拟合模型,在测试集中进行预测并计算真假阳性之间的差异 尽管训练集是全套的子集,但在步骤3中,正确/错误肯定之间的差异小于在步骤2中。由于我不在乎#3中的模型是否具有更多的真实负数和更少的虚假负数,因此我可以做些什么而无需更改似然函数本身?

2
在多项式中运行glmnet时出错
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为交叉验证的主题。 9个月前关闭。 在R包glmnet的1.7.3版本中解决了此问题中提到的问题。 我在使用family = multinomial运行glmnet时遇到一些问题,并且想知道是否遇到了类似的问题,或者是否能够告诉我我在做什么错。 当我放入自己的虚拟数据时,运行时会报告错误“ apply(nz,1,中位数):dim(X)必须具有正长度的错误” cv.glmnet,除了说“它没有用”之外,对我来说并没有提供太多信息。 y=rep(1:3,20) #=> 60 element vector set.seed(1011) x=matrix(y+rnorm(20*3*10,sd=0.4),nrow=60) # 60*10 element matrix glm = glmnet(x,y,family="multinomial") #=> returns without error crossval = cv.glmnet(x,y,family="multinomial") #=> Error in apply(nz, 1, median) : dim(X) must have a positive length crossval = cv.glmnet(x,y,family="multinomial",type.measure="class") #=> Error …
9 r  multinomial  glmnet 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.