期末大作业,最后一周上课检查

#读取数据
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))# 打印模型的分数----

 

 

猜你喜欢

转载自www.cnblogs.com/h000/p/10113207.html