标签: lasso-regression

"mean_squared_error"的负值

我正在使用scikit并将其mean_squared_error用作cross_val_score中模型评估的评分函数.

rms_score = cross_validation.cross_val_score(model, X, y, cv=20, scoring='mean_squared_error')
Run Code Online (Sandbox Code Playgroud)

我正在使用,mean_squared_error因为它是一个回归问题,所使用的估算器(模型)是lasso,ridgeelasticNet.

对于所有这些估算师,我得到rms_score了负值.考虑到y值的差异是平方的,这怎么可能呢?

在此输入图像描述

regression lasso-regression linear-regression scikit-learn

2
推荐指数
1
解决办法
3917
查看次数

在Lasso sklearn中,normalize = True的选项是什么?

我有一个矩阵,每列的平均值为0,标准为1

In [67]: x_val.std(axis=0).min()
Out[70]: 0.99999999999999922

In [71]: x_val.std(axis=0).max()
Out[71]: 1.0000000000000007

In [72]: x_val.mean(axis=0).max()
Out[72]: 1.1990408665951691e-16

In [73]: x_val.mean(axis=0).min()
Out[73]: -9.7144514654701197e-17
Run Code Online (Sandbox Code Playgroud)

如果我使用normalize选项,则非0系数的数量会发生变化

In [74]: l = Lasso(alpha=alpha_perc70).fit(x_val, y_val)

In [81]: sum(l.coef_!=0)
Out[83]: 47

In [84]: l2 = Lasso(alpha=alpha_perc70, normalize=True).fit(x_val, y_val)

In [93]: sum(l2.coef_!=0)
Out[95]: 3
Run Code Online (Sandbox Code Playgroud)

在我看来,规范化只是将每列的方差设置为1.奇怪的是,结果变化如此之大.我的数据已经变异= 1.

那么normalize = T究竟做了什么呢?

python machine-learning lasso-regression scikit-learn

2
推荐指数
1
解决办法
4276
查看次数

相关变量的套索或岭

我试图理解一句话“在存在相关变量的情况下,岭回归可能是首选。”假设我们有变量 a1、a2、b1、c2,并且 2 个 a"s 是相关的。如果我们使用套索可以消除其中一个。Lasso 和 Ridge 都会收缩。所以听起来套索在这些条件下可能会更好。但引用说里奇更好。这是一个错误的引用还是我遗漏了什么?(可能想得太简单了)

regression machine-learning lasso-regression

2
推荐指数
1
解决办法
5632
查看次数

在 R 中的 glmnet 中提取非零系数

我正在做套索逻辑回归。我使用 cv.glmnet 来获取非零系数。它似乎有效,即我确实得到了一些非零系数,其余系数为零。但是,当我使用 coef 函数打印所有系数时,它会给我一个所有系数的列表。有没有办法提取不为零的系数及其名称。我所做的代码是:

cv.lasso = cv.glmnet(x_train,y_train, alpha = 0.6, family = "binomial")
coef(cv.lasso, s=cv.lasso$lambda.1se)
Run Code Online (Sandbox Code Playgroud)

当我使用 coef 时,我得到以下输出:

4797 x 1 sparse Matrix of class "dgCMatrix"

                  1

(Intercept)   -1.845702

sampleid.10    .       
sampleid.1008  .  
Run Code Online (Sandbox Code Playgroud)

我想提取非零系数的名称和值。我怎样才能做到这一点?

r machine-learning lasso-regression glmnet

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

如何在 Pyspark 中导入 Elastic-Net、Lasso 和 Ridge 回归?

你能告诉我如何Elastic-Net在 Pyspark 中使用 、 Lasso 和 Ridge 回归吗?实际上我根据机器学习备忘单选择了Linear、Elastic-Net、Lasso和Ridge回归这4种算法。但是,我不知道如何在 Pyspark 中导入 Elastic-Net、Lasso 和 Ridge 回归,也无法通过 google 搜索到正确的答案。我只知道在Pyspark.

machine-learning lasso-regression linear-regression pyspark apache-spark-ml

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

使用 glmnet 预测数据集中的连续变量

我有这个数据集。 体重

我想使用 R 包 glmnet 来确定哪些预测变量对预测生育率有用。但是,我一直无法这样做,很可能是因为对软件包没有完全了解。生育变量是 SP.DYN.TFRT.IN。我想看看数据集中哪些预测因子对生育率的预测能力最强。我想使用 LASSO 或岭回归来缩小系数的数量,我知道这个包可以做到这一点。我只是在实施它时遇到了一些麻烦。

我知道没有代码片段让我道歉,但我对如何编写代码感到很迷茫。

任何建议表示赞赏。

感谢您阅读

model r lasso-regression prediction glmnet

0
推荐指数
1
解决办法
1611
查看次数

R:绘制套索β系数

我用R编写了这个套索代码,并得到了一些beta值:

#Lasso
library(MASS)
library(glmnet)
Boston=na.omit(Boston)
x=model.matrix(crim~.,Boston)[,-1]
rownames(x)=c()
y=as.matrix(Boston$crim)
lasso.mod =glmnet(x,y, alpha =1, lambda = 0.1)
beta=as.matrix(rep(0,19))
beta=coef(lasso.mod)
matplot(beta,type="l",lty=1,xlab="L1",ylab="beta",main="lasso")
Run Code Online (Sandbox Code Playgroud)

我想在这样的图中绘制Beta:

在此处输入图片说明

但是我不知道RI中有什么绘图功能可以用来做到这一点。

regression r machine-learning lasso-regression glmnet

0
推荐指数
1
解决办法
2096
查看次数