(AI Studio Core)
Synopsis
This operator selects the most relevant attributes of the given ExampleSet by trying all possible combinations of attribute selections.Description
The Optimize Selection (Brute Force) operator is a nested operator i.e. it has a subprocess. This subprocess must always return a performance vector. This operator selects the feature set with the best performance vector. You need to have basic understanding of subprocesses in order to apply this operator. Please study the documentation of the Subprocess operator for basic understanding of subprocesses.
Feature selection i.e. the question for the most relevant features for classification or regression problems, is one of the main data mining tasks. A wide range of search methods have been integrated into Altair RapidMiner including evolutionary algorithms. For all search methods we need a performance measurement which indicates how well a search point (a feature subset) will probably perform on the given data set.
This feature selection operator selects the best attribute set by trying all possible combinations of attribute selections. It returns the ExampleSet containing the subset of attributes which produced the best performance. As this operator works on the power-set of the attribute set, it has exponential runtime.
Differentiation
Optimize Selection (Evolutionary)
This is also an attribute set reduction operator but it uses a genetic algorithm for this purpose.Input
- example set in (Data table)
This input port expects an ExampleSet. This ExampleSet is available at the first port of the nested chain (inside the subprocess) for processing in the subprocess.
- through (IOObject)
This operator can have multiple through ports. When one input is connected with the through port, another through port becomes available which is ready to accept another input (if any). The order of inputs remains the same. The Object supplied at the first through port of this operator is available at the first through port of the nested chain (inside the subprocess). Do not forget to connect all inputs in correct order. Make sure that you have connected the right number of ports at the subprocess level.
Output
- example set out (Data table)
The feature selection algorithm is applied on the input ExampleSet. The resultant ExampleSet with reduced attributes is delivered through this port.
- weights (Attribute Weights)
The attribute weights are delivered through this port.
- performance (Performance Vector)
This port delivers the Performance Vector for the selected attributes. A Performance Vector is a list of performance criteria values.
Parameters
- use exact number of attributesThis parameter determines if only combinations containing exact numbers of attributes should be tested. The exact number is specified by the exact number of attributes parameter.
- exact number of attributesThis parameter is only available when the use exact number of attributes parameter is set to true. Only combinations containing this numbers of attributes would be generated and tested.
- restrict maximumIf set to true, the maximum number of attributes whose combinations will be generated and tested can be restricted. Otherwise all combinations of all attributes are generated and tested. This parameter is only available when the use exact number of attributes parameter is set to true.
- min number of attributesThis parameter determines the minimum number of features used for the combinations to be generated and tested.
- max number of attributesThis parameter determines the maximum number of features used for the combinations to be generated and tested. This parameter is only available when the restrict maximum parameter is set to true.
- normalize weightsThis parameter indicates if the final weights should be normalized. If set to true, the final weights are normalized such that the maximum weight is 1 and the minimum weight is 0.
- use local random seedThis parameter indicates if a local random seed should be used for randomization. Using the same value of local random seed will produce the same randomization.
- local random seedThis parameter specifies the local random seed and is only available if the use local random seed parameter is set to true.
- user result individual selectionIf this parameter is set to true, it allows the user to select the final result individual from the last population.
- show population plotterThis parameter determines if the current population should be displayed in the performance space.
- plot generationsThis parameter is only available when the show population plotter parameter is set to true. The population plotter is updated in these generations.
- constraint draw rangeThis parameter is only available when the show population plotter parameter is set to true. This parameter determines if the draw range of the population plotter should be constrained between 0 and 1.
- draw dominated pointsThis parameter is only available when the show population plotter parameter is set to true. This parameter determines if only points which are not Pareto dominated should be drawn on the population plotter.
- population criteria data fileThis parameter specifies the path to the file in which the criteria data of the final population should be saved.
- maximal fitnessThis parameter specifies the maximal fitness. The optimization will stop if the fitness reaches this value.
Tutorial Processes
Feature reduction of the Polynomial data set
The 'Polynomial' data set is loaded using the Retrieve operator. A breakpoint is inserted here so that you can have a look at the ExampleSet. You can see that the ExampleSet has 5 regular attributes other then the label attribute. The Optimize Selection (Brute Force) operator is applied on the ExampleSet which is a nested operator i.e. it has a subprocess. It is necessary for the subprocess to deliver a performance vector. This performance vector is used by the underlying feature reduction algorithm. Have a look at the subprocess of this operator. The Split Validation operator has been used there which itself is a nested operator. Have a look at the subprocesses of the Split Validation operator. The Support Vector Machine operator is used in the 'Training' subprocess to train a model. The trained model is applied using the Apply Model operator in the 'Testing' subprocess. The performance is measured through the Performance operator and the resultant performance vector is used by the underlying algorithm. Run the process and switch to the Results Workspace. You can see that the ExampleSet that had 5 attributes has now been reduced to 3 attributes.