12 #ifndef MLPACK_CORE_DISTRIBUTIONS_REGRESSION_DISTRIBUTION_HPP 13 #define MLPACK_CORE_DISTRIBUTIONS_REGRESSION_DISTRIBUTION_HPP 20 namespace distribution {
52 const arma::vec& responses) :
53 rf(regression::LinearRegression(predictors, responses))
64 template<
typename Archive>
86 void Train(
const arma::mat& observations);
93 void Train(
const arma::mat& observations,
const arma::vec& weights);
100 double Probability(
const arma::vec& observation)
const;
117 void Predict(
const arma::mat& points, arma::vec& predictions)
const;
A single multivariate Gaussian distribution.
const arma::vec & Parameters() const
Return the parameters (the b vector).
Linear algebra utility functions, generally performed on matrices or vectors.
A simple linear regression algorithm using ordinary least squares.
const GaussianDistribution & Err() const
Return error distribution.
RegressionDistribution()
Default constructor, which creates a Gaussian with zero dimension.
void Predict(const arma::mat &points, arma::vec &predictions) const
Calculate y_i for each data point in points.
The core includes that mlpack expects; standard C++ includes and Armadillo.
FirstShim< T > CreateNVP(T &t, const std::string &name, typename std::enable_if_t< HasSerialize< T >::value > *=0)
Call this function to produce a name-value pair; this is similar to BOOST_SERIALIZATION_NVP(), but should be used for types that have a Serialize() function (or contain a type that has a Serialize() function) instead of a serialize() function.
void Train(const arma::mat &observations)
Estimate the Gaussian distribution directly from the given observations.
RegressionDistribution(const arma::mat &predictors, const arma::vec &responses)
Create a Conditional Gaussian distribution with conditional mean function obtained by running Regress...
double Probability(const arma::vec &observation) const
Evaluate probability density function of given observation.
double ComputeError(const arma::mat &points, const arma::vec &responses) const
Calculate the L2 squared error on the given predictors and responses using this linear regression mod...
double LogProbability(const arma::vec &observation) const
Evaluate log probability density function of given observation.
const regression::LinearRegression & Rf() const
Return regression function.
const arma::vec & Parameters() const
Return the parameters (the b vector).
size_t Dimensionality() const
Return the dimensionality.
A class that represents a univariate conditionally Gaussian distribution.
GaussianDistribution err
Error distribution.
regression::LinearRegression rf
Regression function for representing conditional mean.
void Serialize(Archive &ar, const unsigned int)
Serialize the distribution.
regression::LinearRegression & Rf()
Modify regression function.
const arma::mat & Covariance() const
Return the covariance matrix.
GaussianDistribution & Err()
Modify error distribution.