用於回歸問題
決定系數R2 ,衡量模型預測能力好壞(真實和預測的 相關程度百分比)
Y_true是真實的數據,y_pred是預測的數據。
使用r2_score()方法可以看到,預測數據和真實數據越接近,R2越大。當然最大值是 1
一個模型的R2 值為0還不如直接用平均值來預測效果好;而一個R2值為1的模型則可以對目標變量進行完美的預測。從0至1之間的數值,則表示該模型中目標變量中有百分之多少能夠用特征來解釋。模型也可能出現負值的R2,這種情況下模型所做預測有時會比直接計算目標變量的平均值差很多。
示例代碼:
1 from sklearn.metrics import r2_score 2 y_true = [3, -0.5, 2, 7] 3 y_pred = [2.5, 0.0, 2, 8] 4 r2_score(y_true, y_pred) 5 6 y_true = [[0.5, 1], [-1, 1], [7, -6]] 7 y_pred = [[0, 2], [-1, 2], [8, -5]] 8 r2_score(y_true, y_pred, multioutput='variance_weighted') 9 10 11 y_true = [1,2,3] 12 y_pred = [1,2,3] 13 r2_score(y_true, y_pred) 14 15 y_true = [1,2,3] 16 y_pred = [2,2,2] 17 r2_score(y_true, y_pred) 18 19 y_true = [1,2,3] 20 y_pred = [3,2,1] 21 r2_score(y_true, y_pred)