[mlpack-git] master: rename hmm_regression.cpp (2cde152)

gitdub at big.cc.gt.atl.ga.us gitdub at big.cc.gt.atl.ga.us
Thu Mar 5 22:02:01 EST 2015


Repository : https://github.com/mlpack/mlpack

On branch  : master
Link       : https://github.com/mlpack/mlpack/compare/904762495c039e345beba14c1142fd719b3bd50e...f94823c800ad6f7266995c700b1b630d5ffdcf40

>---------------------------------------------------------------

commit 2cde15275ae69b6427c7899dbaa49ef21d6516dc
Author: michaelfox99 <michaelfox99 at gmail.com>
Date:   Sun Nov 2 17:53:10 2014 +0000

    rename hmm_regression.cpp


>---------------------------------------------------------------

2cde15275ae69b6427c7899dbaa49ef21d6516dc
 ...ession_impl.hpp => regression_distribution.cpp} | 35 +++++++++++++++-------
 1 file changed, 25 insertions(+), 10 deletions(-)

diff --git a/src/mlpack/core/dists/hmm_regression_impl.hpp b/src/mlpack/core/dists/regression_distribution.cpp
similarity index 62%
copy from src/mlpack/core/dists/hmm_regression_impl.hpp
copy to src/mlpack/core/dists/regression_distribution.cpp
index 950e4e2..32dc09b 100644
--- a/src/mlpack/core/dists/hmm_regression_impl.hpp
+++ b/src/mlpack/core/dists/regression_distribution.cpp
@@ -1,13 +1,11 @@
 /**
- * @file hmm_regression_impl.hpp
+ * @file regression_distribution.cpp
  * @author Michael Fox
  *
  * Implementation of conditional Gaussian distribution for HMM regression (HMMR)
  */
-#ifndef __MLPACK_METHODS_HMM_DISTRIBUTIONS_CONDITIONAL_GAUSSIAN_DISTRIBUTION_IMPL_HPP
-#define __MLPACK_METHODS_HMM_DISTRIBUTIONS_CONDITIONAL_GAUSSIAN_DISTRIBUTION_IMPL_HPP
 
-#include "hmm_regression.hpp"
+#include "regression_distribution.hpp"
 
 using namespace mlpack;
 using namespace mlpack::distribution;
@@ -15,7 +13,7 @@ using namespace mlpack::distribution;
 /**
  * Returns a string representation of this object.
  */
-std::string HMMRegression::ToString()
+std::string RegressionDistribution::ToString()
     const
 {
   std::ostringstream convert;
@@ -34,9 +32,24 @@ std::string HMMRegression::ToString()
 /**
 * Estimate parameters using provided observation weights
 *
+* @param observations List of observations.
+*/
+void RegressionDistribution::Estimate(const arma::mat& observations)
+{
+  regression::LinearRegression lr(observations.rows(1, observations.n_rows-1),
+      (observations.row(0)).t(), 0, true);
+  rf = lr;
+  arma::vec fitted;
+  lr.Predict(observations.rows(1, observations.n_rows-1), fitted);
+  err.Estimate(observations.row(0)-fitted.t());
+}
+
+/**
+* Estimate parameters using provided observation weights
+*
 * @param weights probability that given observation is from distribution
 */
-void HMMRegression::Estimate(const arma::mat& observations,
+void RegressionDistribution::Estimate(const arma::mat& observations,
                              const arma::vec& weights)
 {
   regression::LinearRegression lr(observations.rows(1, observations.n_rows-1),
@@ -52,13 +65,15 @@ void HMMRegression::Estimate(const arma::mat& observations,
 *
 * @param observation point to evaluate probability at
 */
-double HMMRegression::Probability(const arma::vec& observation) const
+double RegressionDistribution::Probability(const arma::vec& observation) const
 {
   arma::vec fitted;
   rf.Predict(observation.rows(1, observation.n_rows-1), fitted);
   return err.Probability(observation(0)-fitted);
 }
 
-
-
-#endif
\ No newline at end of file
+void RegressionDistribution::Predict(const arma::mat& points,
+				                             arma::vec& predictions) const
+{
+	rf.Predict(points, predictions);
+}
\ No newline at end of file



More information about the mlpack-git mailing list