# Kinds of Target Proxy

The available kinds of target proxy are classified by subtypes of `LearnAPI.KindOfProxy`

. These types are intended for dispatch only and have no fields.

`LearnAPI.KindOfProxy`

— Type`LearnAPI.KindOfProxy`

Abstract type whose concrete subtypes `T`

each represent a different kind of proxy for some target variable, associated with some algorithm. Instances `T()`

are used to request the form of target predictions in `predict`

calls.

See LearnAPI.jl documentation for an explanation of "targets" and "target proxies".

For example, `Distribution`

is a concrete subtype of `LearnAPI.KindOfProxy`

and a call like `predict(model, Distribution(), Xnew)`

returns a data object whose observations are probability density/mass functions, assuming `algorithm`

supports predictions of that form.

Run `LearnAPI.CONCRETE_TARGET_PROXY_TYPES`

to list all options.

`LearnAPI.IID`

— Type`LearnAPI.IID <: LearnAPI.KindOfProxy`

Abstract subtype of `LearnAPI.KindOfProxy`

. If `kind_of_proxy`

is an instance of `LearnAPI.IID`

then, given `data`

constisting of $n$ observations, the following must hold:

`ŷ = LearnAPI.predict(model, kind_of_proxy, data...)`

is data also consisting of $n$ observations.The $j$th observation of

`ŷ`

, for any $j$, depends only on the $j$th observation of the provided`data`

(no correlation between observations).

See also `LearnAPI.KindOfProxy`

.

## Simple target proxies (subtypes of `LearnAPI.IID`

)

type | form of an observation |
---|---|

`LearnAPI.LiteralTarget` | same as target observations |

`LearnAPI.Sampleable` | object that can be sampled to obtain object of the same form as target observation |

`LearnAPI.Distribution` | explicit probability density/mass function whose sample space is all possible target observations |

`LearnAPI.LogDistribution` | explicit log-probability density/mass function whose sample space is possible target observations |

† `LearnAPI.Probability` | numerical probability or probability vector |

† `LearnAPI.LogProbability` | log-probability or log-probability vector |

† `LearnAPI.Parametric` | a list of parameters (e.g., mean and variance) describing some distribution |

`LearnAPI.LabelAmbiguous` | collections of labels (in case of multi-class target) but without a known correspondence to the original target labels (and of possibly different number) as in, e.g., clustering |

`LearnAPI.LabelAmbiguousSampleable` | sampleable version of `LabelAmbiguous` ; see `Sampleable` above |

`LearnAPI.LabelAmbiguousDistribution` | pdf/pmf version of `LabelAmbiguous` ; see `Distribution` above |

`LearnAPI.ConfidenceInterval` | confidence interval |

`LearnAPI.Set` | finite but possibly varying number of target observations |

`LearnAPI.ProbabilisticSet` | as for `Set` but labeled with probabilities (not necessarily summing to one) |

`LearnAPI.SurvivalFunction` | survival function |

`LearnAPI.SurvivalDistribution` | probability distribution for survival time |

`LearnAPI.OutlierScore` | numerical score reflecting degree of outlierness (not necessarily normalized) |

`LearnAPI.Continuous` | real-valued approximation/interpolation of a discrete-valued target, such as a count (e.g., number of phone calls) |

† Provided for completeness but discouraged to avoid ambiguities in representation.

Table of concrete subtypes of

`LearnAPI.IID <: LearnAPI.KindOfProxy`

.

## When the proxy for the target is a single object

In the following table of subtypes `T <: LearnAPI.KindOfProxy`

not falling under the `IID`

umbrella, it is understood that `predict(model, ::T, ...)`

is not divided into individual observations, but represents a *single* probability distribution for the sample space $Y^n$, where $Y$ is the space the target variable takes its values, and `n`

is the number of observations in `data`

.

type `T` | form of output of `predict(model, ::T, data...)` |
---|---|

`LearnAPI.JointSampleable` | object that can be sampled to obtain a vector whose elements have the form of target observations; the vector length matches the number of observations in `data` . |

`LearnAPI.JointDistribution` | explicit probability density/mass function whose sample space is vectors of target observations; the vector length matches the number of observations in `data` |

`LearnAPI.JointLogDistribution` | explicit log-probability density/mass function whose sample space is vectors of target observations; the vector length matches the number of observations in `data` |

Table of

`LearnAPI.KindOfProxy`

subtypes not subtyping`LearnAPI.IID`