gpt4 book ai didi

python - 如何计算 Ridge 回归模型的 RMSE

转载 作者:太空宇宙 更新时间:2023-11-04 02:06:21 24 4
gpt4 key购买 nike

我对数据集执行了岭回归模型(链接到数据集:https://www.kaggle.com/c/house-prices-advanced-regression-techniques/data)如下:

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

y = train['SalePrice']
X = train.drop("SalePrice", axis = 1)

X_train, X_test, y_train, y_test = train_test_split(X,y,test_size=0.30)
ridge = Ridge(alpha=0.1, normalize=True)
ridge.fit(X_train,y_train)
pred = ridge.predict(X_test)

我使用 sklearn 的度量库计算了 MSE

from sklearn.metrics import mean_squared_error
mean = mean_squared_error(y_test, pred)
rmse = np.sqrt(mean_squared_error(y_test,pred)

我得到的 MSE = 554084039.54321 和 RMSE = 21821.8 的值非常大,我想了解我的实现是否正确。

最佳答案

RMSE 实现

您的 RMSE 实现是正确的,当您取 sklearn 的 mean_squared_error 的平方根时很容易验证这一点。

不过,我认为您缺少一个右括号,确切地说:

rmse = np.sqrt(mean_squared_error(y_test,pred)) # the last one was missing

高错误问题

由于模型无法很好地模拟变量和目标之间的关系,因此您的 MSE 较高。请记住,每个错误都是 2 的次方,因此价格下降 1000 会使值(value)飙升至 1000000

您可能想用自然对数 (numpy.log) 修改价格并将其转换为对数刻度,这是一种常见的做法,尤其是对于这个问题(我假设您正在做 House Prices: Advanced Regression Techniques ) ,请参阅可用内核以获取指导。使用这种方法,您不会获得如此大的值(value)。

最后但同样重要的是,检查 Mean Absolute Error 以查看您的预测并不像看起来那么糟糕。

关于python - 如何计算 Ridge 回归模型的 RMSE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54613144/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com