#读取数据 from sklearn.datasets import load_boston #导入房价数据集 boston=load_boston() boston.data boston.target boston.data.shape #将数据转化为数据框形式 import pandas as pd df=pd.DataFrame(x) df #建立变量与房价之间的预测模型 import matplotlib.pyplot as plt x=boston.data[:,5] #下标2表示feature_names 的‘INDUS' y=boston.target plt.figure(figsize=(8,3))#指定显示图大小 plt.scatter(x,y,c='b',marker='*') plt.plot(x,8*x-10,'r')#回归线 plt.show() #通过训练集和测试集划分得出实际模型 from sklearn.linear_model import LinearRegression from sklearn.model_selection import train_test_split x_train,x_test,y_train,y_test=train_test_split(boston.data[:,5],boston.target,test_size=0.3, )#划分训练和测试数据集 lineR=LinearRegression() lineR.fit(x_train.reshape(-1,1),y_train) #对数据进行训练 #lineR.coef_ #通过训练得到斜率 lineR.intercept_ #通过训练得到截距 plt.figure(figsize=(8,3))#指定显示图大小 plt.scatter(x_train,y_train,c='b',marker='*') plt.plot(x,9*x-37,'r')#回归线 plt.show() # 检测模型好坏 x_train,x_test,y_train,y_test=train_test_split(boston.data[:,5],boston.target,test_size=0.3, )#划分训练和测试数据集 print(x_train.shape,y_train.shape) lineR=LinearRegression() lineR.fit(x_train,y_train) #对数据进行训练 lineR.coef_ #通过训练得到斜率 lineR.intercept_ #通过训练得到截距 import numpy as np x_predict = lineR.predict(x_test) print("预测的均方误差:", np.mean(x_predict - y_test)**2)# 打印预测的均方误差 print("模型的分数:",lineR.score(x_test, y_test))# 打印模型的分数----