gpt4 book ai didi

python - Sklearn StandardScaler + ElasticNet 具有可解释系数

转载 作者:行者123 更新时间:2023-12-01 06:44:12 25 4
gpt4 key购买 nike

为了正确拟合像弹性网络这样的正则化线性回归模型,必须首先对自变量进行标准化。然而,系数具有不同的含义。为了提取此类模型的适当权重,我是否需要使用以下方程手动计算它们:
b = b' * std_y/std_x
或者 sklearn 中已经有一些内置功能吗?

另外:我认为我不能只使用 normalize=True 参数,因为我有虚拟变量,它们可能应该保持未缩放

最佳答案

您可以使用均值标准差进行非标准化。 sklearn 在您使用 StandardScaler 后提供它们。

from sklearn.preprocessing import StandardScaler

ss = StandardScaler()
ss.fit_transform(X_train) # or whatever you called it

unstandardized_coefficients = model.coef_ * np.sqrt(ss.var_) + ss.mean_

这将使它们达到非标准化数据的规模。

但是,由于您使用的是正则化,所以它会成为一个有偏估计。当涉及有偏/无偏估计时,性能和可解释性之间需要权衡。这更多是关于stats.stackexchange.com的讨论。无偏估计量和低 MSE 估计量之间存在差异。在这里阅读有关有偏估计量和可解释性的信息:When is a biased estimator preferable to unbiased one?

tl;dr按照你的建议去做是没有意义的。

关于python - Sklearn StandardScaler + ElasticNet 具有可解释系数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59321593/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com