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。- Parameters:
input – 预测值的张量,形状为 (n_sample, n_output)。
target – 形状为 (n_sample, n_output) 的真实值张量。
multioutput (可选) –
'uniform_average'[默认]:返回所有输出的分数,使用统一权重进行平均。
'raw_values':返回完整的分数集。
variance_weighted:返回所有输出的分数,使用每个单独输出的方差进行加权平均。
num_regressors (可选) – 使用的独立变量数量,应用于调整后的R平方分数。默认为零(标准R平方分数)。
- Raises:
ValueError –
如果multioutput的值不存在于(
raw_values,uniform_average,variance_weighted)中。 - 如果num_regressors的值不是[0, n_samples - 1]范围内的整数。
示例:
>>> 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)