可视化ridge regression的解决方案的常用方法是 L curve它绘制了正则化参数的不同选择的误差平方和与岭罚分的关系。这可以用 sklearn 来做吗?
最佳答案
这是一个纯粹的 sklearn 答案:
import numpy as np
from sklearn.linear_model import Ridge
alphas = 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()
其中 X
和 y
分别是您的预测变量和目标。
关于python - 用sklearn的岭回归制作L曲线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58432340/