You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

sklearn线性回归中.rank_与.singular_属性的含义是什么?

scikit-learn 线性回归 .rank_ 与 .singular_ 属性详解

LinearRegression默认采用奇异值分解(SVD)求解最小二乘参数,.rank_和.singular_都是SVD计算过程中从训练特征矩阵得到的固有属性,仅在调用fit()完成模型训练后可访问。

.rank_ 含义

  • 取值为训练特征矩阵$X$的秩,即特征矩阵列向量张成的线性空间的维度。
  • 示例中返回值为13,说明训练用的特征集合不存在完全线性相关的冗余特征:如果存在完全共线的特征(例如某列是另一列的常数倍、某列等于其余若干列的线性组合),秩会小于输入的特征总列数。

.singular_ 含义

  • 数组存储的是特征矩阵$X$经奇异值分解得到的所有非零奇异值,默认按数值从大到小降序排列。
  • 示例中数组长度恰好为13,与.rank_的取值一一对应,这是SVD的基本性质:矩阵非零奇异值的个数等于矩阵的秩。
  • 奇异值的大小对应数据在各个正交投影方向上的方差:数值越大,该方向承载的数据信息越多;如果存在数值极接近0的奇异值,说明特征存在较强的多重共线性,此时线性回归求解出的系数方差会很高,稳定性差。

示例运行结果:

>>> from sklearn.linear_model import LinearRegression
>>> model.rank_ 
13
>>> model.singular_
array([3.54353952e+03, 1.57609582e+03, 5.69911549e+02, 3.26708222e+02,
       1.41541547e+02, 1.05019683e+02, 7.89006614e+01, 6.08655030e+01,
       3.64069654e+01, 2.13508221e+01, 1.03249311e+01, 4.64668118e+00,
       1.12979776e+00])

相关数学概念学习参考

  • 矩阵的秩:参考线性代数教材中线性相关、线性空间维度相关章节,核心是判断向量组的最大线性无关组规模
  • 奇异值分解(SVD):参考线性代数教材中矩阵分解相关章节,核心是掌握任意矩阵分解为正交矩阵、奇异值对角矩阵、正交矩阵乘积的逻辑与几何意义
  • 最小二乘SVD解法:参考数值线性代数、统计学习教材中线性模型求解相关章节,理解该方法相比直接矩阵求逆的数值稳定性优势

内容的提问来源于stack exchange,提问作者Armando Bridena

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 14:30:43