from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error,r2_score
import matplotlib.pyplot as plt
from sklearn import linear_model
#导入波士顿房价数据集
boston=load_boston()
#选择训练集和测试集
X=boston.data
y=boston.target
#分割训练集和测试集
X_train,X_test,y_train,y_test=train_test_split(X,y,test_size=0.5,random_state=32)
#创建线性回归模型
model=linear_model.LinearRegression()
#训练分类器
model.fit(X_train,y_train)
#预测
y_pred=model.predict(X_test)
mse=mean_squared_error(y_test,y_pred)
r2=r2_score(y_test,y_pred)
print("均方误差",mse)
print("决定系数squared",r2)
#绘制实际值和预测值的散点图
plt.scatter(y_test,y_pred)
plt.xlabel("实际房价")
plt.ylabel("预测房价")
plt.title("实际房价vs预测房价")
plt.rcParams['font.sans-serif'] = 'SimHei' # 设置字体为SimHei
plt.show()