使用 sklearn 的岭回归制作 L 曲线

可视化岭回归解决方案的一种常用方法是绘制L 曲线,该曲线绘制平方误差之和与正则化参数的不同选择的岭惩罚的关系。这可以用sklearn吗?



qq_花开花谢_0
浏览 136回答 2
2回答

30秒到达战场

这是一个纯粹的sklearn答案:import numpy as npfrom sklearn.linear_model import Ridgealphas = np.logspace(-10, 10, 1000)solution_norm = []residual_norm = []for alpha in alphas:     lm = Ridge(alpha=alpha)    lm.fit(X, y)    solution_norm += [(lm.coef_**2).sum()]    residual_norm += [((lm.predict(X) - y)**2).sum()]plt.loglog(residual_norm, solution_norm, 'k-')plt.show()whereX和y分别是你的预测变量和目标。

慕码人2483693

scikit-learn 中没有这样的内置功能,但是Yellowbrick库提供了这样的功能(使用pipor安装conda);将 LassoCV 示例从他们的文档改编到您的 RidgeCV 案例给出:import numpy as npfrom sklearn.linear_model import RidgeCVfrom yellowbrick.regressor import AlphaSelectionfrom yellowbrick.datasets import load_concrete# Load the regression datasetX, y = load_concrete()# Create a list of alphas to cross-validate againstalphas = np.logspace(-10, 1, 40)# Instantiate the linear model and visualizermodel = RidgeCV(alphas=alphas)visualizer = AlphaSelection(model)visualizer.fit(X, y)visualizer.show()
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python