我在数据集上进行了岭回归模型,如下所示:
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的sqaure根时很容易验证mean_squared_error。
我认为你错过了一个结束括号,但确切地说:
rmse = np.sqrt(mean_squared_error(y_test,pred)) # the last one was missing
高错误问题
由于模型无法很好地模拟变量和目标之间的关系,因此您的MSE很高。请记住,每个错误都被赋予2的幂,所以1000在价格天空中熄火的价值100000。








暂无数据