sklearn(十三):Kernel ridge regression(KRR)

1、Kernel Ridge regression是在ridge regression上应用kernel trick,来实现linear model的non-linear转化;
KRR与support vector regression(SVR)比较:二者学习的model形式一致,但是其loss function存在差异:KRR用的是squared error loss,SVR用的是 ϵ-insensitive loss,二者都采用了L2 regularization。与SVR相比,KRR可以获得一个封闭式的解决方案(closed-form solution),在medium-size data(n_sample<1000),拟合速度较快。但是由于SVR可以获得一个稀疏model,因此其prediction time要快于KRR。
2、code示例:

sklearn.kernel_ridge.KernelRidge(alpha=1, kernel=’linear’, gamma=None, degree=3, coef0=1, kernel_params=None)
#alpha:相当于正则项系数的倒数,值越大,正则项强度越低;
#kernel:所用的kernel函数
#gamma:kernel参数;Gamma parameter for the RBF, laplacian, polynomial, exponential chi2 and sigmoid kernels. 
#degree:for polynomial kernel
#coef0:polynomial ,sigmoidkernel中,常数项的系数
#kernel_params:其它的kernel参数

猜你喜欢

转载自blog.csdn.net/u014765410/article/details/82927982