Changeset 916 for trunk/yat/classifier
- Timestamp:
- Sep 30, 2007, 2:50:10 AM (16 years ago)
- Location:
- trunk/yat/classifier
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/yat/classifier/DataLookup2D.cc
r865 r916 139 139 } 140 140 141 std::ostream& operator<<(std::ostream& s, const DataLookup2D& m) 142 { 143 s.setf(std::ios::dec); 144 s.precision(12); 145 for(size_t i=0, j=0; i<m.rows(); i++) 146 for (j=0; j<m.columns(); j++) { 147 s << m(i,j); 148 if (j<m.columns()-1) 149 s << s.fill(); 150 else if (i<m.rows()-1) 151 s << "\n"; 152 } 153 return s; 154 } 155 141 156 }}} // of namespace classifier, yat, and theplu -
trunk/yat/classifier/DataLookup2D.h
r865 r916 175 175 }; 176 176 177 /// 178 /// The output operator DataLookup2D 179 /// 180 std::ostream& operator<< (std::ostream& s, const DataLookup2D&); 181 177 182 }}} // of namespace classifier, yat, and theplu 178 183 -
trunk/yat/classifier/KNN.h
r904 r916 10 10 #include "yat/statistics/vector_distance.h" 11 11 #include "yat/utility/matrix.h" 12 12 #include "yat/utility/yat_assert.h" 13 14 #include <cmath> 13 15 #include <map> 14 16 … … 119 121 120 122 // matrix with training samples as rows and test samples as columns 121 utility::matrix* distances = new utility::matrix(data_.columns(),input.columns()); 123 utility::matrix* distances = 124 new utility::matrix(data_.columns(),input.columns()); 122 125 123 126 if(weighted_data && weighted_input) { … … 126 129 for(size_t j=0; j<input.columns(); j++) { 127 130 classifier::DataLookupWeighted1D test(*weighted_input,j,false); 131 yat_assert(training.size()==test.size()); 128 132 (*distances)(i,j)=statistics::vector_distance(training.begin(),training.end(),test.begin(),typename statistics::vector_distance_traits<Distance>::distance()); 133 yat_assert(!std::isnan((*distances)(i,j))); 129 134 } 130 135 } … … 186 191 utility::matrix* distances=calculate_distances(input); 187 192 188 // for each test sample (column in distances) find the closest training samples 189 prediction.clone(utility::matrix(target_.nof_classes(), input.columns(),0.0)); 193 // for each test sample (column in distances) find the closest 194 // training samples 195 prediction.clone(utility::matrix(target_.nof_classes(),input.columns(),0.0)); 190 196 for(size_t sample=0;sample<distances->columns();sample++) { 191 197 std::vector<size_t> k_index; -
trunk/yat/classifier/MatrixLookup.cc
r865 r916 217 217 218 218 219 std::ostream& operator<<(std::ostream& s, const MatrixLookup& m)220 {221 s.setf(std::ios::dec);222 s.precision(12);223 for(size_t i=0, j=0; i<m.rows(); i++)224 for (j=0; j<m.columns(); j++) {225 s << m(i,j);226 if (j<m.columns()-1)227 s << s.fill();228 else if (i<m.rows()-1)229 s << "\n";230 }231 return s;232 }233 234 219 235 220 -
trunk/yat/classifier/MatrixLookup.h
r865 r916 284 284 }; 285 285 286 ///287 /// The output operator MatrixLookup288 ///289 std::ostream& operator<< (std::ostream& s, const MatrixLookup&);290 291 286 }}} // of namespace classifier, yat, and theplu 292 287 -
trunk/yat/classifier/NCC.cc
r898 r916 130 130 for(size_t k=0; k<centroids_.columns();k++) { 131 131 DataLookupWeighted1D centroid(weighted_centroids,k,false); 132 133 assert(in.size()==centroid.size()); 132 134 prediction(k,j)=(*distance_)(in.begin(),in.end(),centroid.begin()); 133 135 }
Note: See TracChangeset
for help on using the changeset viewer.