画出岭回归系数和正则化项关系的函数图像

前端之家收集整理的这篇文章主要介绍了画出岭回归系数和正则化项关系的函数图像前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

画出岭回归系数和正则化项关系的函数图像

显示共线性对于系数估计的影响。

下面每一种颜色代表系数向量不同的特征,这个图可以显示出和正则化项的关系。

当正则化系数趋于 0 的时候趋近于普通最小二乘法,回归系数会有很大的波动。

python code:

# Author: Fabian Pedregosa -- <fabian.pedregosa@inria.fr>
# License: BSD 3 clause

print(__doc__)

import numpy as np
import matplotlib.pyplot as plt
from sklearn import linear_model

# X is the 10x10 Hilbert matrix
X = 1. / (np.arange(1,11) + np.arange(0,10)[:,np.newaxis])
y = np.ones(10)

###############################################################################
# Compute paths

n_alphas = 200
alphas = np.logspace(-10,-2,n_alphas)
clf = linear_model.Ridge(fit_intercept=False)

coefs = []
for a in alphas:
    clf.set_params(alpha=a)
    clf.fit(X,y)
    coefs.append(clf.coef_)

###############################################################################
# Display results

ax = plt.gca()
ax.set_color_cycle(['b','r','g','c','k','y','m'])

ax.plot(alphas,coefs)
ax.set_xscale('log')
ax.set_xlim(ax.get_xlim()[::-1])  # reverse axis
plt.xlabel('alpha')
plt.ylabel('weights')
plt.title('Ridge coefficients as a function of the regularization')
plt.axis('tight')
plt.show()

补充:

Hilbert matrix

希尔伯特矩阵是一种数学变换矩阵,正定,且高度病态(即,任何一个元素发生一点变动,整个矩阵的行列式的值和逆矩阵都会发生巨大变化),病态程度和阶数相关。

希尔伯特矩阵作为输入数据,代表多重共线性数据。

猜你在找的正则表达式相关文章