pub trait TargetTransform {
type State;
// Required methods
fn fit(y: &[f64]) -> Result<Self::State, TransformError>;
fn transform(state: &Self::State, y: f64) -> f64;
fn inverse(state: &Self::State, value: f64) -> f64;
// Provided methods
fn fit_transform(
y: &[f64],
) -> Result<(Self::State, Vec<f64>), TransformError> { ... }
fn transform_slice(
state: &Self::State,
y: &[f64],
) -> Result<Vec<f64>, TransformError> { ... }
fn transform_into(
state: &Self::State,
y: &[f64],
out: &mut [f64],
) -> Result<(), TransformError> { ... }
fn inverse_slice(
state: &Self::State,
values: &[f64],
) -> Result<Vec<f64>, TransformError> { ... }
fn inverse_into(
state: &Self::State,
values: &[f64],
out: &mut [f64],
) -> Result<(), TransformError> { ... }
}Expand description
Transform целевой переменной с состоянием, оцениваемым на обучающем target.
Required Associated Types§
Required Methods§
Sourcefn fit(y: &[f64]) -> Result<Self::State, TransformError>
fn fit(y: &[f64]) -> Result<Self::State, TransformError>
Оценивает состояние transform-а по обучающему target.
§Errors
Возвращает TransformError, если target пуст, содержит не-finite
значения или нарушает domain-инварианты конкретного transform-а.
Provided Methods§
Sourcefn fit_transform(y: &[f64]) -> Result<(Self::State, Vec<f64>), TransformError>
fn fit_transform(y: &[f64]) -> Result<(Self::State, Vec<f64>), TransformError>
Оценивает состояние и преобразует весь target.
§Errors
Возвращает ошибку из Self::fit или Self::transform_slice.
Sourcefn transform_slice(
state: &Self::State,
y: &[f64],
) -> Result<Vec<f64>, TransformError>
fn transform_slice( state: &Self::State, y: &[f64], ) -> Result<Vec<f64>, TransformError>
Преобразует срез target в новый Vec.
§Errors
Возвращает TransformError::NonFiniteValue, если вход содержит
NaN или infinity. Конкретные transform-ы могут усиливать проверку
domain-а, например требовать строго положительные значения.
Sourcefn transform_into(
state: &Self::State,
y: &[f64],
out: &mut [f64],
) -> Result<(), TransformError>
fn transform_into( state: &Self::State, y: &[f64], out: &mut [f64], ) -> Result<(), TransformError>
Преобразует срез target в caller-provided output buffer.
§Errors
Возвращает TransformError::LengthMismatch, если длина out не
совпадает с длиной входа. Возвращает TransformError::NonFiniteValue,
если вход содержит NaN или infinity. Конкретные transform-ы могут
усиливать проверку domain-а.
Sourcefn inverse_slice(
state: &Self::State,
values: &[f64],
) -> Result<Vec<f64>, TransformError>
fn inverse_slice( state: &Self::State, values: &[f64], ) -> Result<Vec<f64>, TransformError>
Возвращает срез значений на исходную шкалу в новый Vec.
§Errors
Возвращает TransformError::NonFiniteValue, если значения на
transform-шкале содержат NaN или infinity.
Sourcefn inverse_into(
state: &Self::State,
values: &[f64],
out: &mut [f64],
) -> Result<(), TransformError>
fn inverse_into( state: &Self::State, values: &[f64], out: &mut [f64], ) -> Result<(), TransformError>
Возвращает transform-scale values на исходную шкалу в caller-provided buffer.
§Errors
Возвращает TransformError::LengthMismatch, если длина out не
совпадает с длиной входа. Возвращает TransformError::NonFiniteValue,
если вход содержит NaN или infinity.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".