評估與指標

決定係數(R-squared)

/ AR-SKWAIRD /

決定係數(R²)回答了一個公道的問題,而這是原始誤差分數答不了的:我的模型,到底比那個最蠢的合理猜測強不強?對一個數字而言,最蠢的猜測就是完全無視輸入,永遠預測平均值。R²衡量的,是「在那個偷懶的基線之上,你的模型還額外解釋了數據裡多少的變化」,並把它放在一個乾淨的0到1的尺度上。

R²等於0,意味著你的模型並不比「永遠猜平均值」更強——它什麼也沒解釋。等於1,意味著它把每個預測都完美命中。等於0.7,意味著它解釋了數據裡大約70%的起起伏伏,剩下30%沒能解釋。由於它無量綱,你可以在不同問題、不同單位之間去比較它,這是MSE或MAE永遠做不到的。(令人意外的是,它甚至可以變成負的——那意味著你的模型比平均值基線還差,這是一種真實而令人謙卑的可能。)

誠實的提醒很重要。高R²並不意味著你的模型正確、有因果關係,或能在新數據上奏效——你只要往裡加更多輸入變量,哪怕是沒用的,就能把它抬高,這正是人們用「調整後R²」來懲罰這種做法的原因。而低R²也未必就是失敗:有些現象本就充滿噪聲,能解釋比方說股價波動的哪怕20%,都可能很有價值。R²描述的是擬合,而不是真相。

一個用「學習時長」預測考試成績的模型,得到R²=0.64。讀法是:學習時長解釋了「學生成績為何偏離班級平均」當中約64%的原因;剩下的36%來自模型看不見的一切——睡眠、先備知識、運氣、純粹的噪聲。

R²=你的模型所解釋的、數據變化的那一部分比例。

往裡加更多輸入變量,只會把樸素的R²往上推,絕不會把它往下拉——所以R²上升並不能證明模型變好了。要用「調整後R²」,它會為多出來的變量扣分;並且永遠要去確認這個擬合在留出數據上也站得住,而不只是在被調過參的那批數據上。

又稱
决定系数決定係數R-squaredcoefficient of determinationR方