dqs.torch.loss.Pinball
This class is used to compute the Pinball loss.
class Pinball(
distribution,
loss_boundaries)
Parameters:
Args |
Type |
Description |
---|---|---|
distribution |
dqs.distribution |
Object from dqs.distribution package to store probability distribution. |
boundaries |
list (float) |
Quantile levels used in Portnoy estimator. |
loss(pred, y, e=None)
Parameters:
Args |
Type |
Description |
---|---|---|
pred |
Tensor (float) |
Estimated probability distribution to be evaluated. |
y |
Tensor (float) |
One-dimensional tensor to represent labels from a dataset. |
e |
Tensor (bool) |
Optional for survival analysis. One-dimensional tensor to represent censored (False) or uncensored (True). |
Return type: Tensor representing a single float.
Example
The following code computes the value of Portnoy estimator based on estimated probability distributions (pred
) and labels (y
).
boundaries = torch.linspace(0.0, 1.0, 11)
dist = dqs.distribution.DistributionLinear(boundaries)
loss_fn = dqs.loss.Pinball(dist, boundaries)
pred = torch.Tensor([[0.4,0.6],[0.2,0.8]])
y = torch.Tensor([0.5,0.5])
loss = loss_fn.loss(pred, y)