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為圖例輸出方法。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM