小编Vin*_*nay的帖子

为什么当 alpha 值中分母的幂增加到 13 或更多时,Ridge 模型拟合会显示警告?

我试图创建一个循环来找出装有 Ridge 回归模型的波士顿住房数据集的训练集和测试集的准确度分数的变化。

这是 for 循环:

for i in range(1,20):
        Ridge(alpha = 1/(10**i)).fit(X_train,y_train)
Run Code Online (Sandbox Code Playgroud)

它显示了从 i=13 开始的警告。

警告是:

LinAlgWarning: Ill-conditioned matrix (rcond=6.45912e-17): result may not be accurate.
  overwrite_a=True).T
Run Code Online (Sandbox Code Playgroud)

这个警告是什么意思?有可能摆脱它吗?

我检查没有循环单独执行它,仍然没有帮助。

#importing libraries and packages

import mglearn
from sklearn.model_selection import train_test_split
from sklearn.linear_model import Ridge

#importing boston housing dataset from mglearn
X,y = mglearn.datasets.load_extended_boston()

#Splitting the dataset
X_train,X_test,y_train,y_test = train_test_split(X,y,random_state=0)

#Fitting the training data using Ridge model with alpha = 1/(10**13)
rd = Ridge(alpha = 1/(10**13)).fit(X_train,y_train)
Run Code Online (Sandbox Code Playgroud)

不应为 i 的任何值显示上述警告。

python scikit-learn linearmodels

4
推荐指数
2
解决办法
3845
查看次数

标签 统计

linearmodels ×1

python ×1

scikit-learn ×1