PLearn 0.1
|
#include <SequentialSplitter.h>
Public Member Functions | |
SequentialSplitter (int horizon_=1, int init_train_size_=1, bool return_entire_vmat_=true) | |
if true, the test set (split[1]) will start at t=0 | |
virtual void | build () |
Post-constructor. | |
virtual string | classname () const |
virtual OptionList & | getOptionList () const |
virtual OptionMap & | getOptionMap () const |
virtual RemoteMethodMap & | getRemoteMethodMap () const |
virtual SequentialSplitter * | deepCopy (CopiesMap &copies) const |
virtual int | nsplits () const |
Returns the number of available different "splits". | |
virtual int | nSetsPerSplit () const |
Returns the number of sets per split. | |
virtual TVec< VMat > | getSplit (int i=0) |
Returns split number i. | |
Static Public Member Functions | |
static string | _classname_ () |
Declares name and deepCopy methods. | |
static OptionList & | _getOptionList_ () |
static RemoteMethodMap & | _getRemoteMethodMap_ () |
static Object * | _new_instance_for_typemap_ () |
static bool | _isa_ (const Object *o) |
static void | _static_initialize_ () |
static const PPath & | declaringFile () |
Public Attributes | |
int | horizon |
int | init_train_size |
bool | return_entire_vmat |
Static Public Attributes | |
static StaticInitializer | _static_initializer_ |
Static Protected Member Functions | |
static void | declareOptions (OptionList &ol) |
Declares this class' options. | |
Private Types | |
typedef Splitter | inherited |
Private Member Functions | |
void | build_ () |
This does the actual building. |
Definition at line 51 of file SequentialSplitter.h.
typedef Splitter PLearn::SequentialSplitter::inherited [private] |
Reimplemented from PLearn::Splitter.
Definition at line 53 of file SequentialSplitter.h.
PLearn::SequentialSplitter::SequentialSplitter | ( | int | horizon_ = 1 , |
int | init_train_size_ = 1 , |
||
bool | return_entire_vmat_ = true |
||
) |
if true, the test set (split[1]) will start at t=0
Definition at line 48 of file SequentialSplitter.cc.
: horizon(horizon_), init_train_size(init_train_size_), return_entire_vmat(return_entire_vmat_) {}
string PLearn::SequentialSplitter::_classname_ | ( | ) | [static] |
Declares name and deepCopy methods.
Reimplemented from PLearn::Splitter.
Definition at line 53 of file SequentialSplitter.cc.
: Comments");
OptionList & PLearn::SequentialSplitter::_getOptionList_ | ( | ) | [static] |
Reimplemented from PLearn::Splitter.
Definition at line 53 of file SequentialSplitter.cc.
: Comments");
RemoteMethodMap & PLearn::SequentialSplitter::_getRemoteMethodMap_ | ( | ) | [static] |
Reimplemented from PLearn::Splitter.
Definition at line 53 of file SequentialSplitter.cc.
: Comments");
Reimplemented from PLearn::Splitter.
Definition at line 53 of file SequentialSplitter.cc.
: Comments");
Object * PLearn::SequentialSplitter::_new_instance_for_typemap_ | ( | ) | [static] |
Reimplemented from PLearn::Object.
Definition at line 53 of file SequentialSplitter.cc.
: Comments");
StaticInitializer SequentialSplitter::_static_initializer_ & PLearn::SequentialSplitter::_static_initialize_ | ( | ) | [static] |
Reimplemented from PLearn::Splitter.
Definition at line 53 of file SequentialSplitter.cc.
: Comments");
void PLearn::SequentialSplitter::build | ( | ) | [virtual] |
Post-constructor.
The normal implementation should call simply inherited::build(), then this class's build_(). This method should be callable again at later times, after modifying some option fields to change the "architecture" of the object.
Reimplemented from PLearn::Object.
Definition at line 74 of file SequentialSplitter.cc.
References PLearn::Object::build(), and build_().
{ inherited::build(); build_(); }
void PLearn::SequentialSplitter::build_ | ( | ) | [private] |
This does the actual building.
Reimplemented from PLearn::Object.
Definition at line 69 of file SequentialSplitter.cc.
Referenced by build().
{ }
string PLearn::SequentialSplitter::classname | ( | ) | const [virtual] |
Reimplemented from PLearn::Object.
Definition at line 53 of file SequentialSplitter.cc.
: Comments");
void PLearn::SequentialSplitter::declareOptions | ( | OptionList & | ol | ) | [static, protected] |
Declares this class' options.
Reimplemented from PLearn::Splitter.
Definition at line 55 of file SequentialSplitter.cc.
References PLearn::OptionBase::buildoption, PLearn::declareOption(), PLearn::Splitter::declareOptions(), horizon, init_train_size, and return_entire_vmat.
{ declareOption(ol, "horizon", &SequentialSplitter::horizon, OptionBase::buildoption, "How far in the future is the test set (split[1])"); declareOption(ol, "init_train_size", &SequentialSplitter::init_train_size, OptionBase::buildoption, "Initial length of the train set (split[0])"); declareOption(ol, "return_entire_vmat", &SequentialSplitter::return_entire_vmat, OptionBase::buildoption, "If true, the test split (split[1]) will start at t=0."); inherited::declareOptions(ol); }
static const PPath& PLearn::SequentialSplitter::declaringFile | ( | ) | [inline, static] |
Reimplemented from PLearn::Splitter.
Definition at line 91 of file SequentialSplitter.h.
SequentialSplitter * PLearn::SequentialSplitter::deepCopy | ( | CopiesMap & | copies | ) | const [virtual] |
Reimplemented from PLearn::Splitter.
Definition at line 53 of file SequentialSplitter.cc.
: Comments");
OptionList & PLearn::SequentialSplitter::getOptionList | ( | ) | const [virtual] |
Reimplemented from PLearn::Object.
Definition at line 53 of file SequentialSplitter.cc.
: Comments");
OptionMap & PLearn::SequentialSplitter::getOptionMap | ( | ) | const [virtual] |
Reimplemented from PLearn::Object.
Definition at line 53 of file SequentialSplitter.cc.
: Comments");
RemoteMethodMap & PLearn::SequentialSplitter::getRemoteMethodMap | ( | ) | const [virtual] |
Reimplemented from PLearn::Object.
Definition at line 53 of file SequentialSplitter.cc.
: Comments");
Returns split number i.
Implements PLearn::Splitter.
Definition at line 97 of file SequentialSplitter.cc.
References PLearn::Splitter::dataset, horizon, init_train_size, PLearn::PP< T >::isNull(), PLearn::VMat::length(), nsplits(), PLERROR, return_entire_vmat, and PLearn::VMat::subMatRows().
{ if (dataset.isNull()) PLERROR("SequentialSplitter::getSplit() - Must call setDataSet()"); int n_splits = nsplits(); if (k >= n_splits) PLERROR("SequentialSplitter::getSplit() - k (%d) cannot be greater than K (%d)", k, n_splits); int seq_length = dataset.length(); if (init_train_size >= seq_length) PLERROR("SequentialSplitter::getSplit() - init_train_size (%d) >= dataset.length() (%d)", init_train_size, seq_length); int t = init_train_size + k; int start_test_t = return_entire_vmat ? 0 : t; int n_test = t + horizon - start_test_t; TVec<VMat> split_(2); split_[0] = dataset.subMatRows(0, t); split_[1] = dataset.subMatRows(start_test_t, n_test); return split_; }
int PLearn::SequentialSplitter::nSetsPerSplit | ( | ) | const [virtual] |
Returns the number of sets per split.
Implements PLearn::Splitter.
Definition at line 80 of file SequentialSplitter.cc.
{
return 2;
}
int PLearn::SequentialSplitter::nsplits | ( | ) | const [virtual] |
Returns the number of available different "splits".
Implements PLearn::Splitter.
Definition at line 85 of file SequentialSplitter.cc.
References PLearn::Splitter::dataset, horizon, init_train_size, PLearn::PP< T >::isNull(), PLearn::VMat::length(), and PLERROR.
Referenced by getSplit().
{ if (dataset.isNull()) PLERROR("SequentialSplitter::nsplits() - Must call setDataSet()"); if (init_train_size < 1) PLERROR("SequentialSplitter::nsplits() - init_train_size must be stricktly positive (%d)", init_train_size); if (horizon < 1) PLERROR("SequentialSplitter::nsplits() - horizon must be stricktly positive (%d)", horizon); return dataset.length() - init_train_size - horizon + 1; }
Reimplemented from PLearn::Splitter.
Definition at line 91 of file SequentialSplitter.h.
Definition at line 60 of file SequentialSplitter.h.
Referenced by declareOptions(), getSplit(), and nsplits().
Definition at line 61 of file SequentialSplitter.h.
Referenced by declareOptions(), getSplit(), and nsplits().
Definition at line 62 of file SequentialSplitter.h.
Referenced by declareOptions(), and getSplit().