pub struct VariationalBayesianRegression {
pub mean_beta: Array1<f64>,
pub cov_beta: Array2<f64>,
pub shape_tau: f64,
pub rate_tau: f64,
pub prior_mean_beta: Array1<f64>,
pub prior_cov_beta: Array2<f64>,
pub priorshape_tau: f64,
pub prior_rate_tau: f64,
pub n_features: usize,
pub fit_intercept: bool,
}Expand description
Mean-field variational inference for Bayesian linear regression
Approximates the posterior with a factorized normal distribution: q(beta, tau) = q(beta)q(tau) where q(beta) ~ N(mu_beta, Sigma_beta) and q(tau) ~ Gamma(a_tau, b_tau)
Fields§
§mean_beta: Array1<f64>Variational mean for coefficients
cov_beta: Array2<f64>Variational covariance for coefficients
shape_tau: f64Variational shape parameter for precision
rate_tau: f64Variational rate parameter for precision
prior_mean_beta: Array1<f64>Prior parameters
prior_cov_beta: Array2<f64>§priorshape_tau: f64§prior_rate_tau: f64§n_features: usizeModel dimensionality
fit_intercept: boolWhether to fit intercept
Implementations§
Source§impl VariationalBayesianRegression
impl VariationalBayesianRegression
Sourcepub fn new(n_features: usize, fit_intercept: bool) -> Result<Self>
pub fn new(n_features: usize, fit_intercept: bool) -> Result<Self>
Create a new variational Bayesian regression model
Sourcepub fn with_priors(
self,
prior_mean_beta: Array1<f64>,
prior_cov_beta: Array2<f64>,
priorshape_tau: f64,
prior_rate_tau: f64,
) -> Result<Self>
pub fn with_priors( self, prior_mean_beta: Array1<f64>, prior_cov_beta: Array2<f64>, priorshape_tau: f64, prior_rate_tau: f64, ) -> Result<Self>
Set custom priors
Sourcepub fn fit(
&mut self,
x: ArrayView2<'_, f64>,
y: ArrayView1<'_, f64>,
max_iter: usize,
tol: f64,
) -> Result<VariationalRegressionResult>
pub fn fit( &mut self, x: ArrayView2<'_, f64>, y: ArrayView1<'_, f64>, max_iter: usize, tol: f64, ) -> Result<VariationalRegressionResult>
Fit the model using coordinate ascent variational inference
Sourcepub fn predict(
&self,
x: ArrayView2<'_, f64>,
result: &VariationalRegressionResult,
) -> Result<VariationalPredictionResult>
pub fn predict( &self, x: ArrayView2<'_, f64>, result: &VariationalRegressionResult, ) -> Result<VariationalPredictionResult>
Predict on new data
Trait Implementations§
Source§impl Clone for VariationalBayesianRegression
impl Clone for VariationalBayesianRegression
Source§fn clone(&self) -> VariationalBayesianRegression
fn clone(&self) -> VariationalBayesianRegression
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for VariationalBayesianRegression
impl RefUnwindSafe for VariationalBayesianRegression
impl Send for VariationalBayesianRegression
impl Sync for VariationalBayesianRegression
impl Unpin for VariationalBayesianRegression
impl UnsafeUnpin for VariationalBayesianRegression
impl UnwindSafe for VariationalBayesianRegression
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.