用于回归问题
决定系数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)