我想得到这些情节: 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
,它返回:
而我需要参数向量改变l1,u比率和α。在
这可以不用重新计算吗?这将是一个巨大的时间浪费,因为这些coef_路径实际上已经计算好了
简短回答
一旦合适就不行了。在
冗长的回答
如果您查看^{} 的源代码,您将看到在fit方法中类正在调用^{} ,但是}中初始化的alpha值(默认值为1.0),该值由
alphas
被设置为在{ElasticNetCV
中的alphas值设置,该值最终将是单个值。因此,不必计算默认的100个alpha值的系数,这些值允许您创建路径图,而只为您在CV中设置的每个alpha值获取一个。也就是说,你可以在你的简历中初始化字母来模拟enet_path
中的100个默认值,然后合并每个折叠的系数,但这将是一个相当长的过程。正如你提到的,你已经适应了简历,这不是一个选项。在相关问题 更多 >
编程相关推荐