<root>
  <key>TrainVectorClassifier-boost</key>
  <exec>otbcli_TrainVectorClassifier</exec>
  <longname>TrainVectorClassifier (boost)</longname>
  <group>Learning</group>
  <description>Train a classifier based on labeled geometries and a list of features to consider.</description>
  <parameter>
    <parameter_type source_parameter_type="ParameterType_InputVectorDataList">ParameterMultipleInput</parameter_type>
    <key>io.vd</key>
    <name>Input Vector Data</name>
    <description>Input geometries used for training (note : all geometries from the layer will be used)</description>
    <datatype />
    <optional>False</optional>
  </parameter>
  <parameter>
    <parameter_type source_parameter_type="ParameterType_InputFilename">ParameterFile</parameter_type>
    <key>io.stats</key>
    <name>Input XML image statistics file</name>
    <description>XML file containing mean and variance of each feature.</description>
    <isFolder />
    <optional>True</optional>
  </parameter>
  <parameter>
    <parameter_type source_parameter_type="ParameterType_OutputFilename">OutputFile</parameter_type>
    <key>io.confmatout</key>
    <name>Output confusion matrix</name>
    <description>Output file containing the confusion matrix (.csv format).</description>
  </parameter>
  <parameter>
    <parameter_type source_parameter_type="ParameterType_OutputFilename">OutputFile</parameter_type>
    <key>io.out</key>
    <name>Output model</name>
    <description>Output file containing the model estimated (.txt format).</description>
  </parameter>
  <parameter>
    <parameter_type source_parameter_type="ParameterType_StringList">ParameterString</parameter_type>
    <key>feat</key>
    <name>Field names for training features.</name>
    <description>List of field names in the input vector data to be used as features for training.</description>
    <options />
    <default />
    <optional>False</optional>
  </parameter>
  <parameter>
    <parameter_type source_parameter_type="ParameterType_String">ParameterString</parameter_type>
    <key>cfield</key>
    <name>Field containing the class id for supervision</name>
    <description>Field containing the class id for supervision. Only geometries with this field available will be taken into account.</description>
    <default>class</default>
    <multiline />
    <optional>False</optional>
  </parameter>
  <parameter>
    <parameter_type source_parameter_type="ParameterType_Int">ParameterNumber</parameter_type>
    <key>layer</key>
    <name>Layer Index</name>
    <description>Index of the layer to use in the input vector file.</description>
    <minValue />
    <maxValue />
    <default>0</default>
    <optional>True</optional>
  </parameter>
  <parameter>
    <parameter_type source_parameter_type="ParameterType_InputVectorDataList">ParameterMultipleInput</parameter_type>
    <key>valid.vd</key>
    <name>Validation Vector Data</name>
    <description>Geometries used for validation (must contain the same fields used for training, all geometries from the layer will be used)</description>
    <datatype />
    <optional>True</optional>
  </parameter>
  <parameter>
    <parameter_type source_parameter_type="ParameterType_Int">ParameterNumber</parameter_type>
    <key>valid.layer</key>
    <name>Layer Index</name>
    <description>Index of the layer to use in the validation vector file.</description>
    <minValue />
    <maxValue />
    <default>0</default>
    <optional>True</optional>
  </parameter>
  <parameter>
    <parameter_type source_parameter_type="ParameterType_Choice">ParameterSelection</parameter_type>
    <key>classifier</key>
    <name>Classifier to use for the training</name>
    <description>Choice of the classifier to use for the training.</description>
    <options>
      <choices>
        <choice>boost</choice>
        </choices>
    </options>
    <default>0</default>
    <optional>False</optional>
  </parameter>
  <parameter>
    <parameter_type source_parameter_type="ParameterType_Choice">ParameterSelection</parameter_type>
    <key>classifier.boost.t</key>
    <name>Boost Type</name>
    <description>Type of Boosting algorithm.</description>
    <options>
      <choices>
        <choice>discrete</choice>
        <choice>real</choice>
        <choice>logit</choice>
        <choice>gentle</choice>
      </choices>
    </options>
    <default>1</default>
    <optional>False</optional>
  </parameter>
  <parameter>
    <parameter_type source_parameter_type="ParameterType_Int">ParameterNumber</parameter_type>
    <key>classifier.boost.w</key>
    <name>Weak count</name>
    <description>The number of weak classifiers.</description>
    <minValue />
    <maxValue />
    <default>100</default>
    <optional>False</optional>
  </parameter>
  <parameter>
    <parameter_type source_parameter_type="ParameterType_Float">ParameterNumber</parameter_type>
    <key>classifier.boost.r</key>
    <name>Weight Trim Rate</name>
    <description>A threshold between 0 and 1 used to save computational time. Samples with summary weight &lt;= (1 - weight_trim_rate) do not participate in the next iteration of training. Set this parameter to 0 to turn off this functionality.</description>
    <minValue />
    <maxValue />
    <default>0.95</default>
    <optional>False</optional>
  </parameter>
  <parameter>
    <parameter_type source_parameter_type="ParameterType_Int">ParameterNumber</parameter_type>
    <key>classifier.boost.m</key>
    <name>Maximum depth of the tree</name>
    <description>Maximum depth of the tree.</description>
    <minValue />
    <maxValue />
    <default>1</default>
    <optional>False</optional>
  </parameter>
  <parameter>
    <parameter_type source_parameter_type="ParameterType_Int">ParameterNumber</parameter_type>
    <key>rand</key>
    <name>set user defined seed</name>
    <description>Set specific seed. with integer value.</description>
    <minValue />
    <maxValue />
    <default>0</default>
    <optional>True</optional>
  </parameter>
</root>
