I have an unusual need of XValidation. I want to train on a full set of data, but only test against a subset of data. I'll explain. We are looking at runners of a race. We are less concerned with the accuracy of the model of all the runner and are more interested in the accuracy of the first three. (I don't care if the model predicts the last two runners correctly. I care how well it predicts winners.)
So, my model would ideally look like this.
<operator name="XValidation" class="XValidation" expanded="yes">
<parameter key="number_of_validations" value="4"/>
<parameter key="sampling_type" value="shuffled sampling"/>
<operator name="LibSVMLearner" class="LibSVMLearner">
<parameter key="C" value="0"/>
<parameter key="gamma" value="0"/>
<parameter key="svm_type" value="nu-SVR"/>
</operator>
<operator name="OperatorChain" class="OperatorChain" expanded="yes">
<operator name="ExampleFilter" class="ExampleFilter">
<parameter key="parameter_string" value="rank<4"/>
</operator>
<operator name="ModelApplier" class="ModelApplier">
<list key="application_parameters">
</list>
<parameter key="keep_model" value="true"/>
</operator>
<operator name="Performance" class="Performance">
<parameter key="keep_example_set" value="true"/>
</operator>
<operator name="ProcessLog" class="ProcessLog">
<list key="log">
<parameter key="XV" value="operator.XValidation.value.iteration"/>
<parameter key="Time" value="operator.XValidation.value.looptime"/>
<parameter key="perf" value="operator.Performance.value.performance"/>
</list>
</operator>
</operator>
</operator>
THIS DOES NOT WORK.
What happens is that the example set is reduced in the first iteration. After that, it is training with the reduced set. What I need to do is RESET the example set back to the original for each round of SVM learning.
Do you have any suggestions?