回归模型的score得分为负_Sklearn模型中预测值的R2_score为负数的问题探讨
Sklearn.metrics下面的r2_score函數用于計算R2(確定系數:coefficient of determination)。它用來度量未來的樣本是否可能通過模型被很好地預測。分值為1表示最好,但我們在使用過程中,經常發現它變成了負數,多次手動調參只能改變負值的大小,卻始終不能讓該值變成正數。
本文將這一問題進行一些初步探討,希望能起到夠拋磚引玉的作用。
R2的定義如下:![Alt]在這里插入圖片描述從公式來看,即使我們不使用任何模型,僅僅用目標集標簽的平均值,就能讓R2_score為0,如果值為負數,則表示我們預測的結果還不如測試集中的y_label的平均值準確。下面我們最簡單的模型去測試一下R2_score到底跟什么有關系。
首先,我們先在三維空間里構建兩個數據集。一個是z=y的一次平面,數據集在這個平面上。另外一個是z=xx+yy的二次拋物曲面,數據來自這個平面上。廢話不多說,上代碼:
import sklearn
from sklearn import preprocessing
from sklearn import linear_model
from sklearn.metrics import r2_score#R square
from sklearn.svm import SVR
構建z=y平面
X1_train = [[0,0],[0,1],[1,0],[1,1],[2,0],[-2,0],[1,-3],[-1,-1]]
y1_train = [0,1,0,1,0,0,-3,-1]
X1_test = [[2,-1],[0,2],[-1,-2],[1.5,1.5],[-1.5,-1.5]]
總結
以上是生活随笔為你收集整理的回归模型的score得分为负_Sklearn模型中预测值的R2_score为负数的问题探讨的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: delphi语言转为汇编语言_每天5分钟
- 下一篇: oracle 表关联索引优化,Oracl