Class InstancesHelper
java.lang.Object
weka.core.expressionlanguage.weka.InstancesHelper
- All Implemented Interfaces:
Serializable
,Macro
,MacroDeclarations
,VariableDeclarations
public class InstancesHelper
extends Object
implements VariableDeclarations, Macro, MacroDeclarations
A helper class to expose instance values and macros for instance values to a
program
Exposes instance values of the current instance (see
setInstance(Instance)
and setInstance(int)
methods) as a1,
A1 or ATT1 etc where the number is the attribute index (starting with
1). Furthermore exposes the class value as CLASS.
Exposes the 'ismissing
' macro which can only be applied to
instance values and returns whether the value is set as missing in the
current instance.- Version:
- $Revision: 1000 $
- Author:
- Benjamin Weber ( benweber at student dot ethz dot ch )
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionInstancesHelper
(Instances dataset) Constructs anInstancesHelper
for the given dataset.InstancesHelper
(Instances dataset, boolean retainData) Constructs anInstancesHelper
for the given dataset. -
Method Summary
Modifier and TypeMethodDescriptionEvaluates the 'ismissing' macroTries to fetch a macrogetVariable
(String name) Tries to fetch a variable of an instance valueboolean
Whether the given macro is declaredboolean
hasVariable
(String name) Returns whether the variable is declaredboolean
Whether a missing value has been evaluated during computation.void
setInstance
(int i) Sets the instance at index i of the supplied dataset to be the current instancevoid
setInstance
(Instance instance) Sets the current instance to be the supplied instance
-
Constructor Details
-
InstancesHelper
Constructs anInstancesHelper
for the given dataset. Only attribute information is retained in memory.- Parameters:
dataset
- the dataset whose attribute values should be exposed
-
InstancesHelper
Constructs anInstancesHelper
for the given dataset.- Parameters:
dataset
- the datasetretainData
- true if the full dataset (rather than just the attribute information) is to be retained
-
-
Method Details
-
hasMacro
Whether the given macro is declared- Specified by:
hasMacro
in interfaceMacroDeclarations
- Parameters:
name
- name of the macro- Returns:
- whether the given macro is declared
-
getMacro
Tries to fetch a macro The same invariant ofMacroDeclarations
applies here too.- Specified by:
getMacro
in interfaceMacroDeclarations
- Parameters:
name
- of the macro- Returns:
- the macro
-
evaluate
Evaluates the 'ismissing' macro- Specified by:
evaluate
in interfaceMacro
- Parameters:
params
- the arguments for the macro- Returns:
- an AST node representing the ismissing function
- Throws:
SemanticException
-
setInstance
public void setInstance(int i) Sets the instance at index i of the supplied dataset to be the current instance- Parameters:
i
- the index of the instance to be set- Throws:
UnsupportedOperationException
- if the full dataset has not been retained in memory
-
setInstance
Sets the current instance to be the supplied instance- Parameters:
instance
- instance to be set as the current instance
-
missingAccessed
public boolean missingAccessed()Whether a missing value has been evaluated during computation. Will be reset when thesetInstance(int)
orsetInstance(Instance)
method is called.- Returns:
- whether a missing value has been evaluated during computation
-
hasVariable
Returns whether the variable is declared- Specified by:
hasVariable
in interfaceVariableDeclarations
- Parameters:
name
- name of the variable- Returns:
- whether it has been declared
-
getVariable
Tries to fetch a variable of an instance value The same invariant ofVariableDeclarations
applies here too.- Specified by:
getVariable
in interfaceVariableDeclarations
- Parameters:
name
- name of the variable- Returns:
- node representing the instance value
-