# shrinkage::Datafit

Shrinkage for Rust · 0.3.0

[Source](<https://github.com/jolars/shrinkage/blob/eeafe449edce19d3c552a03060f681ae3891af74/src/datafit.rs>)

```rust
pub trait Datafit
```

Datafit `F` evaluated on a complete linear predictor, including any intercept. 

Derivatives and solver-specific updates are separate capabilities. Matrix products belong to the design, not the datafit. 

<a id="associated-types"></a>

## Associated types

<a id="associated-type-Error"></a>

### `Error`

```rust
type Error;
```

[Source](<https://github.com/jolars/shrinkage/blob/eeafe449edce19d3c552a03060f681ae3891af74/src/datafit.rs>)

Failure returned by loss evaluation. 

<a id="methods"></a>

## Methods

<a id="method-value"></a>

### `value`

```rust
fn value(&self, predictor: &[f64]) -> Result<f64, <Self as Datafit>::Error>
```

[Source](<https://github.com/jolars/shrinkage/blob/eeafe449edce19d3c552a03060f681ae3891af74/src/datafit.rs>)

Evaluate the loss using this datafit's normalization convention. 

<a id="method-value-documentation-errors"></a>

#### Errors

Returns an error for invalid data, predictor dimensions, or arithmetic. 

<a id="impl-47f1fe634b023d05b8ca5508408f5a3a296064c0dcbb6186486a819d26c5a6e4"></a>

## [Implementation of Datafit](<9d16367f3210bbbb9bf039290cf9c94f447e51d4ea33aea446a7f30e965d873a>)

[Source](<https://github.com/jolars/shrinkage/blob/eeafe449edce19d3c552a03060f681ae3891af74/src/datafit/binomial.rs>)

```rust
impl Datafit for Binomial<'_>
```

<a id="impl-3c5f79bb886e12290d5e9b21c6152f342ea7c10b230183d0d17bd63d13ffecc0"></a>

## [Implementation of Datafit](<9d16367f3210bbbb9bf039290cf9c94f447e51d4ea33aea446a7f30e965d873a>)

[Source](<https://github.com/jolars/shrinkage/blob/eeafe449edce19d3c552a03060f681ae3891af74/src/datafit/gaussian.rs>)

```rust
impl Datafit for Gaussian<'_>
```

<a id="impl-cfd0b61e0db351c6bfee407b028f49c366af1f21f8222dffab0bc494090c2485"></a>

## [Implementation of Datafit](<9d16367f3210bbbb9bf039290cf9c94f447e51d4ea33aea446a7f30e965d873a>)

[Source](<https://github.com/jolars/shrinkage/blob/eeafe449edce19d3c552a03060f681ae3891af74/src/datafit/multivariate.rs>)

```rust
impl Datafit for MultivariateGaussian<'_>
```

<a id="impl-01753b69915e67b8be3ef8b78c655be91611ded8453da0e0fa9b5b2148149c3e"></a>

## [Implementation of Datafit](<9d16367f3210bbbb9bf039290cf9c94f447e51d4ea33aea446a7f30e965d873a>)

[Source](<https://github.com/jolars/shrinkage/blob/eeafe449edce19d3c552a03060f681ae3891af74/src/datafit/linked.rs>)

```rust
impl<L: Link> Datafit for LinkedDatafit<shrinkage::Binomial<'_>, L>
```

<a id="impl-cc9242c80e0b8860c722a490b233149ab083ffb4f402664e77d46df1ccb9f140"></a>

## [Implementation of Datafit](<9d16367f3210bbbb9bf039290cf9c94f447e51d4ea33aea446a7f30e965d873a>)

[Source](<https://github.com/jolars/shrinkage/blob/eeafe449edce19d3c552a03060f681ae3891af74/src/datafit/linked.rs>)

```rust
impl<L: Link> Datafit for LinkedDatafit<shrinkage::Gaussian<'_>, L>
```
