torcheval.metrics.functional.r2_score¶
- torcheval.metrics.functional.r2_score(input: Tensor, target: Tensor, *, multioutput: str = 'uniform_average', num_regressors: int = 0) Tensor ¶
计算 R 平方得分,它是自变量可以解释因变量方差的比例。它的类版本是
torcheval.metrics.R2Score
。- 参数::
input – 形状为 (n_sample, n_output) 的预测值张量。
target – 形状为 (n_sample, n_output) 的真实值张量。
multioutput (可选) –
'uniform_average'
[默认]返回所有输出的平均得分,权重相等。
'raw_values'
:返回完整的得分集。
variance_weighted
:返回所有输出的平均得分,由每个单独输出的方差加权。
num_regressors (可选) – 使用的自变量数量,应用于调整后的 R 平方得分。默认为零(标准 R 平方得分)。
- 引发::
ValueError –
如果 multioutput 的值不存在于 (
raw_values
,uniform_average
,variance_weighted
) 中。 - 如果 num_regressors 的值不是 [0, n_samples - 1] 范围内的integer
。
示例
>>> import torch >>> from torcheval.metrics.functional import r2_score >>> input = torch.tensor([0, 2, 1, 3]) >>> target = torch.tensor([0, 1, 2, 3]) >>> r2_score(input, target) tensor(0.6) >>> input = torch.tensor([[0, 2], [1, 6]]) >>> target = torch.tensor([[0, 1], [2, 5]]) >>> r2_score(input, target) tensor(0.6250) >>> input = torch.tensor([[0, 2], [1, 6]]) >>> target = torch.tensor([[0, 1], [2, 5]]) >>> r2_score(input, target, multioutput="raw_values") tensor([0.5000, 0.7500]) >>> input = torch.tensor([[0, 2], [1, 6]]) >>> target = torch.tensor([[0, 1], [2, 5]]) >>> r2_score(input, target, multioutput="variance_weighted") tensor(0.7000) >>> input = torch.tensor([1.2, 2.5, 3.6, 4.5, 6]) >>> target = torch.tensor([1, 2, 3, 4, 5]) >>> r2_score(input, target, multioutput="raw_values", num_regressors=2) tensor(0.6200)