访问sklearn中从ElasticNetCV获得的正则化路径

2024-06-08 01:58:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我想得到这些情节: http://scikit-learn.org/stable/auto_examples/linear_model/plot_lasso_coordinate_descent_path.html

我已经训练过了。 这个例子确实如此

from sklearn.linear_model import lasso_path, enet_path
from sklearn import datasets

diabetes = datasets.load_diabetes()
X = diabetes.data
print("Computing regularization path using the elastic net...")
alphas_enet, coefs_enet, _ = enet_path(
    X, y, eps=eps, l1_ratio=0.8, fit_intercept=False)

这基本上需要重新计算整个模型。 不幸的是,我没有X,y。在

在培训中,我使用了sklearn.linear_model.ElasticNetCV,它返回:

^{pr2}$

而我需要参数向量改变l1,u比率和α。在

这可以不用重新计算吗?这将是一个巨大的时间浪费,因为这些coef_路径实际上已经计算好了


Tags: pathfromimporthttpl1modelsklearnscikit
1条回答
网友
1楼 · 发布于 2024-06-08 01:58:43

简短回答

一旦合适就不行了。在

冗长的回答

如果您查看^{}的源代码,您将看到在fit方法中类正在调用^{},但是alphas被设置为在{}中初始化的alpha值(默认值为1.0),该值由ElasticNetCV中的alphas值设置,该值最终将是单个值。因此,不必计算默认的100个alpha值的系数,这些值允许您创建路径图,而只为您在CV中设置的每个alpha值获取一个。也就是说,你可以在你的简历中初始化字母来模拟enet_path中的100个默认值,然后合并每个折叠的系数,但这将是一个相当长的过程。正如你提到的,你已经适应了简历,这不是一个选项。在

相关问题 更多 >

    热门问题