Analysis EVRIGUI Object: Difference between revisions
imported>Jeremy No edit summary |
imported>Jeremy |
||
Line 22: | Line 22: | ||
| <tt>.getYblockVal</tt> || Returns Validation Y-block | | <tt>.getYblockVal</tt> || Returns Validation Y-block | ||
|} | |} | ||
These methods can be used to set (i.e. "load") the specified data. Note that all take a single parameter as input and this parameter must be a DataSet object. If the object is not a valid DataSet object, an error will be thrown. | These methods can be used to set (i.e. "load") the specified data. Note that all take a single parameter as input and this parameter must be a DataSet object. If the object is not a valid DataSet object, an error will be thrown. | ||
Line 33: | Line 34: | ||
| <tt>.setYblockVal(dataset)</tt> || Sets the Validation Y-block | | <tt>.setYblockVal(dataset)</tt> || Sets the Validation Y-block | ||
|} | |} | ||
Models can be set (loaded) or retrieved using the following two methods: | Models can be set (loaded) or retrieved using the following two methods: | ||
{| border="1" cellspacing="0" cellpadding="5" style="margin-left:3em" |- | {| border="1" cellspacing="0" cellpadding="5" style="margin-left:3em" |- | ||
|- | |- | ||
| <tt>.setModel(model)</tt> || Loads the given model into the Analysis GUI and switches the analysis method to that specified by the model. See the <tt>.apply</tt> method to apply the model to validation or test data. | | <tt>.setModel(model)</tt> || Loads the given model into the Analysis GUI and switches the [[Analysis_EVRIGUI_Object#Analysis_Methods_and_Settings | analysis method]] to that specified by the model. See the <tt>.apply</tt> method to apply the model to validation or test data. | ||
|- | |- | ||
| <tt>.getModel</tt> || Returns the currently calibrated model (if any) | | <tt>.getModel</tt> || Returns the currently calibrated model (if any) | ||
|} | |} | ||
Similarly, predictions can be loaded or retrieved using these methods: | Similarly, predictions can be loaded or retrieved using these methods: | ||
Line 48: | Line 51: | ||
| <tt>.getPrediction</tt> | | <tt>.getPrediction</tt> | ||
|} | |} | ||
The "drop" method is a simplified loading method. Any valid data, model or prediction can be "dropped" on a valid Analysis EVRIGUI object and the GUI will attempt to load the given data into the most logical location based on the GUI's current status. Since this may be ambiguious to the script or program accessing the EVRIGUI object where the data will be loaded, it is often recommended that an explict .set____ command (see above) be used in most cases. | The "drop" method is a simplified loading method. Any valid data, model or prediction can be "dropped" on a valid Analysis EVRIGUI object and the GUI will attempt to load the given data into the most logical location based on the GUI's current status. Since this may be ambiguious to the script or program accessing the EVRIGUI object where the data will be loaded, it is often recommended that an explict .set____ command (see above) be used in most cases. | ||
Line 56: | Line 60: | ||
|} | |} | ||
Clearing of data, models, and predictions can be achieved using these methods. In all cases, if the given data or model is already cleared, no error | |||
Clearing of data, models, and predictions can be achieved using these methods. In all cases, if the given data or model is already cleared, no error occurs. | |||
{| border="1" cellspacing="0" cellpadding="5" style="margin-left:3em" |- | {| border="1" cellspacing="0" cellpadding="5" style="margin-left:3em" |- | ||
| <tt>.clearAll</tt> || Clears all data, models, options, and predictions (return to initial startup state) | | <tt>.clearAll</tt> || Clears all data, models, options, and predictions (return to initial startup state) | ||
Line 74: | Line 79: | ||
| <tt>.clearYblockVal</tt> || Clears Validation Y-block | | <tt>.clearYblockVal</tt> || Clears Validation Y-block | ||
|} | |} | ||
==Model Creation and Method Settings== | ==Model Creation and Method Settings== |
Revision as of 16:30, 17 March 2009
These are the methods defined for Analysis GUI when accessed through an EVRIGUI object. The following methods are called by referring to the given EVRIGUI object, followed by the method to be accessed. For example, given an EVRIGUI object in the workspace called "obj", the following call sets the Calibration X-block data to a given DataSet object called "data":
obj.setXblock(data);
And this would retrieve the curently loaded Calibration X-block data:
data = obj.getXblock;
The specific methods available are described in the sections below.
Loading and Retrieving Data and Models
These methods can be used to retrieve the specified data as a DataSet object:
.getXblock | Returns Calibration X-block |
.getXblockVal | Returns Validation X-block |
.getYblock | Returns Calibration Y-block |
.getYblockVal | Returns Validation Y-block |
These methods can be used to set (i.e. "load") the specified data. Note that all take a single parameter as input and this parameter must be a DataSet object. If the object is not a valid DataSet object, an error will be thrown.
.setXblock(dataset) | Sets the Calibration X-block |
.setXblockVal(dataset) | Sets the Validation X-block |
.setYblock(dataset) | Sets the Calibration Y-block |
.setYblockVal(dataset) | Sets the Validation Y-block |
Models can be set (loaded) or retrieved using the following two methods:
.setModel(model) | Loads the given model into the Analysis GUI and switches the analysis method to that specified by the model. See the .apply method to apply the model to validation or test data. |
.getModel | Returns the currently calibrated model (if any) |
Similarly, predictions can be loaded or retrieved using these methods:
.setPrediction(prediction) |
.getPrediction |
The "drop" method is a simplified loading method. Any valid data, model or prediction can be "dropped" on a valid Analysis EVRIGUI object and the GUI will attempt to load the given data into the most logical location based on the GUI's current status. Since this may be ambiguious to the script or program accessing the EVRIGUI object where the data will be loaded, it is often recommended that an explict .set____ command (see above) be used in most cases.
.drop(dataset) | Attempt to load the specified DataSet into the most logical data location in the GUI |
.drop(model) | Attemp to load the specified model into the GUI (see also .setModel above) |
Clearing of data, models, and predictions can be achieved using these methods. In all cases, if the given data or model is already cleared, no error occurs.
.clearAll | Clears all data, models, options, and predictions (return to initial startup state) |
.clearBothCal | Clears both X and Y Calibration Data |
.clearBothVal | Clears both X and Y Validation Data |
.clearModel | Clears current model |
.clearXblock | Clears Calibration X-block |
.clearXblockVal | Clears Validation X-block |
.clearYblock | Clears Calibration Y-block |
.clearYblockVal | Clears Validation Y-block |
Model Creation and Method Settings
These methods allow creation of models and manipulation of the basic modeling parameters.
Creating Models
.calibrate | Calculates or recalculates a model if the model is non-existant or out of date with the current settings, and/or applies the current model to the validation data, if loaded. This is equivalent to clicking on the "Calibrate" (gears) button on the Analysis GUI. |
.apply | Identical to the .calibrate method. |
Analysis Methods and Settings
The .setMethod method changes the current analysis method (i.e. modeling method) of the Analysis GUI. This is any of the modeling techniques available in the Analysis GUI Analysis_Menu.
.setMethod('method') | Sets the Analysis method to 'method' (e.g. 'pca', 'pls', 'parafac'). If the requested method is not the currently selected method, any existing model and prediction are cleared. |
The .getComponents and .setComponents methods allow reviewing and changing of the number of components used in a factor-based model. Changing this property will cause the model to be cleared (requiring the use of the .calibrate method described above.) Note that some analysis methods (e.g. 'mlr' and 'cluster') do not use the Components settings and any values returned or set using these methods will be ignored.
.getComponents | Returns the number of components currently selected. |
.setComponents(n) | Sets the number of components to use in a model. After this value is changed, the .calibrate method should be called to request an update of the model. Any value set here will not be reflected in the model until the after .calibrate method is called. |
Preprocessing
The preprocessing methods allow getting and setting the current X and Y-block preprocessing methods. Currently, these set methods require complex preprocessing structure inputs and require knowledge and use of the Preprocess functionality in PLS_Toolbox.
.getXPreprocessing | Return the current X-block preprocessing structure |
.getYPreprocessing | Return the current Y-block preprocessing structure |
.setXPreprocessing(p) | Sets the X-block preprocessing to the structure passed as p |
.setYPreprocessing(p) | Sets the Y-block preprocessing to the structure passed as p |
Toolbar Buttons
These methods allow the automatic "pressing" of any of the Toolbar buttons. The .getButtons method returns a list of all the current toolbar buttons as a list of their "tags" (unique names). The .pressButton method can then be used with any one of these tags to simulate the clicking of the given button. By using these methods, an outside program can automatically bring up plots like scores and loadings plots, or start up "helper GUIs" like the PLSDA_Class_Groups_Interface.
.getButtons | Returns a cell array of strings indicating the tags for each of the current toolbar buttons. |
.pressButton(tag) | Equivalent to the user clicking the toolbar button specified by the given tag. |
Generic GUI Methods
These methods provide simple access to simple GUI actions such as controlling the visibility of the GUI and closing or creating the GUI
.getVisibility | Returns 1 (one) if the GUI is currently visible (not hidden) and 0 (zero) otherwise |
.setVisibility(vis) | When input is 1 (one), the GUI is made visible. When input is 0 (zero), the GUI is hidden from view and from the task bar (when relevent). Note that some methods may make a hidden GUI visible again even if this value has been set to zero. |
.close | Forces the GUI to close |
.create | Used to create a new Analysis GUI - NOTE: This method is called automatically by the main EVRIGUI object and should not be called directly by the user (an error will always be thrown in that situation) |
Advanced Methods
Analysis Method Options
These methods allows access and manipulation of the low-level "Analysis Method" options. These options are specific to each method and often change very fundamental aspects of how the modeling algorithms operate. It is possible to cause completely failure to model or get unexpected models using these options so their use is only recommended for expert users. The options being set here are equivalent to the options which are passed to the specific modeling functions (in Matlab: pls.m, pca.m, parafac.m) and the individual function for the currently selected method (see .setMethod above) should be consulted in setting these options.
.getOptions | Returns the current options for the given analysis method. Note that, if the user or an outside program has not modified the options, this will be returned as an empty matrix. In that case, the default function options are generally used |
.setOptions(opts) | Sets the current options for the given analysis method to the options structure passed as "opts". Note that some options are always overridden (e.g. the automatic generation of plots controlled in many functions through the .plots option is always ignored, even if set here to be "on") |
Within Matlab, these methods can be used to access a Shared Data object which gives direct, dynamic access to the data and model being used in the GUI. This allows an advanced user to view and/or modify the used data directly. Changes to the object are automatically acted on by the GUI (e.g. clearing of models and updating of plots when Data changes.) However, the use of Shared Data objects is for advanced users only and describing their use is beyond the scope of this document. See the Shared Data object documentation for more information on using Shared Data.
.getXblockId | Returns Shared Data object to Calibration X-block |
.getXblockValId | Returns Shared Data object to Validation X-block |
.getYblockId | Returns Shared Data object to Calibration Y-block |
.getYblockValId | Returns Shared Data object to Validation Y-block |
.getModelId | Returns Shared Data object to Model |
.getPredictionId | Returns Shared Data object to Predictions |
Generic Object Access
The generic .getObject method returns the object specified using a keyword string from Analysis GUI. This is the actual DataSet, model, or other object itself (not the shared data object) Valid keywords are internal and may be subject to chage. As a result this function is not recommended for most uses. Instead, the user is directed to the general .get____ commands described earlier in this document. This method does, however, provide access to objects which may not be accessible through the other .get____ methods.
.getObject('object_keyword') | Returns specified object from GUI |