Changeset 1120 for trunk/yat/classifier
- Timestamp:
- Feb 22, 2008, 12:18:41 AM (16 years ago)
- Location:
- trunk/yat/classifier
- Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/yat/classifier/DataLookup1D.cc
r1080 r1120 29 29 30 30 #include "yat/utility/matrix.h" 31 #include "yat/utility/ vector.h"31 #include "yat/utility/Vector.h" 32 32 33 33 #include <cassert> -
trunk/yat/classifier/IGP.h
r1050 r1120 28 28 #include "MatrixLookup.h" 29 29 #include "Target.h" 30 #include "yat/utility/ vector.h"30 #include "yat/utility/Vector.h" 31 31 #include "yat/utility/yat_assert.h" 32 32 … … 65 65 /// @return the IGP score for each class as elements in a vector. 66 66 /// 67 const utility:: vector& score(void) const;67 const utility::Vector& score(void) const; 68 68 69 69 70 70 private: 71 utility:: vector igp_;71 utility::Vector igp_; 72 72 Distance distance_; 73 73 … … 86 86 87 87 // Calculate IGP for each class 88 igp_ = utility:: vector(target_.nof_classes());88 igp_ = utility::Vector(target_.nof_classes()); 89 89 90 90 for(u_int i=0; i<target_.size(); i++) { … … 116 116 117 117 template <typename Distance> 118 const utility:: vector& IGP<Distance>::score(void) const118 const utility::Vector& IGP<Distance>::score(void) const 119 119 { 120 120 return igp_; -
trunk/yat/classifier/NBC.cc
r1042 r1120 101 101 assert(i<centroids_.rows()); 102 102 assert(j<centroids_.columns()); 103 centroids_(i,j) = aver[j].mean();104 103 assert(i<sigma2_.rows()); 105 104 assert(j<sigma2_.columns()); 106 if (aver[j].n()>1) 105 if (aver[j].n()>1){ 107 106 sigma2_(i,j) = aver[j].variance(); 108 else 107 centroids_(i,j) = aver[j].mean(); 108 } 109 else { 109 110 sigma2_(i,j) = std::numeric_limits<double>::quiet_NaN(); 111 centroids_(i,j) = std::numeric_limits<double>::quiet_NaN(); 112 } 110 113 } 111 114 } … … 125 128 assert(i<sigma2_.rows()); 126 129 assert(j<sigma2_.columns()); 127 if (aver[j].n()>1) 130 if (aver[j].n()>1){ 128 131 sigma2_(i,j) = aver[j].variance(); 129 else 132 centroids_(i,j) = aver[j].mean(); 133 } 134 else { 130 135 sigma2_(i,j) = std::numeric_limits<double>::quiet_NaN(); 136 centroids_(i,j) = std::numeric_limits<double>::quiet_NaN(); 137 } 131 138 } 132 139 } … … 142 149 assert(x.rows()==sigma2_.rows()); 143 150 assert(x.rows()==centroids_.rows()); 144 145 151 146 152 … … 192 198 // problems when calculating P = exp(- -lnP), we centralize matrix 193 199 // by adding a constant. 194 double m=0; 195 for (size_t i=0; i<prediction.rows(); ++i) 196 for (size_t j=0; j<prediction.columns(); ++j) 197 m+=prediction(i,j); 198 prediction -= m/prediction.rows()/prediction.columns(); 200 statistics::Averager a; 201 add(a, prediction.begin(), prediction.end()); 202 prediction -= a.mean(); 199 203 200 204 // exponentiate -
trunk/yat/classifier/NCC.h
r1115 r1120 38 38 #include "yat/statistics/AveragerWeighted.h" 39 39 #include "yat/utility/matrix.h" 40 #include "yat/utility/ vector.h"40 #include "yat/utility/Vector.h" 41 41 #include "yat/utility/stl_utility.h" 42 42 #include "yat/utility/yat_assert.h" -
trunk/yat/classifier/SVM.cc
r1108 r1120 30 30 #include "yat/statistics/Averager.h" 31 31 #include "yat/utility/matrix.h" 32 #include "yat/utility/ vector.h"32 #include "yat/utility/Vector.h" 33 33 34 34 #include <algorithm> … … 76 76 77 77 78 const utility:: vector& SVM::alpha(void) const78 const utility::Vector& SVM::alpha(void) const 79 79 { 80 80 return alpha_; … … 134 134 135 135 136 const theplu::yat::utility::vector& SVM::output(void) const136 const utility::Vector& SVM::output(void) const 137 137 { 138 138 return output_; … … 186 186 target_ = targ; 187 187 188 alpha_ = utility:: vector(targ.size(), 0.0);189 output_ = utility:: vector(targ.size(), 0.0);188 alpha_ = utility::Vector(targ.size(), 0.0); 189 output_ = utility::Vector(targ.size(), 0.0); 190 190 // initializing variables for optimization 191 191 assert(target_.size()==kernel_->rows()); … … 193 193 194 194 sample_.init(alpha_,tolerance_); 195 utility:: vector E(target_.size(),0);195 utility::Vector E(target_.size(),0); 196 196 for (size_t i=0; i<E.size(); i++) { 197 197 for (size_t j=0; j<E.size(); j++) … … 273 273 274 274 275 bool SVM::choose(const theplu::yat::utility:: vector& E)275 bool SVM::choose(const theplu::yat::utility::Vector& E) 276 276 { 277 277 // First check for violation among SVs -
trunk/yat/classifier/SVM.h
r1108 r1120 29 29 #include "SVindex.h" 30 30 #include "Target.h" 31 #include "yat/utility/ vector.h"31 #include "yat/utility/Vector.h" 32 32 33 33 #include <utility> … … 81 81 /// @return \f$ \alpha \f$ 82 82 /// 83 const utility:: vector& alpha(void) const;83 const utility::Vector& alpha(void) const; 84 84 85 85 /// … … 117 117 @return output 118 118 */ 119 const theplu::yat::utility:: vector& output(void) const;119 const theplu::yat::utility::Vector& output(void) const; 120 120 121 121 /** … … 215 215 /// can be found 216 216 /// 217 bool choose(const theplu::yat::utility:: vector&);217 bool choose(const theplu::yat::utility::Vector&); 218 218 219 219 /// … … 227 227 int target(size_t i) const; 228 228 229 utility:: vector alpha_;229 utility::Vector alpha_; 230 230 double bias_; 231 231 double C_inverse_; … … 233 233 double margin_; 234 234 unsigned long int max_epochs_; 235 utility:: vector output_;235 utility::Vector output_; 236 236 SVindex sample_; 237 237 Target target_; -
trunk/yat/classifier/SVindex.cc
r1100 r1120 27 27 #include "yat/statistics/Averager.h" 28 28 #include "yat/utility/matrix.h" 29 #include "yat/utility/ vector.h"29 #include "yat/utility/Vector.h" 30 30 31 31 #include <algorithm> … … 65 65 } 66 66 67 void SVindex::init(const utility:: vector& alpha, const double tol)67 void SVindex::init(const utility::Vector& alpha, const double tol) 68 68 { 69 69 nof_sv_=0; -
trunk/yat/classifier/SVindex.h
r1000 r1120 32 32 33 33 namespace utility { 34 class vector;34 class Vector; 35 35 } 36 36 … … 59 59 60 60 /// synch the object against alpha 61 void init(const utility:: vector& alpha, const double);61 void init(const utility::Vector& alpha, const double); 62 62 63 63 /// @return nof support vectors -
trunk/yat/classifier/utility.cc
r1009 r1120 26 26 #include "DataLookup1D.h" 27 27 #include "DataLookupWeighted1D.h" 28 #include "yat/utility/ vector.h"28 #include "yat/utility/Vector.h" 29 29 30 30 … … 33 33 namespace classifier { 34 34 35 void convert(const DataLookup1D& lookup, utility:: vector& vector)35 void convert(const DataLookup1D& lookup, utility::Vector& vector) 36 36 { 37 vector = utility:: vector(lookup.size());37 vector = utility::Vector(lookup.size()); 38 38 for(u_int i=0; i<lookup.size(); i++) 39 39 vector(i)=lookup(i); 40 40 } 41 41 42 void convert(const DataLookupWeighted1D& lookup, utility:: vector& value,43 utility:: vector& weight)42 void convert(const DataLookupWeighted1D& lookup, utility::Vector& value, 43 utility::Vector& weight) 44 44 { 45 45 46 value = utility:: vector(lookup.size());47 weight = utility:: vector(lookup.size());46 value = utility::Vector(lookup.size()); 47 weight = utility::Vector(lookup.size()); 48 48 for(u_int i=0; i<lookup.size(); i++){ 49 49 value(i)=lookup.data(i); -
trunk/yat/classifier/utility.h
r1000 r1120 30 30 31 31 namespace utility { 32 class vector;32 class Vector; 33 33 } 34 34 … … 41 41 /// Converts a DataLookup1D to a utility::vector 42 42 /// 43 void convert(const DataLookup1D&, utility:: vector&);43 void convert(const DataLookup1D&, utility::Vector&); 44 44 45 45 /// 46 46 /// Converts a DataLookupWeighted1D to two utility::vector 47 47 /// 48 void convert(const DataLookupWeighted1D&, utility:: vector& value,49 utility:: vector& weight);48 void convert(const DataLookupWeighted1D&, utility::Vector& value, 49 utility::Vector& weight); 50 50 51 51 }}} // of namespace classifier, yat, and theplu
Note: See TracChangeset
for help on using the changeset viewer.