PLearn 0.1
|
#include <SDBVMat.h>
Public Member Functions | |
SDBVMFieldDay (SDBVMSource source, real missing_values_mapping=MISSING_VALUE) | |
virtual void | convertField (const SDBWithStats &sdb, const Row &row, const Vec &output) const |
virtual int | fieldWidth () const |
Width that the field occupies in the VMat. | |
Private Types | |
typedef SDBVMFieldSource1 | inherited |
Convert a date according to the formula: ((year - 1990)*365+(month-1)*30+(day-1))/3650 which is approximately in the range [-1,1] for (1980-2000)
typedef SDBVMFieldSource1 PLearn::SDBVMFieldDay::inherited [private] |
Reimplemented from PLearn::SDBVMFieldSource1.
PLearn::SDBVMFieldDay::SDBVMFieldDay | ( | SDBVMSource | source, |
real | missing_values_mapping = MISSING_VALUE |
||
) | [inline] |
Definition at line 526 of file SDBVMat.h.
: inherited(source,missing_values_mapping,VMField::Continuous) {}
void PLearn::SDBVMFieldDay::convertField | ( | const SDBWithStats & | sdb, |
const Row & | theRow, | ||
const Vec & | outputField | ||
) | const [virtual] |
Given a database row, convert the appropriate parts to a (preallocated) output vector of the correct width (given by fieldWidth). Replace MISSING_VALUEs by missing_values_mapping.
Implements PLearn::SDBVMField.
Definition at line 470 of file SDBVMat.cc.
References PLearn::SDBVMField::convertMissing(), d, PLearn::PDate::day, PLearn::float_to_date(), PLearn::SDBVMSource::getValue(), PLearn::PDate::month, PLearn::SDBVMFieldSource1::source_, and PLearn::PDate::year.
{ real realval = source_.getValue(sdb,row); PDate d = float_to_date(realval); // compute a normalized day ranging approximately in [-1,1] // for (1980 - 2000). output[0] = ((d.year-1990)*365+(d.month-1)*30+(d.day-1))/3650.0; convertMissing(output); }
int PLearn::SDBVMFieldDay::fieldWidth | ( | ) | const [virtual] |
Width that the field occupies in the VMat.
Implements PLearn::SDBVMField.
Definition at line 481 of file SDBVMat.cc.
{
return 1;
}