sklearn逻辑回归penalty参数设置(一)

在sklearn的LogisticRegression中提供了2种不同的penalty选择,其中L1相当于lasso回归,L2相当于ridge回归。网上很多介绍其基本原理的大神博客可供参考。而我们的这篇博客更多的是从实验的角度去说明这两种penalty的不同优劣。
在这里我们主要要验证两点:

  • L1相较于L2会使参数矩阵更稀疏,也就是说包含更多的0。
  • L2的拟合能力要比L1的拟合能力强。
    实验材料:
  • 腾讯社交广告大赛(CTR)提供数据。
  • 200000的训练集以及50000的测试集。
  • 899个特征,130865个特征两组实验。

实验一(899个特征):

训练集AUC 测试集AUC 权重为0的比例
l1 0.6295 0.6221 44.6%
l2 0.6311 0.6202 1.3%
sklearn逻辑回归penalty参数设置(一)_第1张图片
L1参数分布图

sklearn逻辑回归penalty参数设置(一)_第2张图片
L2参数分布图

实验二(130865个特征):

训练集AUC 测试集AUC 权重为0的比例
l1 0.9052 0.6715 91%
l2 0.9693 0.6614 8%
sklearn逻辑回归penalty参数设置(一)_第3张图片
L1参数分布图

sklearn逻辑回归penalty参数设置(一)_第4张图片
L2参数分布图

通过这两组实验我们可以发现:

  • L1的参数矩阵中值为0的比例远大于L2,这里的好处有很多比如节约内存,减少CPU的运算次数等等。
  • L2的参数矩阵中的值大部分在0附近,对训练数据的拟合能力更强,但同时也提高了过拟合的风险。
    L1和L2的设置往往也限制了solver的选择,也就是优化方法的选择。下一篇博客将会进行讲解。

你可能感兴趣的:(sklearn逻辑回归penalty参数设置(一))