Changeset 1121 for trunk/yat/classifier
- Timestamp:
- Feb 22, 2008, 4:29:56 PM (16 years ago)
- Location:
- trunk/yat/classifier
- Files:
-
- 17 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/yat/classifier/DataLookup1D.cc
r1120 r1121 28 28 #include "MatrixLookup.h" 29 29 30 #include "yat/utility/ matrix.h"30 #include "yat/utility/Matrix.h" 31 31 #include "yat/utility/Vector.h" 32 32 … … 66 66 : column_vector_(true), index_(0), owner_(true) 67 67 { 68 utility:: matrix* m = new utility::matrix(1,index.size());68 utility::Matrix* m = new utility::Matrix(1,index.size()); 69 69 for (size_t i=0; i<index.size(); ++i){ 70 70 assert(index[i]<v.size()); … … 78 78 : column_vector_(false), index_(0), owner_(true) 79 79 { 80 utility:: matrix* m = new utility::matrix(1,v.size());80 utility::Matrix* m = new utility::Matrix(1,v.size()); 81 81 for (size_t i=0; i<v.size(); ++i){ 82 82 (*m)(0,i)=v(i); -
trunk/yat/classifier/EnsembleBuilder.h
r1088 r1121 31 31 #include "SubsetGenerator.h" 32 32 #include "yat/statistics/Averager.h" 33 #include "yat/utility/Matrix.h" 33 34 34 35 #include <vector> … … 177 178 result.push_back(std::vector<statistics::Averager>(data.columns())); 178 179 179 utility:: matrix prediction;180 utility::Matrix prediction; 180 181 181 182 for(u_long k=0;k<subset_->size();++k) { … … 203 204 validation_result_.push_back(std::vector<statistics::Averager>(subset_->target().size())); 204 205 205 utility:: matrix prediction;206 utility::Matrix prediction; 206 207 for(u_long k=0;k<subset_->size();k++) { 207 208 classifier(k).predict(subset_->validation_data(k),prediction); -
trunk/yat/classifier/KNN.h
r1115 r1121 32 32 #include "SupervisedClassifier.h" 33 33 #include "Target.h" 34 #include "yat/utility/ matrix.h"34 #include "yat/utility/Matrix.h" 35 35 #include "yat/utility/yat_assert.h" 36 36 … … 107 107 /// 108 108 /// 109 void predict(const DataLookup2D&, utility:: matrix&) const;109 void predict(const DataLookup2D&, utility::Matrix&) const; 110 110 111 111 … … 129 129 /// generated and needs to be deleted by the caller. 130 130 /// 131 utility:: matrix* calculate_distances(const DataLookup2D&) const;131 utility::Matrix* calculate_distances(const DataLookup2D&) const; 132 132 133 133 void calculate_unweighted(const MatrixLookup&, 134 134 const MatrixLookup&, 135 utility:: matrix*) const;135 utility::Matrix*) const; 136 136 void calculate_weighted(const MatrixLookupWeighted&, 137 137 const MatrixLookupWeighted&, 138 utility:: matrix*) const;138 utility::Matrix*) const; 139 139 }; 140 140 … … 162 162 163 163 template <typename Distance, typename NeighborWeighting> 164 utility:: matrix* KNN<Distance, NeighborWeighting>::calculate_distances164 utility::Matrix* KNN<Distance, NeighborWeighting>::calculate_distances 165 165 (const DataLookup2D& test) const 166 166 { 167 167 // matrix with training samples as rows and test samples as columns 168 utility:: matrix* distances =169 new utility:: matrix(data_.columns(),test.columns());168 utility::Matrix* distances = 169 new utility::Matrix(data_.columns(),test.columns()); 170 170 171 171 … … 210 210 void KNN<Distance, NeighborWeighting>::calculate_unweighted 211 211 (const MatrixLookup& training, const MatrixLookup& test, 212 utility:: matrix* distances) const212 utility::Matrix* distances) const 213 213 { 214 214 for(size_t i=0; i<training.columns(); i++) { … … 226 226 KNN<Distance, NeighborWeighting>::calculate_weighted 227 227 (const MatrixLookupWeighted& training, const MatrixLookupWeighted& test, 228 utility:: matrix* distances) const228 utility::Matrix* distances) const 229 229 { 230 230 for(size_t i=0; i<training.columns(); i++) { … … 295 295 template <typename Distance, typename NeighborWeighting> 296 296 void KNN<Distance, NeighborWeighting>::predict(const DataLookup2D& test, 297 utility:: matrix& prediction) const297 utility::Matrix& prediction) const 298 298 { 299 299 utility::yat_assert<std::runtime_error>(data_.rows()==test.rows()); 300 300 301 utility:: matrix* distances=calculate_distances(test);301 utility::Matrix* distances=calculate_distances(test); 302 302 303 303 prediction.resize(target_.nof_classes(),test.columns(),0.0); -
trunk/yat/classifier/KernelLookup.cc
r1105 r1121 26 26 #include "MatrixLookup.h" 27 27 #include "MatrixLookupWeighted.h" 28 #include " ../utility/matrix.h"28 #include "yat/utility/Matrix.h" 29 29 30 30 #include <cassert> … … 205 205 assert(data.rows()==kernel_->data().rows()); 206 206 if (!weighted()){ 207 utility:: matrix* data_all =208 new utility:: matrix(data.rows(), row_index_.size()+data.columns());207 utility::Matrix* data_all = 208 new utility::Matrix(data.rows(), row_index_.size()+data.columns()); 209 209 210 210 for (size_t i=0; i<data_all->rows(); ++i) { … … 240 240 // kernel_ holds MatrixLookupWeighted, hence new Kernel also 241 241 // should hold a MatrixLookupweighted. 242 utility:: matrix* data_all =243 new utility:: matrix(data.rows(), rows()+data.columns());244 utility:: matrix* weight_all =245 new utility:: matrix(data.rows(), rows()+data.columns(), 1.0);242 utility::Matrix* data_all = 243 new utility::Matrix(data.rows(), rows()+data.columns()); 244 utility::Matrix* weight_all = 245 new utility::Matrix(data.rows(), rows()+data.columns(), 1.0); 246 246 const MatrixLookupWeighted& kernel_data = 247 247 dynamic_cast<const MatrixLookupWeighted&>(kernel_->data()); … … 281 281 KernelLookup::test_kernel(const MatrixLookupWeighted& data) const 282 282 { 283 utility:: matrix* data_all =284 new utility:: matrix(data.rows(), rows()+data.columns());285 utility:: matrix* weight_all =286 new utility:: matrix(data.rows(), rows()+data.columns(), 1.0);283 utility::Matrix* data_all = 284 new utility::Matrix(data.rows(), rows()+data.columns()); 285 utility::Matrix* weight_all = 286 new utility::Matrix(data.rows(), rows()+data.columns(), 1.0); 287 287 288 288 if (weighted()){ -
trunk/yat/classifier/Kernel_SEV.cc
r1098 r1121 28 28 #include "KernelFunction.h" 29 29 #include "MatrixLookup.h" 30 #include "yat/utility/ matrix.h"30 #include "yat/utility/Matrix.h" 31 31 32 32 namespace theplu { -
trunk/yat/classifier/Kernel_SEV.h
r1000 r1121 28 28 29 29 #include "Kernel.h" 30 #include "yat/utility/ matrix.h"30 #include "yat/utility/Matrix.h" 31 31 32 32 namespace theplu { … … 113 113 void build_kernel(void); 114 114 115 utility:: matrix kernel_matrix_;115 utility::Matrix kernel_matrix_; 116 116 117 117 }; // class Kernel_SEV -
trunk/yat/classifier/MatrixLookup.cc
r1105 r1121 25 25 26 26 #include "MatrixLookup.h" 27 #include "yat/utility/ matrix.h"27 #include "yat/utility/Matrix.h" 28 28 29 29 #include <algorithm> … … 35 35 namespace classifier { 36 36 37 MatrixLookup::MatrixLookup(const utility:: matrix& data, const bool own)37 MatrixLookup::MatrixLookup(const utility::Matrix& data, const bool own) 38 38 : DataLookup2D(own), data_(&data) 39 39 { … … 48 48 49 49 50 MatrixLookup::MatrixLookup(const utility:: matrix& data,50 MatrixLookup::MatrixLookup(const utility::Matrix& data, 51 51 const std::vector<size_t>& row, 52 52 const std::vector<size_t>& col) … … 63 63 64 64 65 MatrixLookup::MatrixLookup(const utility:: matrix& data,65 MatrixLookup::MatrixLookup(const utility::Matrix& data, 66 66 const std::vector<size_t>& index, 67 67 const bool row) … … 136 136 : DataLookup2D(rows,columns) 137 137 { 138 data_ = new utility:: matrix(1,1,value);138 data_ = new utility::Matrix(1,1,value); 139 139 ref_count_= new u_int(1); 140 140 } … … 144 144 : DataLookup2D() 145 145 { 146 data_ = new utility:: matrix(is,sep);146 data_ = new utility::Matrix(is,sep); 147 147 ref_count_= new u_int(1); 148 148 for(size_t i=0;i<(*data_).rows();i++) -
trunk/yat/classifier/MatrixLookup.h
r1110 r1121 39 39 40 40 namespace utility { 41 class matrix;41 class Matrix; 42 42 } 43 43 … … 96 96 /// undefined. 97 97 /// 98 MatrixLookup(const utility:: matrix& matrix, const bool own=false);98 MatrixLookup(const utility::Matrix& matrix, const bool own=false); 99 99 100 100 /// … … 111 111 /// undefined. 112 112 /// 113 MatrixLookup(const utility:: matrix& matrix, const std::vector<size_t>& row,113 MatrixLookup(const utility::Matrix& matrix, const std::vector<size_t>& row, 114 114 const std::vector<size_t>& column); 115 115 … … 131 131 /// undefined. 132 132 /// 133 MatrixLookup(const utility:: matrix& matrix,133 MatrixLookup(const utility::Matrix& matrix, 134 134 const std::vector<size_t>& index, 135 135 const bool row_vectors); … … 330 330 friend class MatrixLookupWeighted; 331 331 332 const utility:: matrix* data_;332 const utility::Matrix* data_; 333 333 }; 334 334 -
trunk/yat/classifier/MatrixLookupWeighted.cc
r1105 r1121 25 25 #include "MatrixLookupWeighted.h" 26 26 #include "MatrixLookup.h" 27 #include "yat/utility/ matrix.h"27 #include "yat/utility/Matrix.h" 28 28 29 29 #include <algorithm> … … 35 35 namespace classifier { 36 36 37 MatrixLookupWeighted::MatrixLookupWeighted(const utility:: matrix& data,38 const utility:: matrix& weights,37 MatrixLookupWeighted::MatrixLookupWeighted(const utility::Matrix& data, 38 const utility::Matrix& weights, 39 39 const bool own) 40 40 : DataLookup2D(own), data_(&data), weights_(&weights), … … 50 50 51 51 52 MatrixLookupWeighted::MatrixLookupWeighted(const utility:: matrix& data)52 MatrixLookupWeighted::MatrixLookupWeighted(const utility::Matrix& data) 53 53 : DataLookup2D(), data_(&data) 54 54 { 55 utility:: matrix weights;55 utility::Matrix weights; 56 56 utility::nan(*data_,weights); 57 weights_= new utility:: matrix(weights);57 weights_= new utility::Matrix(weights); 58 58 ref_count_weights_=new u_int(1); 59 59 for(size_t i=0;i<(*data_).rows();i++) … … 67 67 : DataLookup2D(ml), data_(ml.data_) 68 68 { 69 weights_= new utility:: matrix(data_->rows(), data_->columns(), 1.0);69 weights_= new utility::Matrix(data_->rows(), data_->columns(), 1.0); 70 70 ref_count_weights_=new u_int(1); 71 71 ref_count_=ml.ref_count_; … … 76 76 77 77 78 MatrixLookupWeighted::MatrixLookupWeighted(const utility:: matrix& data,79 const utility:: matrix& weights,78 MatrixLookupWeighted::MatrixLookupWeighted(const utility::Matrix& data, 79 const utility::Matrix& weights, 80 80 const std::vector<size_t>& row, 81 81 const std::vector<size_t>& col) … … 99 99 100 100 101 MatrixLookupWeighted::MatrixLookupWeighted(const utility:: matrix& data,102 const utility:: matrix& weights,101 MatrixLookupWeighted::MatrixLookupWeighted(const utility::Matrix& data, 102 const utility::Matrix& weights, 103 103 const std::vector<size_t>& index, 104 104 const bool row) … … 209 209 : DataLookup2D(rows,columns) 210 210 { 211 data_ = new utility:: matrix(1,1,value);211 data_ = new utility::Matrix(1,1,value); 212 212 ref_count_=new u_int(1); 213 weights_ = new utility:: matrix(1,1,weight);213 weights_ = new utility::Matrix(1,1,weight); 214 214 ref_count_weights_=new u_int(1); 215 215 } … … 219 219 : DataLookup2D() 220 220 { 221 data_ = new utility:: matrix(is,sep);221 data_ = new utility::Matrix(is,sep); 222 222 ref_count_=new u_int(1); 223 223 for(size_t i=0;i<(*data_).rows();i++) … … 225 225 for(size_t i=0;i<(*data_).columns();i++) 226 226 column_index_.push_back(i); 227 utility:: matrix weights;227 utility::Matrix weights; 228 228 utility::nan(*data_,weights); 229 weights_= new utility:: matrix(weights);229 weights_= new utility::Matrix(weights); 230 230 ref_count_weights_=new u_int(1); 231 231 } -
trunk/yat/classifier/MatrixLookupWeighted.h
r1110 r1121 39 39 40 40 namespace utility { 41 class matrix;41 class Matrix; 42 42 } 43 43 … … 91 91 /// result of further use is undefined. 92 92 /// 93 MatrixLookupWeighted(const utility:: matrix& matrix,94 const utility:: matrix& weights,93 MatrixLookupWeighted(const utility::Matrix& matrix, 94 const utility::Matrix& weights, 95 95 const bool owner=false); 96 96 … … 107 107 /// result of further use is undefined. 108 108 /// 109 MatrixLookupWeighted(const utility:: matrix& matrix);109 MatrixLookupWeighted(const utility::Matrix& matrix); 110 110 111 111 … … 140 140 /// undefined. 141 141 /// 142 MatrixLookupWeighted(const utility:: matrix& matrix,143 const utility:: matrix& weights,142 MatrixLookupWeighted(const utility::Matrix& matrix, 143 const utility::Matrix& weights, 144 144 const std::vector<size_t>& row, 145 145 const std::vector<size_t>& column); … … 163 163 /// result of further use is undefined. 164 164 /// 165 MatrixLookupWeighted(const utility:: matrix& matrix,166 const utility:: matrix& weights,165 MatrixLookupWeighted(const utility::Matrix& matrix, 166 const utility::Matrix& weights, 167 167 const std::vector<size_t>& index, 168 168 const bool row_vectors); … … 368 368 369 369 private: 370 const utility:: matrix* data_;371 const utility:: matrix* weights_;370 const utility::Matrix* data_; 371 const utility::Matrix* weights_; 372 372 u_int* ref_count_weights_; 373 373 }; -
trunk/yat/classifier/NBC.cc
r1120 r1121 29 29 #include "Target.h" 30 30 #include "yat/statistics/AveragerWeighted.h" 31 #include "yat/utility/ matrix.h"31 #include "yat/utility/Matrix.h" 32 32 33 33 #include <cassert> … … 86 86 sigma2_.resize(data_.rows(), target_.nof_classes()); 87 87 centroids_.resize(data_.rows(), target_.nof_classes()); 88 utility:: matrix nof_in_class(data_.rows(), target_.nof_classes());88 utility::Matrix nof_in_class(data_.rows(), target_.nof_classes()); 89 89 90 90 // unweighted … … 144 144 145 145 void NBC::predict(const DataLookup2D& x, 146 utility:: matrix& prediction) const146 utility::Matrix& prediction) const 147 147 { 148 148 assert(data_.rows()==x.rows()); -
trunk/yat/classifier/NBC.h
r1042 r1121 27 27 28 28 #include "SupervisedClassifier.h" 29 #include "yat/utility/ matrix.h"29 #include "yat/utility/Matrix.h" 30 30 31 31 namespace theplu { … … 99 99 using all weight equal to unity. 100 100 */ 101 void predict(const DataLookup2D& data, utility:: matrix& res) const;101 void predict(const DataLookup2D& data, utility::Matrix& res) const; 102 102 103 103 104 104 private: 105 utility:: matrix centroids_;106 utility:: matrix sigma2_;105 utility::Matrix centroids_; 106 utility::Matrix sigma2_; 107 107 const DataLookup2D& data_; 108 108 -
trunk/yat/classifier/NCC.h
r1120 r1121 37 37 #include "yat/statistics/Averager.h" 38 38 #include "yat/statistics/AveragerWeighted.h" 39 #include "yat/utility/ matrix.h"39 #include "yat/utility/Matrix.h" 40 40 #include "yat/utility/Vector.h" 41 41 #include "yat/utility/stl_utility.h" … … 81 81 /// @return the centroids for each class as columns in a matrix. 82 82 /// 83 const utility:: matrix& centroids(void) const;83 const utility::Matrix& centroids(void) const; 84 84 85 85 const DataLookup2D& data(void) const; … … 100 100 /// Calculate the distance to each centroid for test samples 101 101 /// 102 void predict(const DataLookup2D&, utility:: matrix&) const;102 void predict(const DataLookup2D&, utility::Matrix&) const; 103 103 104 104 105 105 private: 106 106 107 void predict_unweighted(const MatrixLookup&, utility:: matrix&) const;108 void predict_weighted(const MatrixLookupWeighted&, utility:: matrix&) const;109 110 utility:: matrix* centroids_;107 void predict_unweighted(const MatrixLookup&, utility::Matrix&) const; 108 void predict_weighted(const MatrixLookupWeighted&, utility::Matrix&) const; 109 110 utility::Matrix* centroids_; 111 111 bool centroids_nan_; 112 112 Distance distance_; … … 145 145 146 146 template <typename Distance> 147 const utility:: matrix& NCC<Distance>::centroids(void) const147 const utility::Matrix& NCC<Distance>::centroids(void) const 148 148 { 149 149 return *centroids_; … … 185 185 if(centroids_) 186 186 delete centroids_; 187 centroids_= new utility:: matrix(data_.rows(), target_.nof_classes());187 centroids_= new utility::Matrix(data_.rows(), target_.nof_classes()); 188 188 // data_ is a MatrixLookup or a MatrixLookupWeighted 189 189 if(data_.weighted()) { … … 226 226 template <typename Distance> 227 227 void NCC<Distance>::predict(const DataLookup2D& test, 228 utility:: matrix& prediction) const228 utility::Matrix& prediction) const 229 229 { 230 230 utility::yat_assert<std::runtime_error> … … 262 262 template <typename Distance> 263 263 void NCC<Distance>::predict_unweighted(const MatrixLookup& test, 264 utility:: matrix& prediction) const264 utility::Matrix& prediction) const 265 265 { 266 266 MatrixLookup unweighted_centroids(*centroids_); … … 277 277 template <typename Distance> 278 278 void NCC<Distance>::predict_weighted(const MatrixLookupWeighted& test, 279 utility:: matrix& prediction) const279 utility::Matrix& prediction) const 280 280 { 281 281 MatrixLookupWeighted weighted_centroids(*centroids_); -
trunk/yat/classifier/SVM.cc
r1120 r1121 29 29 #include "yat/random/random.h" 30 30 #include "yat/statistics/Averager.h" 31 #include "yat/utility/ matrix.h"31 #include "yat/utility/Matrix.h" 32 32 #include "yat/utility/Vector.h" 33 33 … … 139 139 } 140 140 141 void SVM::predict(const KernelLookup& input, utility:: matrix& prediction) const141 void SVM::predict(const KernelLookup& input, utility::Matrix& prediction) const 142 142 { 143 143 assert(input.rows()==alpha_.size()); -
trunk/yat/classifier/SVM.h
r1120 r1121 36 36 namespace theplu { 37 37 namespace yat { 38 namespace utility{ 39 class Matrix; 40 } 41 38 42 namespace classifier { 39 43 … … 133 137 for training. 134 138 */ 135 void predict(const KernelLookup& input, utility:: matrix& predict) const;139 void predict(const KernelLookup& input, utility::Matrix& predict) const; 136 140 137 141 /// -
trunk/yat/classifier/SVindex.cc
r1120 r1121 26 26 #include "yat/random/random.h" 27 27 #include "yat/statistics/Averager.h" 28 #include "yat/utility/matrix.h"29 28 #include "yat/utility/Vector.h" 30 29 -
trunk/yat/classifier/SupervisedClassifier.h
r1042 r1121 33 33 34 34 namespace utility { 35 class matrix;35 class Matrix; 36 36 } 37 37 … … 82 82 /// Generate output values for a data set 83 83 /// 84 virtual void predict(const DataLookup2D&, utility:: matrix&) const =0;84 virtual void predict(const DataLookup2D&, utility::Matrix&) const =0; 85 85 86 86
Note: See TracChangeset
for help on using the changeset viewer.