9 #ifndef NONPARAMCLASS_H
10 #define NONPARAMCLASS_H
13 namespace classification {
18 template<
class T=DTYPE>
31 NNC (
const size_t& k ) : k_(k) { } ;
39 NNC (
const arma::Mat<T>& inputs,
40 const arma::Row<size_t>& labels,
41 const size_t& num_class,
49 NNC (
const arma::Mat<T>& inputs,
50 const arma::Row<size_t>& labels,
51 const size_t& num_class );
57 void Train (
const arma::Mat<T>& inputs,
58 const arma::Row<size_t>& labels );
65 void Train (
const arma::Mat<T>& inputs,
66 const arma::Row<size_t>& labels,
67 const size_t num_class );
73 void Classify (
const arma::Mat<T>& inputs,
74 arma::Row<size_t>& labels )
const;
80 void Classify (
const arma::Mat<T>& inputs,
81 arma::Row<size_t>& labels,
82 arma::Mat<T>& probs )
const;
90 const arma::Row<size_t>& responses )
const;
99 const arma::Row<size_t>& responses )
const;
104 template<
typename Archive>
108 ar ( cereal::make_nvp(
"dim",dim_),
109 cereal::make_nvp(
"nuclass",nuclass_),
110 cereal::make_nvp(
"nclass",nclass_),
111 cereal::make_nvp(
"size",size_),
112 cereal::make_nvp(
"unique",unique_),
113 cereal::make_nvp(
"k",k_),
114 cereal::make_nvp(
"inputs",inputs_),
115 cereal::make_nvp(
"labels",labels_) );
127 arma::Row<size_t> unique_;
130 arma::Mat<T> inputs_;
131 arma::Row<size_t> labels_;
void serialize(Archive &ar, const unsigned int)
void Train(const arma::Mat< T > &inputs, const arma::Row< size_t > &labels)
void Classify(const arma::Mat< T > &inputs, arma::Row< size_t > &labels) const
T ComputeAccuracy(const arma::Mat< T > &points, const arma::Row< size_t > &responses) const
T ComputeError(const arma::Mat< T > &points, const arma::Row< size_t > &responses) const