How to set parameter of class NominalToBinominal
Answers
-
Hello, I'm just new here and I think I might know the answer to your question:
If you check the API, there are many methods provided that can be used to set the parameters:
setParameters(Parameters parameters);
setParameter(String key, String value);
setListParameter(String key, List<String[]> list);
setPairParameter(String key, String firstValue, String secondValue);
To understand these methods, you should have an overall understanding on both the parameters in an operator, and the various types of parameter. This means you might need to check the API or the source code under the package: com.rapidminer.parameter, where you can find all the parameter types used in RM core, ( and btw you can build your own by extending the classes ParameterType and CombinedParameterType).
Moreover, you should know what parameters are used in the operator NominalToBinominal and what their types are.
You can find the parameters on the GUI, but a better suggestion is to check the method
public List<ParameterType> getParameterTypes();
in this class, as well as in all of its super classes and other components (such as AttributeSubsetSlector and RandomGenerator).
Here is a small example on AttributeSubsetSelector:
import com.rapidminer.RapidMiner;
import com.rapidminer.operator.OperatorCreationException;
import com.rapidminer.operator.preprocessing.filter.NominalToBinominal;
import com.rapidminer.operator.tools.AttributeSubsetSelector;
import com.rapidminer.parameter.UndefinedParameterError;
import com.rapidminer.tools.OperatorService;
public class Test {
public static void main(String[] args) throws OperatorCreationException, UndefinedParameterError{
RapidMiner.init();
NominalToBinominal opt = OperatorService.createOperator(NominalToBinominal.class);
// here we set the parameter using the method setParameter(String key, String value);
// ""+int is just a quick way to convert single int into a string
opt.setParameter(AttributeSubsetSelector.PARAMETER_FILTER_TYPE,
""+(AttributeSubsetSelector.CONDITION_ALL));
// now lets test whether the value is set
String s = opt.getParameterAsString(AttributeSubsetSelector.PARAMETER_FILTER_TYPE);
System.out.println(s);
// change the value
opt.setParameter(AttributeSubsetSelector.PARAMETER_FILTER_TYPE,
""+(AttributeSubsetSelector.CONDITION_NO_MISSING_VALUES));
// check if the out put is changed
String s1 = opt.getParameterAsString(AttributeSubsetSelector.PARAMETER_FILTER_TYPE);
System.out.println(s1);
// actually you can also get the parameter as an integer or other applicable data type
int i = opt.getParameterAsInt(AttributeSubsetSelector.PARAMETER_FILTER_TYPE);
System.out.println(i);
}
}0