Scikit learn 评估标度RMSE

Scikit learn 评估标度RMSE,scikit-learn,svm,Scikit Learn,Svm,我是机器学习新手,希望了解在数据缩放时如何评估RMSE。 我使用了加利福尼亚住房数据集,并使用SVR对其进行了培训: from sklearn.datasets import fetch_california_housing housing = fetch_california_housing() X = housing["data"] y = housing["target"] from sklearn.model_selection import

我是机器学习新手,希望了解在数据缩放时如何评估RMSE。 我使用了加利福尼亚住房数据集,并使用SVR对其进行了培训:

from sklearn.datasets import fetch_california_housing

housing = fetch_california_housing()
X = housing["data"]
y = housing["target"]

from sklearn.model_selection import train_test_split

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
然后,我缩放SVR的数据并训练模型:

from sklearn.preprocessing import StandardScaler

scaler = StandardScaler()
X_train_scaled = scaler.fit_transform(X_train)
X_test_scaled = scaler.transform(X_test)

from sklearn.svm import LinearSVR

lin_svr = LinearSVR(random_state=42)
lin_svr.fit(X_train_scaled, y_train)
当我想评估RMSE时,结果是按比例缩放的,因此对我来说没有多大意义:

from sklearn.metrics import mean_squared_error

y_pred = lin_svr.predict(X_train_scaled)
rmse = np.sqrt(mean_squared_error(y_train, y_pred))
rmse为0.976993881287582

我如何理解结果?(y列以万美元为单位)

我试图通过不缩放数据来
y_pred
,但结果没有意义:

y_pred = lin_svr.predict(X_test_scaled)
mse = mean_squared_error(y_test, y_pred)
np.sqrt(mse)
所以问题是,当数据被缩放时,我如何解释RMSE?是否有一种正确的方法来取消缩放以理解它


谢谢

此处不缩放目标变量,因此rmse的单位与目标变量相同。由于目标变量的单位为100000美元,因此rmse是定义观测数据和预测数据之间差异的度量。这意味着rmse=0.976993881287582=>97699美元