關於模型評估的一些簡單回顧

泛化性能

泛化能力用來評價一個訓練好的模型在未知數據上的表現好壞。

欠擬合與過擬合

欠擬合:指的是模型訓練不夠,沒有捕獲到數據中有用的特徵或者模式。(低偏差)

過擬合:模型過度訓練,在訓練數據上表現很好,在測試集上表現不佳。(高方差)

看下圖:

左邊:訓練誤差和測試誤差都很高,代表欠擬合,偏差大。

右邊:訓練誤差很低,但是測試誤差很高,代表過擬合,方差大。

模型驗證策略:

訓練集-測試集(7-3分),訓練集-驗證集-測試集(小數據6-2-2,大數據98%-1%-1%);

k-折交叉驗證(k份);留1法(k-折的特例,分成n份(n爲樣本數))

大數據用訓練集-驗證集-測試集的劃分方法,小數據用k-折或者交叉驗證

 

評估模型性能

混淆矩陣、準確率、精確率、召回率

準確率只適合用來評價那些數據分佈均衡,(比如正負樣本五五分的數據),對於樣本分佈不均衡,準確率高不一定表示模型效果好(9999個正,1個負。不管如何全部預測爲正,準確率就有99.99%)

P-R曲線:橫座標是召回率,縱座標是精確度(查準率)

召回率和精確率是此消彼長,因此不好衡量,F1結合了兩者:

F_1=2\frac{P*R}{P+R}

P是precision,R是Recall,F1分數越高越好

ROC曲線

AUC:ROC曲線下的面積,面積越大代表越好。

 

r(相關係數,皮爾遜相關係數,Pearson correlation coefficient):度量兩個變量之間的線性關係強度。正相關或者負相關,值域在[-1,1]之間,0表示非線性相關。

r=\frac{\sum(x-\overline{x})(y-\overline{y})}{\sqrt{\sum(x-\overline{x})^{2}(y-\overline{y})^{2}}}

可以先畫散點圖,查看數據分佈情況,如果明顯不線性相關就不要計算了。

R^2:用來衡量模型擬合數據情況程度的指標,值越大越好。(就是皮爾遜相關係數 r 的平方,因此R^2的值在0-1之間)

1.也就是說因變量y的變化,有多大比例可以通過自變量x的變化來解釋(擬合)。

2.也就是說在迴歸模型中,有多大的程度,我們的迴歸曲線擬合了真實數據的分佈。

R^2的值在0-1之間:0表示模型隨機擬合,1表示擬合很好。

存在的問題:每增加一個特徵,R方值會增加,但是並不意味它表現好,可能過擬合了。也就是說:不斷添加變量能讓模型的效果提升,而這種提升可能是虛假的。因此引入調整的R方

Adjusted R^2:對於無意義的變量添加懲罰,因此如果你增加無意義的特徵變量,Adjusted R^2會降低;當添加有用的特徵的時候纔會增加。

R_{a d j}^{2}=1-\left[\frac{\left(1-R^{2}\right)(n-1)}{n-k-1}\right]

n是樣本的數量,k是變量(特徵,不包括常量)

 

參考資料:《Getting Started with Machine Learning》-Jim Liang

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章