IRootLab
An Open-Source MATLAB toolbox for vibrational biospectroscopy
reptt_incr Class Reference

Detailed Description

Incremental learning curve - to test incremental classifiers.

This Analysis Session aims to raise "Incremental learning curves" (ILC) for one or more classifiers. This aims at testing incremental classifiers such as eClass

ILC's are are direcly stored in a dataset. Each class of the dataset corresponds to a different classifier in the block_mold property.

When using the reptt_incr::use() method, you need to pass two datasets to it: [train, test]. The test element will be always used as-is. The train dataset will have its rows permuted using the reptt_incr::sgs. If an SGS is not provided, the train dataset will be used only once.

The block_mold objects must be of class clssr_incr

The reptt_incr::use() method outputs one dataset per log in the reptt_incr::log_mold property.

See also
demo_reptt_incr.m

Definition at line 20 of file reptt_incr.m.

+ Inheritance diagram for reptt_incr:
+ Collaboration diagram for reptt_incr:

Public Member Functions

function reptt_incr ()
 
function get_grades (in o, in params)
 Abstract. Method to get the per-feature grades. BMTool stuff. More...
 
function get_gradeslegend (in o, in params)
 Abstract. Method to get block title based on passed parameters. BMTool stuff. More...
 
function use (in o, in data)
 Applies block to data. More...
 
function train (in o, in data, in varargin)
 Trains block. More...
 
function boot (in o)
 Configures the structure to deal with new type of data. More...
 
function get_description (in o, in flag_short)
 
function setbatch (in o, in params)
 Sets several properties of an object at once. More...
 
function get_methodname (in o, in flag_short)
 
function get_report (in o)
 Object reports are plain text. HTML would be cool but c'mon, we don't need that sophistication. More...
 
function get_html (in o, in flag_stylesheet)
 
function get_params (in o, in data)
 Calls Parameters GUI. More...
 
function extract_log (in o)
 
function get_ancestry (in o, in flag_title)
 

Public Attributes

Property sgs
 
Property flag_parallel
 =0. Whether to parallelize the outer "reps" loop More...
 
Property record_every
 =1. Recording periodicity More...
 
Property block_mold
 Cell array. Blocks to be trained-tested. More...
 
Property log_mold
 Cell array. Molds for the recording. More...
 
Property postpr_test
 (Optional) Block to post-process the test data. For example, a grag_classes_first. More...
 
Property postpr_est
 
Property logs
 Mounted at "runtime". More...
 
Property blocks
 Mounted at "runtime". More...
 
Property title
 
Property color
 

Protected Member Functions

function get_no_recordings (in o, in data)
 
function allocate_results (in o, in data)
 
function assert_randsub (in o)
 Asserts that the SGS object is a randsub one. More...
 
function assert_clssr_incr (in o)
 Asserts that the blocks in block_mold are all clssr_incr. More...
 
function do_use (in o, in data)
 Output is an array of datasets. More...
 
function boot_postpr (in o)
 
function do_train (in o, in data)
 
function do_boot (in o)
 Boots the block. More...
 
function do_get_report (in o)
 Default report. More...
 
function do_get_html (in o)
 Abstract. HTML inner body. More...
 

Protected Attributes

Property obsidxs
 
Property ests
 
Property results
 Cell of datasets: each corresponding to one element in reptt_incr::log_mold. More...
 
Property inputclass
 
Property flag_bootable
 =0. (High-Level setting and internal function) Whether or not the block is bootable. More...
 
Property flag_trainable
 =0. (High-Level + internal function). Whether or not the block can be trained, or completely non-data-based. More...
 
Property flag_incrtrain
 
Property flag_fixednf
 =1. (internal function) If true, dataset number of features will be checked upon training and using. Ignored if o.flag_trainable is 0. More...
 
Property flag_fixedno
 =0. (internal function) If true, dataset number of observations will be checked upon training and using. Ignored if o.flag_trainable is 0. More...
 
Property flag_multiin
 =0. (High-Level setting (gencode)) Whether block allows/expects multiple objects as input. More...
 
Property flag_out
 =1. (High-Level setting (gencode)) Whether the block generates any output at all (counterexample: vis blocks) More...
 
Property flag_train_inliers_only
 
Property flag_train_require_inliers
 
Property nf
 =-1. Number of features. Cleared at boot(), assigned or reinforced at train(). More...
 
Property no
 =-1. Number of observations. More...
 
Property flag_trained
 =0. Set to 1 by train() if training is successful; set back to 0 after booting. More...
 
Property flag_booted
 =0. Set to 1 by boot() after booting the block More...
 
Property time_train
 Trainings time. More...
 
Property time_use
 Use time. More...
 
Property classtitle
 Class Title. Should have a descriptive name, as short as possible. More...
 
Property short
 Short for the method name. More...
 
Property flag_params
 
Property flag_ui
 (GUI setting) Whether to "publish" in blockmenu and datatool. Note that a class can be "published" without a GUI (set flag_params=0 in this case, at the class constructor). More...
 
Property moreactions
 (GUI setting) String cell containing names of methods that may be called from the GUIs More...
 

Constructor & Destructor Documentation

function reptt_incr::reptt_incr ( )

Member Function Documentation

function reptt_incr::allocate_results ( in  o,
in  data 
)
protected

Allocates result datasets

Allocates datasets rather than logs. The datasets are sized with zeroes in their X and classes

Dimensions are:

  • results: cell of datasets: (1)X(no_logs)
  • each dataset: X: (no_blocks*no_reps)X(number of recordings)

The number of recordings is currently the number of elements in the training set (one recording is taken after one row is passed to the incremental-training classifier)

function reptt_incr::assert_clssr_incr ( in  o)
protected

Asserts that the blocks in block_mold are all clssr_incr.

function reptt_incr::assert_randsub ( in  o)
protected

Asserts that the SGS object is a randsub one.

function block::boot ( in  o)
inherited

Configures the structure to deal with new type of data.

Booting accounts for clearing any recordings; model structure; stored data etc from the object so that it can be re-used anew.

function reptt::boot_postpr ( in  o)
protectedinherited

Checks validity of post_processors and boots them.

Please note that this will pass if either or both are empty.

These is a tool to be used by descendant classes, as required.

function block::do_boot ( in  o)
protectedinherited

Boots the block.

Abstract. Booting accounts for clearing any recordings; model structure; stored data etc from the object so that it can be re-used anew.

function irobj::do_get_html ( in  o)
protectedinherited

Abstract. HTML inner body.

function irobj::do_get_report ( in  o)
protectedinherited

Default report.

function block::do_train ( in  o,
in  data 
)
protectedinherited
function reptt_incr::do_use ( in  o,
in  data 
)
protected

Output is an array of datasets.

function irobj::extract_log ( in  o)
inherited
Parameters
o
Returns
[o, log]
function irobj::get_ancestry ( in  o,
in  flag_title 
)
inherited
Parameters
o
flag_title=1
function irobj::get_description ( in  o,
in  flag_short 
)
inherited

Returns description string

Precedence according with flag_short:

  • 0: title > short > classtitle
  • 1: short > title > classtitle
Parameters
flag_short=0I am sealing this to make sure that no class will try to improvise on this function.
function block::get_grades ( in  o,
in  params 
)
inherited

Abstract. Method to get the per-feature grades. BMTool stuff.

function block::get_gradeslegend ( in  o,
in  params 
)
inherited

Abstract. Method to get block title based on passed parameters. BMTool stuff.

function irobj::get_html ( in  o,
in  flag_stylesheet 
)
inherited
Parameters
flag_stylesheet=1Whether to include the stylesheet in the HTML
function irobj::get_methodname ( in  o,
in  flag_short 
)
inherited

This is used only to compose sequence string e.g. xxx->yyy->zzz

Parameters
flag_short=0
function reptt_incr::get_no_recordings ( in  o,
in  data 
)
protected

Returns number of recordings based on internal setup

Asks the first element in block_mold

function irobj::get_params ( in  o,
in  data 
)
inherited

Calls Parameters GUI.

If flag_params, tries uip_<class>.m. If fails, tries uip_<ancestor>.m and so on

function irobj::get_report ( in  o)
inherited

Object reports are plain text. HTML would be cool but c'mon, we don't need that sophistication.

function irobj::setbatch ( in  o,
in  params 
)
inherited

Sets several properties of an object at once.

Parameters
o
paramsCell followint the pattern
{'property1', value1, 'property2', value2, ...} 
function block::train ( in  o,
in  data,
in  varargin 
)
inherited

Trains block.

function block::use ( in  o,
in  data 
)
inherited

Applies block to data.

Member Data Documentation

Property reptt::block_mold
inherited

Cell array. Blocks to be trained-tested.

Definition at line 14 of file reptt.m.

Property reptt::blocks
inherited

Mounted at "runtime".

Definition at line 35 of file reptt.m.

Property irobj::classtitle
protectedinherited

Class Title. Should have a descriptive name, as short as possible.

Definition at line 50 of file irobj.m.

Property irobj::color
inherited

=[0, .8, 0]. multipurpose feature, routines may use it for different things. Major use is to change the background of objtool and blockmenu. See also classes_html.m

Definition at line 42 of file irobj.m.

Property reptt_incr::ests
protected

Definition at line 40 of file reptt_incr.m.

Property block::flag_bootable
protectedinherited

=0. (High-Level setting and internal function) Whether or not the block is bootable.

Definition at line 14 of file block.m.

Property block::flag_booted
protectedinherited

=0. Set to 1 by boot() after booting the block

Definition at line 69 of file block.m.

Property block::flag_fixednf
protectedinherited

=1. (internal function) If true, dataset number of features will be checked upon training and using. Ignored if o.flag_trainable is 0.

Definition at line 28 of file block.m.

Property block::flag_fixedno
protectedinherited

=0. (internal function) If true, dataset number of observations will be checked upon training and using. Ignored if o.flag_trainable is 0.

Definition at line 31 of file block.m.

Property block::flag_incrtrain
protectedinherited

=0. (internal function). Whether or not the block accepts incremental training. The meaning is:

  • If YES, it means that the block can adapt/evolve everytime its train() method is called
  • If NO, the block can be trained only once, and calling its train() method many times can lead to unpredictable results

Definition at line 23 of file block.m.

Property block::flag_multiin
protectedinherited

=0. (High-Level setting (gencode)) Whether block allows/expects multiple objects as input.

Definition at line 35 of file block.m.

Property block::flag_out
protectedinherited

=1. (High-Level setting (gencode)) Whether the block generates any output at all (counterexample: vis blocks)

Definition at line 38 of file block.m.

Property reptt_incr::flag_parallel

=0. Whether to parallelize the outer "reps" loop

Definition at line 30 of file reptt_incr.m.

Property irobj::flag_params
protectedinherited

=1. (GUI setting) Whether to call a GUI when the block is selected in blockmenu.m . If true, a routine called "uip_"<class name> will be called.

Definition at line 57 of file irobj.m.

Property block::flag_train_inliers_only
protectedinherited

If true, train() will pass on to do_train() a dataset with inliers only. If this flag is true, flag_train_require_inliers will be ignored, because flag_train_inliers_only being true is one way to solve the "inliers requirement".

Definition at line 46 of file block.m.

Property block::flag_train_require_inliers
protectedinherited

=1. If true, train() will give an error if the dataset has outliers. This is true by default, because the developer should be aware of outliers being inputted into a training algorithm.

Definition at line 51 of file block.m.

Property block::flag_trainable
protectedinherited

=0. (High-Level + internal function). Whether or not the block can be trained, or completely non-data-based.

Definition at line 17 of file block.m.

Property block::flag_trained
protectedinherited

=0. Set to 1 by train() if training is successful; set back to 0 after booting.

Definition at line 66 of file block.m.

Property irobj::flag_ui
protectedinherited

(GUI setting) Whether to "publish" in blockmenu and datatool. Note that a class can be "published" without a GUI (set flag_params=0 in this case, at the class constructor).

Definition at line 60 of file irobj.m.

Property block::inputclass
protectedinherited

='irdata'. (High-Level setting) Class or classes (can be string or cell of strings) that the block can deal with. Allows for objtool and datatool to know (when appropriate) which blocks are applicable to the selected object(s).

Definition at line 11 of file block.m.

Property reptt::log_mold
inherited

Cell array. Molds for the recording.

Definition at line 17 of file reptt.m.

Property reptt::logs
inherited

Mounted at "runtime".

Definition at line 32 of file reptt.m.

Property irobj::moreactions
protectedinherited

(GUI setting) String cell containing names of methods that may be called from the GUIs

Definition at line 63 of file irobj.m.

Property block::nf
protectedinherited

=-1. Number of features. Cleared at boot(), assigned or reinforced at train().

Definition at line 60 of file block.m.

Property block::no
protectedinherited

=-1. Number of observations.

Definition at line 63 of file block.m.

Property reptt_incr::obsidxs
protected

Definition at line 38 of file reptt_incr.m.

Property reptt::postpr_est
inherited

Block to post-process the estimation issued by the classifier. Examples:

Definition at line 25 of file reptt.m.

Property reptt::postpr_test
inherited

(Optional) Block to post-process the test data. For example, a grag_classes_first.

Definition at line 20 of file reptt.m.

Property reptt_incr::record_every

=1. Recording periodicity

Definition at line 33 of file reptt_incr.m.

Property reptt_incr::results
protected

Cell of datasets: each corresponding to one element in reptt_incr::log_mold.

Definition at line 44 of file reptt_incr.m.

Property reptt_incr::sgs

SGS object. Needs to be a sgs_randsub_base; bites will be ignored and overwritten with "[1]"; type will be overwritten with "simple" The following properties make a difference: no_reps; flag_group; flag_perclass; randomseed

Definition at line 27 of file reptt_incr.m.

Property irobj::short
protectedinherited

Short for the method name.

Definition at line 53 of file irobj.m.

Property block::time_train
protectedinherited

Trainings time.

Definition at line 73 of file block.m.

Property block::time_use
protectedinherited

Use time.

Definition at line 76 of file block.m.

Property irobj::title
inherited

Definition at line 38 of file irobj.m.


The documentation for this class was generated from the following file: