1. 程式人生 > >(機器學習)如何評價迴歸模型?——Adjusted R-Square(校正決定係數)

(機器學習)如何評價迴歸模型?——Adjusted R-Square(校正決定係數)

在分類模型中,評價輸出相對簡單,有“錯誤率”、“混淆矩陣(confusion matrix)”、“正確率(precision)”、“召回率(recall)”、ROC曲線等等。但迴歸模型怎樣評價呢?

在一個迴歸預測結束後得到一串預測結果Y_predict。另有真實結果Y_actual。有如下值評價:

1、SSE(誤差平方和)

這裡寫圖片描述

如果用這個,你會得到一個巨大的數,比如好幾萬多,你也不知道它代表什麼,就知道誤差很大。其實不一定,因為隨著樣本數增加,這個誤差平方和必然跟著增大。這個數什麼也不代表,除非是對比,比如兩個或多個迴歸模型放一起比較,誰的誤差平方和越小,則誤差越小,則這個模型表現越好。

另外,標準線性迴歸模型的原理就是,通過計算使誤差平方和最小。所以用它來表示誤差理所應當。

(《機器學習實戰》第八章P145的rssError函式即是算誤差平方和,並以此評價模型效果。)
另外,有個神奇、類似但並不是的例子和此相關,那就是sklearn.cluster.KMeans的score方法(這個就不是迴歸了)是把x中的每個value減去同意分類中的所在維度的平均值的平均值後做平方,再把這些平方們做加和。(說它神奇是因為score(x,y)的y根本沒用。)

2、R-Square(決定係數)

這裡寫圖片描述

(此處的R即相關係數,相關係數的平方就是決定係數R-Square。)

R-Square的取值範圍是“負無窮到1”,經常是“0到1”。

  • 當其為1時,表示預測結果全錯。
  • 當其從正負方向接近0時,表示可能很正確。是可能。
  • 當其為負數很大時,什麼也不能表示。

大致理解為,為正數時,約接近0說明預測越正確,越接近1說明預測越不對。越大越好。

它的作用是,把“誤差平方和”這個好幾萬的數,變成 R-Square這個(一般來說)0~1的數,還能在只有這一套樣本一個模型的情況下,知道預測結果大概準不準,大概有多準。

之所以說“大概有多準”,是因為隨著“樣本數”增加(立個flag,下文會提到),R-Square必然增加,無法真正定量說明準確程度,只能大概定量。

3、Adjusted R-Square(校正決定係數)

這裡寫圖片描述

其中,n為樣本數量,p為特徵數量。即樣本為n個[ x1, x2, x3, … , xp, y ]。

這個式子其實就是將R-Square式子中那個“一堆除以一堆”乘以“一個稍大於1的數”再被1減。樣本數量(接上文flag)會影響“一個稍大於1的數”,故而抵消樣本數量對R-Square的影響。
做到了真正的 0~1,越大越好。

自己造個輪子,在python的numpy下求Adjusted R-Square(校正決定係數)的函式:

import numpy as np

def score(a,b,dimension):       
# a is predict, b is actual. dimension is len(train[0]).
    aa=a.copy(); bb=b.copy()
    if len(aa)!=len(bb):
        print('not same length')
        return np.nan

    cc=aa-bb
    wcpfh=sum(cc**2)

    # RR means R_Square
    RR=1-sum((bb-aa)**2)/sum((bb-np.mean(bb))**2)

    n=len(aa); p=dimension
    Adjust_RR=1-(1-RR)*(n-1)/(n-p-1)
    # Adjust_RR means Adjust_R_Square

    return Adjust_RR

經測試,這個函式的結果和sklearn裡的score函式結果極為接近(誤差千分之一)。說明那個也是用的同樣原理,估計是部分引數略微不同。

真心是本人原創。歡迎轉載,請連結註明出處。

相關推薦

機器學習評價迴歸模型

在sklearn中包含四種評價尺度,分別為mean_squared_error、mean_absolute_error、explained_variance_score 和 r2_score。 1、均方差(mean-squared-error) 2、平均絕對值誤差(mean_absol

機器學習——如何評價迴歸模型

本內容整理自coursera,歡迎交流轉載。 如何定義損失 我們用如下符號表示迴歸模型的損失(loss): L(y,fw^(x⃗ )) 舉個栗子,我們可以使用局對誤差或者方差表示 損失函式: L(y,fw^(x⃗ ))=|y−f

機器學習如何評價迴歸模型?——Adjusted R-Square校正決定係數

在分類模型中,評價輸出相對簡單,有“錯誤率”、“混淆矩陣(confusion matrix)”、“正確率(precision)”、“召回率(recall)”、ROC曲線等等。但迴歸模型怎樣評價呢? 在一個迴歸預測結束後得到一串預測結果Y_predict。另有真

通過機器學習的線性迴歸演算法預測股票走勢用Python實現

    在本人的新書裡,將通過股票案例講述Python知識點,讓大家在學習Python的同時還能掌握相關的股票知識,所謂一舉兩得。這裡給出以線性迴歸演算法預測股票的案例,以此講述通過Python的sklearn庫實現線性迴歸預測的技巧。     本文先講以波士頓房價資

機器學習入門(二) — 迴歸模型 (理論)

講述了迴歸模型的基本原理和演算法,並結合迴歸介紹了交叉驗證的方法 1 預測房價 1.1 通過相似的房子預測你的房子 2 線性迴歸 2.1 應用線性迴歸模型 那麼哪條線才是最好的呢? 2.2 應用一條線的成本 2.3 預測你的房價 3 加入更高階的因素 3.1 用直線擬合房價或

機器學習_線性迴歸模型

1.線性迴歸 1.1模型 1.1.1目標函式(損失函式、正則)     a.無正則:最小二乘線性迴歸(OLS)     b.L2正則:嶺迴歸(Ridge Regression)     c.L1正則:Lasso 1.1.2概率解釋     最小二乘線性迴歸等價於

機器學習之線性迴歸模型

當我們拿到樣本並經過特徵降維後得到 x1、x2 … 低維特徵,經過多項式對映得到線性迴歸的模型假設: 上式 x1、x2 是樣本特徵,如果 y 是現實中房子的價格,那麼 x1、x2 相當於房子的面積、臥室數量等影響房子價格的因素,而 θ0、θ1、θ2 … 是係數

機器學習】線性迴歸模型分析

具體原理不講了,線性迴歸模型,代價損失函式 COST是均方誤差,梯度下降方法。 屬性取值。模型的屬性取值設定需要根據每一個引數的取值範圍來確定,將所有的屬性的取值統一正則化normalization,統一規定在0~1的範圍,或者-1~1的範圍內,這樣在進行線性迴歸時不會造成

機器學習筆記線性迴歸模型

一、線性迴歸模型 (一)引入—梯度下降演算法 1. 線性假設: 2. 方差代價函式:   3. 梯度下降:   4. : learning rate (用來控制我們在梯度下降時邁出多大的步子,值較大,梯度下降就很迅速) 值過大易造成無法收斂到minimum(每一步邁更大)

機器學習筆記Logistic迴歸模型

Logistic迴歸模型 1. 模型簡介: 線性迴歸往往並不能很好地解決分類問題,所以我們引出Logistic迴歸演算法,演算法的輸出值或者說預測值一直介於0和1,雖然演算法的名字有“迴歸”二字,但實際上Logistic迴歸是一種分類演算法(classification y = 0 or 1)。 Log

機器學習筆記02】最小二乘法多元線性迴歸模型

數學基礎 1.轉置矩陣 定義: 將矩陣A同序數的行換成列成為轉置矩陣ATA^TAT,舉例: A=(1203−11)A=\begin{pmatrix} 1 & 2 & 0 \\ 3 & -1 &

機器學習筆記01】最小二乘法一元線性迴歸模型

【參考資料】 【1】《概率論與數理統計》 【2】 http://scikit-learn.org /stable/auto_examples/ linear_model/ plot_ols.html # sphx-glr-auto-examples-

機器學習邏輯迴歸模型訓練

本篇不講演算法 只講用Python (pandas, matplotlib, numpy, sklearn) 進行訓練的一些要點 1.合併index np.concatenate([index1,index2]) 2.from sklearn.cross_va

公開課機器學習筆記7Softmax迴歸模型

在本節中,我們介紹Softmax迴歸模型,該模型是logistic迴歸模型在多分類問題上的推廣,在多分類問題中,類標籤  可以取兩個以上的值。 Softmax迴歸模型對於諸如MNIST手寫數字分類等問題是很有用的,該問題的目的是辨識10個不同的單個數字。Softmax迴歸

機器學習中的概率模型和概率密度估計方法及VAE生成式模型詳解之二作者簡介

AR aca rtu href beijing cert school start ica Brief Introduction of the AuthorChief Architect at 2Wave Technology Inc. (a startup company

機器學習中的概率模型和概率密度估計方法及VAE生成式模型詳解之一簡介

價值 新書 The aar 生成 syn TE keras 第一章 A Gentle Introduction to Probabilistic Modeling and Density Estimation in Machine LearningAndA Detailed

機器學習中的概率模型和概率密度估計方法及VAE生成式模型詳解之五第3章 之 EM算法

ado vpd dea bee OS deb -o blog Oz 機器學習中的概率模型和概率密度估計方法及VAE生成式模型詳解之五(第3章 之 EM算法)

機器學習中的概率模型和概率密度估計方法及VAE生成式模型詳解之六第3章 之 VI/VB算法

dac term http 51cto -s mage 18C watermark BE ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

機器學習中的概率模型和概率密度估計方法及VAE生成式模型詳解之七第4章 之 梯度估算

.com 概率 roc 生成 詳解 time 學習 style BE ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?機器學習中的概率模型和概率密度估計方法及V

機器學習中的概率模型和概率密度估計方法及VAE生成式模型詳解之八第4章 之 AEVB和VAE

RM mes 9.png size mar evb DC 機器 DG ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?