泛化性能:
泛化能力用來評價一個訓練好的模型在未知數據上的表現好壞。
欠擬合與過擬合:
欠擬合:指的是模型訓練不夠,沒有捕獲到數據中有用的特徵或者模式。(低偏差)
過擬合:模型過度訓練,在訓練數據上表現很好,在測試集上表現不佳。(高方差)
看下圖:
左邊:訓練誤差和測試誤差都很高,代表欠擬合,偏差大。
右邊:訓練誤差很低,但是測試誤差很高,代表過擬合,方差大。
模型驗證策略:
訓練集-測試集(7-3分),訓練集-驗證集-測試集(小數據6-2-2,大數據98%-1%-1%);
k-折交叉驗證(k份);留1法(k-折的特例,分成n份(n爲樣本數))
大數據用訓練集-驗證集-測試集的劃分方法,小數據用k-折或者交叉驗證
評估模型性能
混淆矩陣、準確率、精確率、召回率
準確率只適合用來評價那些數據分佈均衡,(比如正負樣本五五分的數據),對於樣本分佈不均衡,準確率高不一定表示模型效果好(9999個正,1個負。不管如何全部預測爲正,準確率就有99.99%)
P-R曲線:橫座標是召回率,縱座標是精確度(查準率)
召回率和精確率是此消彼長,因此不好衡量,F1結合了兩者:
P是precision,R是Recall,F1分數越高越好。
ROC曲線:
AUC:ROC曲線下的面積,面積越大代表越好。
r(相關係數,皮爾遜相關係數,Pearson correlation coefficient):度量兩個變量之間的線性關係強度。正相關或者負相關,值域在[-1,1]之間,0表示非線性相關。
可以先畫散點圖,查看數據分佈情況,如果明顯不線性相關就不要計算了。
:用來衡量模型擬合數據情況程度的指標,值越大越好。(就是皮爾遜相關係數 r 的平方,因此的值在0-1之間)
1.也就是說因變量y的變化,有多大比例可以通過自變量x的變化來解釋(擬合)。
2.也就是說在迴歸模型中,有多大的程度,我們的迴歸曲線擬合了真實數據的分佈。
的值在0-1之間:0表示模型隨機擬合,1表示擬合很好。
存在的問題:每增加一個特徵,R方值會增加,但是並不意味它表現好,可能過擬合了。也就是說:不斷添加變量能讓模型的效果提升,而這種提升可能是虛假的。因此引入調整的R方
Adjusted :對於無意義的變量添加懲罰,因此如果你增加無意義的特徵變量,Adjusted 會降低;當添加有用的特徵的時候纔會增加。
n是樣本的數量,k是變量(特徵,不包括常量)
參考資料:《Getting Started with Machine Learning》-Jim Liang