LR模型,理解成一個線性方程:如果只有一個特徵:也就是y=ax+b,如果有兩個特徵也就是y=ax1+bx2+c
這裏我們根據 距海邊的距離 預測 城市的最高溫度。
from sklearn.linear_model import LinearRegression
import numpy as np
import matplotlib.pyplot as plt
model = LinearRegression()#括號裏爲空表示採用了默認值,當然也可以自己調
near_citys_dist = np.array([2, 8, 71, 14, 37], dtype=int) # 城市距離海邊的最遠距離
near_citys_max_temp = np.array([28.75, 30.79, 33.85, 30.91, 31.74])# 城市溫度
model.fit(near_citys_dist.reshape(-1,1),near_citys_max_temp)#根據數據訓練模型
x = np.array([65,12,44]).reshape(-1,1) #準備要預測的數據:距海邊65、12、44km的城市溫度
y = model.predict(x)#結果:[33.56614386 30.32827794 32.28321585]
print(model.coef_) #coefficent,輸出係數 0.061
print(model.intercept_) #跟y軸的交點座標,即29.595
plt.scatter(near_citys_dist,near_citys_max_temp)#畫圖
plt.title('溫度和距海洋距離關係')
plt.xlabel('距離')
plt.ylabel('溫度')
plt.show()
線性方程也就是:y=0.061x+29.595。