RapidMiner

How to set parameter of class NominalToBinominal

Contributor II

How to set parameter of class NominalToBinominal

Hi,

I have created a 'NominalToBinominal' operator using n2bOprt = OperatorService.createOperator(NominalToBinominal.class);
I wonder how I can set the attribute filter(all, single, subset, ...) of that operator.
Thanks.
1 REPLY
Contributor

Re: How to set parameter of class NominalToBinominal

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);
		
	}
}

 

 

RapidMiner China - IT Engineer, Extension Developer.