只能选择分卷文件的第一部分。_为机器学习模型选择正确的度量评估(第一部分)...
編譯:ronghuaiyang
導讀
對不同的應用場景,需要不同的模型,對于不同的模型,需要不同的度量評估方式。本系列的第一部分主要關注回歸的度量在后現(xiàn)代主義的世界里,相對主義的各種形式一直是最受歡迎和最受唾棄的哲學理論之一。根據(jù)相對主義,不存在普遍客觀的真理,相反,每個觀點都有自己的道理。你一定想知道我為什么要討論它,以及它是如何與數(shù)據(jù)科學相關的。
在這篇文章中,我將討論每個誤差度量的有用性,這取決于目標和我們試圖解決的問題。當有人告訴你“美國是最好的國家”時,你應該問的第一個問題是這個說法是基于什么。我們是否根據(jù)每個國家的經濟狀況或衛(wèi)生設施等來評價它們?類似地,每個機器學習模型都試圖使用不同的數(shù)據(jù)集來解決具有不同目標的問題,因此,在選擇度量標準之前了解上下文非常重要。
最有用的度量
在第一篇文章中,我們將只討論回歸中的度量指標。
回歸的度量
大多數(shù)博客關注的是分類指標,如精確度、召回率、AUC等。作為一個改變,我想探索所有類型的指標,包括那些在回歸中使用的。MAE和RMSE是連續(xù)變量最常用的兩個度量標準。讓我們從更流行的開始。
RMSE (均方根誤差)
它表示預測值與觀測值之差的樣本標準差(稱為殘差)。數(shù)學上,它是用這個公式計算的:
MAE
MAE是預測值與觀測值之間的絕對差的平均值。MAE是一個線性的分數(shù),這意味著所有的個體差異在平均值中被平均加權。例如,10和0之間的差是5和0之間差的兩倍。然而,RMSE的情況并非如此,我們將進一步詳細討論。數(shù)學上,它是用這個公式計算的:
你應用哪個呢,為什么?
很容易理解和解釋MAE,因為它直接取偏移量的平均值,而RMSE比MAE更能懲罰高的差值。
讓我們通過兩個例子來理解上面的陳述:
案例1:實際值=[2,4,6,8],預測值= [4,6,8,10]
案例2:實際值=[2,4,6,8],預測值= [4,6,8,12]
MAE for case 1 = 2.0, RMSE for case 1 = 2.0MAE for case 2 = 2.5, RMSE for case 2 = 2.65
從上面的例子中,我們可以看到RMSE比MAE更嚴重地懲罰了最后一個值預測。一般來說,RMSE將高于或等于MAE。它等于MAE的唯一情況是,所有的差異都相同或為零(對于第一個情況,實際和預測之間的差異是2,對于所有的觀測值)。
然而,即使是更加復雜和偏向于更高的偏差,RMSE仍然是許多模型的默認度量,因為根據(jù)RMSE定義的損失函數(shù)是平滑可微的,并且使其更容易執(zhí)行數(shù)學操作。雖然這聽起來不是很令人愉快,但這是一個非常重要的原因,并使它非常受歡迎。我將試著用數(shù)學的方法來解釋上面的邏輯。
我們取一個簡單的線性模型,其中一個變量是y = mx+b
在這里,我們試圖找到“m”和“b”,我們得到了(x,y)的數(shù)據(jù)。
如果我們用RMSE定義損失函數(shù)(J),那么我們可以很容易地微分J wrt。到m和b,得到更新后的m和b(這就是梯度下降的原理,我不會在這里解釋)
上面的方程解起來更簡單,同樣的方法不適用于MAE。
然而,如果你只想從解釋的角度比較兩個模型之間的度量,那么我認為MAE是一個更好的選擇。重要的是要注意RMSE和MAE的單位都與y值相同,但對于R平方不成立。RMSE和MAE的范圍是從0到無窮。
我之前忘記提到的MAE和RMSE之間的一個重要區(qū)別是,最小化一組數(shù)字的平方誤差會得到平均值,最小化絕對誤差會得到中值。這就是為什么MAE對于異常值是健壯的,而RMSE不是。這個答案詳細解釋了這個概念。R Squared (R2) and Adjusted R Squared
R Squared和Adjusted R Squared通常用于解釋目的,解釋你選擇的自變量如何很好地解釋你的因變量的可變性。這兩個指標都被誤解了,因此在討論它們的優(yōu)缺點之前,我想先澄清它們。
數(shù)學上,R_Squared由下面的式子給出:
分子是MSE(殘差平方和的平均值)分母是Y值的方差。MSE越高,R_squared越小,模型越差。Adjusted R2
就像R2,Adjusted R2也顯示了特征項是如何擬合模型的,模型是如何通過特征項的數(shù)量進行調整的。由下式給出:
其中n為觀測總數(shù),k為特征項的數(shù)量。Adjusted R2總是小于或等于R2
為什么你選擇Adjusted R2而不是R2?普通R2存在一些問題,需要由Adjusted R2解決。Adjusted R2會考慮由模型中的一個額外的項所帶來的基于margin的提升。所以如果你增加有用的項它會增加如果你增加沒用的預測項它會減少。然而,項增加了,R2就會增加,即使模型實際上并沒有改善。通過一個示例更容易理解這一點。
在這里,情況1是一個簡單的例子我們有5個(x,y)的觀測值。在case 2中,我們還有一個變量,它是變量1的2倍(與var1完全相關),在case 3中,我們對var2進行了輕微的擾動,使得它不再與var1完全相關。
因此,如果我們對每種情況都使用簡單的普通最小二乘(OLS)模型,那么從邏輯上講,我們并沒有就情況1向情況2和情況3提供任何額外的或有用的信息。所以我們的度量值不應該對這些模型有所改善。然而,對于R2并不是這樣,對于模型2和3,R2的值更大。但是你用adjusted R2來處理這個問題,實際上對于這兩種情況2 & 3,R2的值都變小了。我們給這些變量(x,y)一些數(shù)字,看看在Python中得到的結果。
import numpy as np import pandas as pd from sklearn import datasets, linear_model def metrics(m,X,y): yhat = m.predict(X) print(yhat) SS_Residual = sum((y-yhat)**2) SS_Total = sum((y-np.mean(y))**2) r_squared = 1 - (float(SS_Residual))/SS_Total adj_r_squared = 1 - (1-r_squared)*(len(y)-1)/(len(y)-X.shape[1]-1) return r_squared,adj_r_squared data = pd.DataFrame({"x1": [1,2,3,4,5], "x2": [2.1,4,6.1,8,10.1]}) y = np.array([2.1, 4, 6.2, 8, 9]) model1 = linear_model.LinearRegression() model1.fit( data.drop("x2總結
以上是生活随笔為你收集整理的只能选择分卷文件的第一部分。_为机器学习模型选择正确的度量评估(第一部分)...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 时间服务有 86400 秒没有与系统时间
- 下一篇: 如何解决steam出现的无法访问社区 打