1. 程式人生 > >sklearn使用——最小二乘法

sklearn使用——最小二乘法

參考網頁:http://sklearn.apachecn.org/cn/0.19.0/

其中提供了中文版的檔案說明,較為清晰。

 

 1 from sklearn.linear_model import LinearRegression as lr
 2 import matplotlib.pyplot as plt
 3 import numpy as np
 4 
 5 x = np.array([3.6,4.5,2.6,4.9,2.5,3.5]).reshape(-1,1)
 6 y = np.array([9.7,8.1,7.6,8.6,9.0,7.8]).reshape(-1,1)
7 8 model = lr() 9 10 model.fit(x,y) 11 12 y_plot = model.predict(x) 13 14 print(model.coef_) 15 16 plt.scatter(x,y,color='red',label= "sample data",linewidth=2) 17 plt.plot(x,y_plot,color='green',label="fitting line",linewidth=2) 18 plt.legend(loc='lower right') 19 plt.show()

(資料隨便編的,不標準)

最小二乘法的實現利用了sklearn中提供的linear_model線性模型,numpy提供對陣列的操作,matplotlib.pyplot提供對模型的圖例化。

其中:

reshape(-1,1)利用numpy提供的方法將陣列轉換一維陣列。

model例項化LinearRegression方法。

fit(x,y)為監督學習演算法,若改為fit(X,y=None)則為無監督學習演算法。

plt.scatter為散點圖方法,此處用於將各個點標於圖上。

plt.plot為折線圖方法,此處用於將預測得的擬合直線標於圖上。

plt.legend為圖例設定方法,用於標記圖例的顯示位置,可用引數主要為“lower,upper,center,right,left,best”(若留空則為右上角,與best相同)。

plt.show為圖例輸出方法。