# shrinkage::CrossValidationDatafit

Shrinkage for Rust · 0.3.0

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

```rust
pub trait CrossValidationDatafit: SmoothDatafit
```

A univariate datafit that can be rebuilt on a training-fold response. 

Implementations preserve the family and intercept setting. They validate training responses before solver preparation and supply a compatible score. 

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

## Associated types

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

### `WithResponse`

```rust
type WithResponse<'a>: CrossValidationDatafit;
```

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

Same family and settings borrowing a replacement response. 

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

## Methods

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

### `response`

```rust
fn response(&self) -> &[f64]
```

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

Observed response in original row order. 

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

### `supports_metric`

```rust
fn supports_metric(&self, metric: ValidationMetric) -> bool
```

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

Whether this family supports the requested metric. 

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

### `validate_training`

```rust
fn validate_training(&self) -> Result<(), FitError>
```

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

Validate a nonempty response, including degenerate training-fold policy. 

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

#### Errors

Reject invalid responses or training folds without a finite null model. 

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

### `validation_metric`

```rust
fn validation_metric(&self) -> ValidationMetric
```

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

Default held-out metric for this family. 

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

### `with_response`

```rust
fn with_response<'a>(
    &self,
    response: &'a [f64]
) -> <Self as CrossValidationDatafit>::WithResponse<'a>
```

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

Rebuild the family without retaining observations from other folds. 

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

## [Implementation of CrossValidationDatafit](<98601fc9b50fbe6c319e8c6f7936102bb90fb9e942a9ce7e6cbd3d48de803c74>)

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

```rust
impl CrossValidationDatafit for shrinkage::Binomial<'_>
```

<a id="impl-39ed4e870dd53ebe3d71fbdad9feb8d2749966a0c7e17ebc987196c6105e1c35"></a>

## [Implementation of CrossValidationDatafit](<98601fc9b50fbe6c319e8c6f7936102bb90fb9e942a9ce7e6cbd3d48de803c74>)

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

```rust
impl CrossValidationDatafit for shrinkage::Gaussian<'_>
```
