import sklearn.datasets as ds
from sklearn.linear_model import LinearRegression
from sklearn.metrics import explained_variance_score, mean_absolute_error, mean_squared_error, mean_squared_log_error, r2_score
X, y = ds.fetch_california_housing(return_X_y=True)
reg = LinearRegression().fit(X, y)
y_pred = reg.predict(X)
explained_variance_score = explained_variance_score(y_pred=y_pred, y_true=y) # 和 r2_score 一样
mean_absolute_error = mean_absolute_error(y_pred=y_pred, y_true=y)
mean_squared_error = mean_squared_error(y_pred=y_pred, y_true=y)
# mean_squared_log_error = mean_squared_log_error(y_pred=y_pred, y_true=y) # y_pred 必须大于0
r2_score = r2_score(y_pred=y_pred, y_true=y)
print('explained_variance_score: ', explained_variance_score)
print('mean absolute error: ', mean_absolute_error)
print('mean squared error: ', mean_squared_error)
# print('mean squared log error: ', mean_squared_log_error)
print('r2 score: ', r2_score)