scikit-learn 線性迴歸模型的score函式,返回值是決定係數R^2
阿新 • • 發佈:2018-11-19
線性迴歸的score函式返回的是:對預測結果計算出的決定係數R^2
LinearRegression的score函式原始碼:
def score(self, X, y, sample_weight=None): """Returns the coefficient of determination R^2 of the prediction. The coefficient R^2 is defined as (1 - u/v), where u is the residual sum of squares ((y_true - y_pred) ** 2).sum() and v is the total sum of squares ((y_true - y_true.mean()) ** 2).sum(). The best possible score is 1.0 and it can be negative (because the model can be arbitrarily worse). A constant model that always predicts the expected value of y, disregarding the input features, would get a R^2 score of 0.0. Parameters ---------- X : array-like, shape = (n_samples, n_features) Test samples. y : array-like, shape = (n_samples) or (n_samples, n_outputs) True values for X. sample_weight : array-like, shape = [n_samples], optional Sample weights. Returns ------- score : float R^2 of self.predict(X) wrt. y. """ from .metrics import r2_score return r2_score(y, self.predict(X), sample_weight=sample_weight, multioutput='variance_weighted')
決定係數R^2
決定係數(coefficient ofdetermination),有的教材上翻譯為判定係數,也稱為擬合優度。
決定係數反應了y的波動有多少百分比能被x的波動所描述,即表徵依變數Y的變異中有多少百分比,可由控制的自變數X來解釋。
意義:擬合優度越大,說明x對y的解釋程度越高。自變數對因變數的解釋程度越高,自變數引起的變動佔總變動的百分比高。觀察點在迴歸直線附近越密集。
在對資料進行線性迴歸計算之後,我們能夠得出相應函式的係數, 那麼我們如何知道得出的這個係數對方程結果的影響有強呢?
所以我們用到了一種方法叫 coefficient of determination (決定係數) 來判斷 迴歸方程 擬合的程度
- 由於是估計資料也就是迴歸資料與平均值的誤差
- 是真實資料與平均值的誤差
- 一般比小,結果一般在0-1之間, 在資料確定後始終是固定值,如果估計的越不準確,那麼就越大,那麼 就越接近0,所以估計的越準確就越接近1
參考資料:
https://blog.csdn.net/grape875499765/article/details/78631435?locationNum=11&fps=1
https://blog.csdn.net/snowdroptulip/article/details/79022532