1.导入boston房价数据
from sklearn.datasets import load_boston boston = load_boston() boston.keys() print(boston.DESCR)#介绍 data = boston.data#查看数据 boston.target#查看房价 boston.feature_names#特征
2. 一元线性回归模型,建立一个变量与房价之间的预测模型,并图形化显示。
import pandas as pd #导包 pd.DataFrame(boston.data) #预处理获取斜率 from sklearn.linear_model import LinearRegression LineR = LinearRegression() LineR.fit(x.reshape(-1,1),y) w=LineR.coef_ #获取截距 b=LineR.intercept_ #图形化显示 x = data[:,5] y = boston.target import matplotlib.pyplot as plt plt.scatter(x,y) plt.plot(x,w*x+b,'G') plt.show()
3.多元线性回归模型,建立13个变量与房价之间的预测模型,并检测模型好坏,并图形化显示检查结果。
from sklearn.linear_model import LinearRegression lineR = LinearRegression() lineR.fit(boston.data,y) w = lineR.coef_ b = lineR.intercept_ import matplotlib.pyplot as plt x=boston.data[:,12].reshape(-1,1) y=boston.target plt.figure(figsize=(10,6)) #指定显示图大小 plt.scatter(x,y) from sklearn.linear_model import LinearRegression lineR=LinearRegression() lineR.fit(x,y) y_pred=lineR.predict(x) plt.plot(x,y_pred,'G') print(lineR.coef_,lineR.intercept_) plt.show()
结果如下:
4. 一元多项式回归模型,建立一个变量与房价之间的预测模型,并图形化显示。
xx
=
data[:,
12
].reshape(
-
1
,
1
)
plt.scatter(xx,y)
plt.show()
lr12
=
LinearRegression()
lr12.fit(xx,y)
w
=
lr12.coef_
b
=
lr12.intercept_
plt.scatter(xx,y)
plt.plot(xx,w
*
xx
+
b,
'G'
)
plt.show()
from
sklearn.preprocessing
import
PolynomialFeatures
p
=
PolynomialFeatures()
p.fit(xx)
x_poly
=
p.transform(xx)
lrp
=
LinearRegression()
lrp.fit(x_poly,y)
lrp.coef_
lrp.intercept_
lrp
=
LinearRegression()
lrp.fit(x_poly,y)
y_poly
=
lrp.predict(x_poly)
plt.scatter(xx,y)
plt.plot(xx,w
*
xx
+
b,
'G'
)
plt.scatter(xx,y_poly)
plt.show()
lrp.coef_