sklearn回归器评估方法

1.解释方差
可用于多目标参数

在这里插入图片描述

sklearn.metrics.explained_variance_score()



from sklearn.metrics import explained_variance_score
import numpy as np

y_true = [1, 2, 2, 5]
y_pred = np.array([1, 2, 3, 5])
print(explained_variance_score(y_true, y_pred))#一元数据集
0.9166666666666666

x_true = [[1, 2], [3, 4]]
x_pred = [[0, 2], [2, 3]]
print(explained_variance_score(x_true, x_pred, multioutput='raw_values'))#multioutput给定权值
[1.   0.75]

print(explained_variance_score(x_true, x_pred, multioutput=[0.3, 0.7]))#多元数据集,给定权重0.3和0.7
0.825

2.平均绝对误差
在这里插入图片描述
表达式是分段线性的,求导得讨论区间

from sklearn.metrics import mean_absolute_error
import numpy as np

y_true = [1, 2, 2, 5]
y_pred = np.array([1, 2, 3, 5])
print(mean_absolute_error(y_true, y_pred))
0.25
x_true = [[1, 2], [3, 4]]
x_pred = [[0, 2], [2, 3]]
print(mean_absolute_error(x_true, x_pred, multioutput='raw_values'))
[1.  0.5]

print(mean_absolute_error(x_true, x_pred, multioutput=[0.3, 0.7]))
0.6499999999999999

3.均方误差
在这里插入图片描述

from sklearn.metrics import mean_squared_error
import numpy as np

y_true = [1, 2, 2, 5]
y_pred = np.array([1, 2, 3, 5])
print(mean_squared_error(y_true, y_pred))
0.25
x_true = [[1, 2], [3, 4]]
x_pred = [[0, 2], [2, 3]]
print(mean_squared_error(x_true, x_pred, multioutput='raw_values'))

[1.  0.5]

print(mean_squared_error(x_true, x_pred, multioutput=[0.3, 0.7]))
0.6499999999999999

4.中值绝对误差
可以防止极大错误点的影响,但是不支持multioutput参量
在这里插入图片描述

from sklearn.metrics import median_absolute_error
import numpy as np

y_true = [10, 2, 2, 5]
y_pred = np.array([1, 2, 3, 5])
print(median_absolute_error(y_true, y_pred))
0.5
#此例不支持多元参数,同时显示精度太小,如果两数据集数据接近,可能结果为零。

5.行列式系数

在这里插入图片描述

from sklearn.metrics import r2_score
import numpy as np

y_true = [10, 2, 2, 5]
y_pred = np.array([1, 2, 3, 5])
print(r2_score(y_true, y_pred))
-0.9181286549707601
x_true = [[1, 2], [3, 4]]
x_pred = [[0, 2], [2, 3]]
print(r2_score(x_true, x_pred))
0.25

print(r2_score(x_true, x_pred, multioutput=[0.3, 0.7]))
0.35

猜你喜欢

转载自blog.csdn.net/soulproficiency/article/details/105511700