1.将线性回归得到的两个参数打印出来,并且在图像中画出该拟合曲线。
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
data=pd.read_csv( "finalData.csv", thousands=',')
data.plot(kind='scatter', x="GDP per capita", y='Life satisfaction', figsize=(5,3))
plt.axis([0, 60000, 0, 10])
X=np.linspace(0, 60000, 1000)
plt.plot(X, t0 + t1*X, "b")
plt.text(5000, 3.1, r"$\theta_0 = 4.85$", fontsize=14, color="b")
plt.text(5000, 2.2, r"$\theta_1 = 4.91 \times 10^{-5}$", fontsize=14, color="b")
plt.show()
from sklearn import linear_model
lin1 = linear_model.LinearRegression()
Xsample = np.c_[data["GDP per capita"]]
ysample = np.c_[data["Life satisfaction"]]
lin1.fit(Xsample, ysample)
# 输出 intercept_是截距, coef_是斜率系数
t0, t1 = lin1.intercept_[0], lin1.coef_[0][0]
print('打印t0',t0)
print('打印t1',t1)
2.结果展示
输出 intercept_是截距, coef_是斜率系数 ,这些也被成为回归系数。