- 二分類問題
- 多分類問題
- 連續變量問題
四、連續變量問題(回歸)
(1)距離
(2)殘差
(3)殘差平方和(SSE): 真實值與預測值之間誤差的平方和。
(3-1)均方根誤差(MSE = mean square error):真實值與預測值之間誤差的平方和的均值。(最小二乘)
1 from sklearn.metrics import mean_squared_error 2 y_true = [1,3, -0.3, 2, 7,5] 3 y_pred = [0.8,2.5, 0.0, 2, 8, 5.1] 4 mean_squared_error(y_true, y_pred)
- 均方差越小越好,即最小二乘法。
(4)回歸平方和(SSR): 預測值與樣本平均值之間誤差的平方和。
(5)總偏差平方和(SST): 真實值與樣本平均值之間誤差的平方和。
經計算推到,SST = SSE + SSR
(5-1)平均絕對誤差(MAE = mean absolute error):真實值與樣本平均值之間誤差的平方和的均值。
1 from sklearn.metrics import mean_squared_error 2 y_true = [1, 3, -0.3, 2, 7, 5] 3 y_pred = [0.8, 2.5, 0.0, 2, 8, 5.1] 4 mean_squared_error(y_true, y_pred)
(6)R2(r2_score):樣本的總偏差平方和中,被回歸平方和解釋的百分比。 R2 = SSR/SST = 1-SSE/SSR (R2值越大,模型效果越好)
1 from sklearn.metrics import r2_score 2 y_true = [1, 3, -0.3, 2, 7, 5] 3 y_pred = [0.8, 2.5, 0.0, 2, 8, 5.1] 4 r2_score(y_true, y_pred)
- R2 越接近1,模型擬合效果越好。
- R2 越接近0,模型擬合效果越差。
- 缺點:數據集越大,R2 越大。因此,不同數據集對同一模型進行測試時,所得的R2 不一定相同。
(7)中值絕對誤差(median_absolute_error)
1 from sklearn.metrics import median_absolute_error 2 y_true = [1, 3, -0.3, 2, 7, 5] 3 y_pred = [0.8, 2.5, 0.0, 2, 8, 5.1] 4 median_absolute_error(y_true, y_pred)
總結:
- 以上幾個指標全部依賴於數據集,當數據集發生變化時,值也隨之發生變化。