Scikit-learn解決線性回歸

Scikit-learn解決線性迴歸

簡介

scikit-learn(簡稱sklearn)是目前最受歡迎,也是功能最強大的一個用於機器學習的Python庫件。它廣泛地支持各種分類、聚類以及迴歸分析方法比如支持向量機、隨機森林、DBSCAN等等,由於其強大的功能、優異的拓展性以及易用性,目前受到了很多數據科學從業者的歡迎,也是業界相當著名的一個開源項目之一。

Scikit-learn解決線性迴歸

運行scikit-learn的線性模型

scikit-learn的線性迴歸算法使用的是最小二乘法來實現的。代碼如下:

Scikit-learn解決線性迴歸

擬合完畢後,我們看看我們的需要的模型係數結果:

Scikit-learn解決線性迴歸

輸出如下:

Scikit-learn解決線性迴歸

這樣我們就得到了在步驟1裡面需要求得的5個值。也就是說PE和其他4個變量的關係如下:

PE=447.06297099-1.97376045*AT-0.23229086*V+0.0693515*AP-0.15806957*RH

模型評價

評估我們的模型的好壞程度,對於線性迴歸來說,我們一般用均方差(Mean Squared Error, MSE)或者均方根差(Root Mean Squared Error, RMSE)在測試集上的表現來評價模型的好壞。

我們看看我們的模型的MSE和RMSE,代碼如下:

Scikit-learn解決線性迴歸

輸出如下:

Scikit-learn解決線性迴歸

得到了MSE或者RMSE,如果我們用其他方法得到了不同的係數,需要選擇模型時,就用MSE小的時候對應的參數。

比如這次我們用AT, V,AP這3個列作為樣本特徵。不要RH, 輸出仍然是PE。代碼如下:

Scikit-learn解決線性迴歸

Scikit-learn解決線性迴歸

輸出如下:

Scikit-learn解決線性迴歸

可以看出,去掉RH後,模型擬合的沒有加上RH的好,MSE變大了。

Scikit-learn解決線性迴歸


分享到:


相關文章: