Ignore:
Timestamp:
Feb 22, 2008, 12:18:41 AM (14 years ago)
Author:
Peter
Message:

vector is now Vector

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/yat/classifier/NBC.cc

    r1042 r1120  
    101101          assert(i<centroids_.rows());
    102102          assert(j<centroids_.columns());
    103           centroids_(i,j) = aver[j].mean();
    104103          assert(i<sigma2_.rows());
    105104          assert(j<sigma2_.columns());
    106           if (aver[j].n()>1)
     105          if (aver[j].n()>1){
    107106            sigma2_(i,j) = aver[j].variance();
    108           else
     107            centroids_(i,j) = aver[j].mean();
     108          }
     109          else {
    109110            sigma2_(i,j) = std::numeric_limits<double>::quiet_NaN();
     111            centroids_(i,j) = std::numeric_limits<double>::quiet_NaN();
     112          }
    110113        }
    111114      }
     
    125128          assert(i<sigma2_.rows());
    126129          assert(j<sigma2_.columns());
    127           if (aver[j].n()>1)
     130          if (aver[j].n()>1){
    128131            sigma2_(i,j) = aver[j].variance();
    129           else
     132            centroids_(i,j) = aver[j].mean();
     133          }
     134          else {
    130135            sigma2_(i,j) = std::numeric_limits<double>::quiet_NaN();
     136            centroids_(i,j) = std::numeric_limits<double>::quiet_NaN();
     137          }
    131138        }
    132139      }
     
    142149    assert(x.rows()==sigma2_.rows());
    143150    assert(x.rows()==centroids_.rows());
    144 
    145151   
    146152   
     
    192198    // problems when calculating P = exp(- -lnP), we centralize matrix
    193199    // 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();
    199203
    200204    // exponentiate
Note: See TracChangeset for help on using the changeset viewer.