00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef TARGETINFO_H_
00019 #define TARGETINFO_H_
00020
00021 #include <valarray>
00022 #include <vector>
00023
00024 class TargetInfo {
00025 std::valarray<double> _targets;
00026 std::valarray<double> _weights;
00027 std::valarray<bool> _training_mask;
00028
00029
00030 std::valarray<double> _tcov_part;
00031 double _tmean;
00032 double _tvar;
00033 double _tstd;
00034 double _tmed;
00035
00036 public:
00037 TargetInfo() {}
00038
00039 TargetInfo(const std::valarray<double>& t);
00040 TargetInfo(const std::valarray<double>& t, const std::valarray<double>& w);
00041
00042 TargetInfo(const TargetInfo& org);
00043 TargetInfo& operator=(const TargetInfo& org);
00044 ~TargetInfo() {}
00045
00046 const std::valarray<double>& targets() const { return _targets; }
00047 const std::valarray<double>& weights() const { return _weights; }
00048 const std::valarray<bool>& mask() const { return _training_mask; }
00049
00050 void set_training_mask(const std::valarray<bool>& mask);
00051
00052 bool has_weights() const { return _weights.size(); }
00053 bool has_mask() const { return _training_mask.size(); }
00054
00055 std::vector<int> sort();
00056
00057 const std::valarray<double>& tcov_part() const { return _tcov_part; }
00058 double tmean() const { return _tmean; }
00059 double tvar() const { return _tvar; }
00060 double tstd() const { return _tstd; }
00061 double devmedian() const { return _tmed; }
00062 };
00063
00064 #endif
00065