comparison lightgbm.xml @ 3:c3bafda50176 draft

"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
author bgruening
date Tue, 13 Apr 2021 18:33:38 +0000
parents 13226b2ddfb4
children 364234f65507
comparison
equal deleted inserted replaced
2:c12485d058aa 3:c3bafda50176
1 <tool id="sklearn_lightgbm" name="LightGBM" version="@VERSION@"> 1 <tool id="sklearn_lightgbm" name="LightGBM" version="@VERSION@" profile="20.05">
2 <description>- train and apply LightGBM models</description> 2 <description>- train and apply LightGBM models</description>
3 <macros> 3 <macros>
4 <import>main_macros.xml</import> 4 <import>main_macros.xml</import>
5 </macros> 5 </macros>
6 <expand macro="python_requirements"> 6 <expand macro="python_requirements">
7 <requirement type="package" version="2.3.0">lightgbm</requirement> 7 <requirement type="package" version="2.3.0">lightgbm</requirement>
8 </expand> 8 </expand>
9 <expand macro="macro_stdio"/> 9 <expand macro="macro_stdio" />
10 <version_command>echo "@VERSION@"</version_command> 10 <version_command>echo "@VERSION@"</version_command>
11 <command><![CDATA[ 11 <command><![CDATA[
12 python '$lightgbm_script' '$inputs' 12 python '$lightgbm_script' '$inputs'
13 ]]> 13 ]]>
14 </command> 14 </command>
15 <configfiles> 15 <configfiles>
16 <inputs name="inputs"/> 16 <inputs name="inputs" />
17 <configfile name="lightgbm_script"> 17 <configfile name="lightgbm_script">
18 <![CDATA[ 18 <![CDATA[
19 import json 19 import json
20 import lightgbm as lgb 20 import lightgbm as lgb
21 import pandas 21 import pandas
22 import sys 22 import sys
23 23
75 <expand macro="sl_Conditional"> 75 <expand macro="sl_Conditional">
76 <param name="selected_algorithm" type="select" label="Classification or regression?"> 76 <param name="selected_algorithm" type="select" label="Classification or regression?">
77 <option value="LightGBMClassifier">Classification</option> 77 <option value="LightGBMClassifier">Classification</option>
78 <option value="LightGBMRegressor">Regression</option> 78 <option value="LightGBMRegressor">Regression</option>
79 </param> 79 </param>
80 <when value="LightGBMClassifier" > 80 <when value="LightGBMClassifier">
81 <expand macro="sl_mixed_input"/> 81 <expand macro="sl_mixed_input" />
82 <section name="options" title="Advanced Options" expanded="False"> 82 <section name="options" title="Advanced Options" expanded="False">
83 <param argument="objective" type="select" label="Loss function"> 83 <param argument="objective" type="select" label="Loss function">
84 <option value="binary">Binary log loss classification</option> 84 <option value="binary">Binary log loss classification</option>
85 <option value="multiclass">Multiclass - softmax objective function</option> 85 <option value="multiclass">Multiclass - softmax objective function</option>
86 <option value="multiclassova">Multiclass - one-vs-all binary objective function</option> 86 <option value="multiclassova">Multiclass - one-vs-all binary objective function</option>
87 </param> 87 </param>
88 <param name="num_class" label="Number of classes" type="integer" value="1"/> 88 <param name="num_class" label="Number of classes" type="integer" value="1" />
89 <expand macro="n_estimators" default_value="100" help="The number of boosting stages to perform"/> 89 <expand macro="n_estimators" default_value="100" help="The number of boosting stages to perform" />
90 <expand macro="max_depth" default_value="3" help="maximum depth of the individual regression estimators"/> 90 <expand macro="max_depth" default_value="3" help="maximum depth of the individual regression estimators" />
91 <expand macro="learning_rate" default_value='0.1'/> 91 <expand macro="learning_rate" default_value='0.1' />
92 <expand macro="max_leaf_nodes"/> 92 <expand macro="max_leaf_nodes" />
93 <expand macro="subsample"/> 93 <expand macro="subsample" />
94 <expand macro="verbose"/> 94 <expand macro="verbose" />
95 <expand macro="feature_fraction"/> 95 <expand macro="feature_fraction" />
96 <expand macro="lambda_l1"/> 96 <expand macro="lambda_l1" />
97 <expand macro="lambda_l2"/> 97 <expand macro="lambda_l2" />
98 <expand macro="min_gain_to_split"/> 98 <expand macro="min_gain_to_split" />
99 <expand macro="min_child_weight"/> 99 <expand macro="min_child_weight" />
100 <expand macro="random_state"/> 100 <expand macro="random_state" />
101 </section> 101 </section>
102 </when> 102 </when>
103 103
104 <when value="LightGBMRegressor"> 104 <when value="LightGBMRegressor">
105 <expand macro="sl_mixed_input"/> 105 <expand macro="sl_mixed_input" />
106 <section name="options" title="Advanced Options" expanded="False"> 106 <section name="options" title="Advanced Options" expanded="False">
107 <param argument="objective" type="select" label="Loss function"> 107 <param argument="objective" type="select" label="Loss function">
108 <option value="l1">Absolute loss</option> 108 <option value="l1">Absolute loss</option>
109 <option value="l2">Square loss</option> 109 <option value="l2">Square loss</option>
110 <option value="rmse">Root square loss</option> 110 <option value="rmse">Root square loss</option>
111 <option value="huber">Huber loss - combination of least squares regression and least absolute deviation</option> 111 <option value="huber">Huber loss - combination of least squares regression and least absolute deviation</option>
112 <option value="quantile">Quantile - use alpha to specify the quantile</option> 112 <option value="quantile">Quantile - use alpha to specify the quantile</option>
113 </param> 113 </param>
114 <expand macro="n_estimators" default_value="100" help="The number of boosting stages to perform"/> 114 <expand macro="n_estimators" default_value="100" help="The number of boosting stages to perform" />
115 <expand macro="max_depth" default_value="3" help="maximum depth of the individual regression estimators"/> 115 <expand macro="max_depth" default_value="3" help="maximum depth of the individual regression estimators" />
116 <expand macro="learning_rate" default_value='0.1'/> 116 <expand macro="learning_rate" default_value='0.1' />
117 <expand macro="max_leaf_nodes"/> 117 <expand macro="max_leaf_nodes" />
118 <expand macro="subsample"/> 118 <expand macro="subsample" />
119 <expand macro="verbose"/> 119 <expand macro="verbose" />
120 <expand macro="feature_fraction"/> 120 <expand macro="feature_fraction" />
121 <expand macro="lambda_l1"/> 121 <expand macro="lambda_l1" />
122 <expand macro="lambda_l2"/> 122 <expand macro="lambda_l2" />
123 <expand macro="min_gain_to_split"/> 123 <expand macro="min_gain_to_split" />
124 <expand macro="min_child_weight"/> 124 <expand macro="min_child_weight" />
125 <expand macro="random_state"/> 125 <expand macro="random_state" />
126 </section> 126 </section>
127 </when> 127 </when>
128 </expand> 128 </expand>
129 </inputs> 129 </inputs>
130 130
131 <outputs> 131 <outputs>
132 <data format="tabular" name="outfile_predict"> 132 <data format="tabular" name="outfile_predict">
133 <filter>selected_tasks['selected_task'] == 'load'</filter> 133 <filter>selected_tasks['selected_task'] == 'load'</filter>
134 </data> 134 </data>
135 <data format="txt" name="outfile_fit" label="${tool.name}.${selected_tasks.selected_algorithms.selected_algorithm}"> 135 <data format="txt" name="outfile_fit" label="${tool.name}.${selected_tasks.selected_algorithms.selected_algorithm}">
136 <filter>selected_tasks['selected_task'] == 'train'</filter> 136 <filter>selected_tasks['selected_task'] == 'train'</filter>
137 </data> 137 </data>
138 </outputs> 138 </outputs>
139 139
140 <tests> 140 <tests>
141 <test> 141 <test>
142 <param name="infile1" value="regression_X.tabular" ftype="tabular"/> 142 <param name="infile1" value="regression_X.tabular" ftype="tabular" />
143 <param name="infile2" value="regression_y.tabular" ftype="tabular"/> 143 <param name="infile2" value="regression_y.tabular" ftype="tabular" />
144 <param name="header1" value="True"/> 144 <param name="header1" value="True" />
145 <param name="selected_column_selector_option" value="all_columns"/> 145 <param name="selected_column_selector_option" value="all_columns" />
146 <param name="header2" value="True"/> 146 <param name="header2" value="True" />
147 <param name="col2" value="1"/> 147 <param name="col2" value="1" />
148 <param name="selected_task" value="train"/> 148 <param name="selected_task" value="train" />
149 <param name="selected_algorithm" value="LightGBMRegressor"/> 149 <param name="selected_algorithm" value="LightGBMRegressor" />
150 <param name="objective" value="l2"/> 150 <param name="objective" value="l2" />
151 <param name="n_estimators" value="10000"/> 151 <param name="n_estimators" value="10000" />
152 <param name="learning_rate" value="0.02"/> 152 <param name="learning_rate" value="0.02" />
153 <param name="max_leaf_nodes" value="32"/> 153 <param name="max_leaf_nodes" value="32" />
154 <param name="feature_fraction" value="0.9"/> 154 <param name="feature_fraction" value="0.9" />
155 <param name="subsample" value="0.9"/> 155 <param name="subsample" value="0.9" />
156 <param name="max_depth" value="8"/> 156 <param name="max_depth" value="8" />
157 <param name="lambda_l1" value="0.04"/> 157 <param name="lambda_l1" value="0.04" />
158 <param name="lambda_l2" value="0.07"/> 158 <param name="lambda_l2" value="0.07" />
159 <param name="min_gain_to_split" value="0.02"/> 159 <param name="min_gain_to_split" value="0.02" />
160 <param name="min_child_weight" value="39.0"/> 160 <param name="min_child_weight" value="39.0" />
161 <param name="verbose" value="-1"/> 161 <param name="verbose" value="-1" />
162 <param name="random_state" value="1"/> 162 <param name="random_state" value="1" />
163 <output name="outfile_fit" file="lgb_regr_model.txt" compare="sim_size" delta="5"/> 163 <output name="outfile_fit" file="lgb_regr_model.txt" compare="sim_size" delta="5" />
164 </test> 164 </test>
165 <!-- See 'Fix get_scoring method #1103'
165 <test> 166 <test>
166 <param name="infile_model" value="lgb_regr_model.txt" ftype="txt"/> 167 <param name="infile_model" value="lgb_regr_model.txt" ftype="txt" />
167 <param name="infile_data" value="regression_X.tabular" ftype="tabular"/> 168 <param name="infile_data" value="regression_X.tabular" ftype="tabular" />
168 <param name="selected_task" value="load"/> 169 <param name="selected_task" value="load" />
169 <param name="header" value="True"/> 170 <param name="header" value="True" />
170 <output name="outfile_predict" file="lgb_prediction_result01.tabular"/> 171 <output name="outfile_predict" file="lgb_prediction_result01.tabular" />
171 </test> 172 </test>
173 -->
172 <test> 174 <test>
173 <param name="infile1" value="train.tabular" ftype="tabular"/> 175 <param name="infile1" value="train.tabular" ftype="tabular" />
174 <param name="infile2" value="train.tabular" ftype="tabular"/> 176 <param name="infile2" value="train.tabular" ftype="tabular" />
175 <param name="col1" value="1,2,3,4"/> 177 <param name="col1" value="1,2,3,4" />
176 <param name="col2" value="5"/> 178 <param name="col2" value="5" />
177 <param name="selected_task" value="train"/> 179 <param name="selected_task" value="train" />
178 <param name="selected_algorithm" value="LightGBMClassifier"/> 180 <param name="selected_algorithm" value="LightGBMClassifier" />
179 <param name="objective" value="binary"/> 181 <param name="objective" value="binary" />
180 <param name="n_estimators" value="10000"/> 182 <param name="n_estimators" value="10000" />
181 <param name="learning_rate" value="0.02"/> 183 <param name="learning_rate" value="0.02" />
182 <param name="max_leaf_nodes" value="32"/> 184 <param name="max_leaf_nodes" value="32" />
183 <param name="feature_fraction" value="0.9"/> 185 <param name="feature_fraction" value="0.9" />
184 <param name="subsample" value="0.9"/> 186 <param name="subsample" value="0.9" />
185 <param name="max_depth" value="8"/> 187 <param name="max_depth" value="8" />
186 <param name="lambda_l1" value="0.04"/> 188 <param name="lambda_l1" value="0.04" />
187 <param name="lambda_l2" value="0.07"/> 189 <param name="lambda_l2" value="0.07" />
188 <param name="min_gain_to_split" value="0.02"/> 190 <param name="min_gain_to_split" value="0.02" />
189 <param name="min_child_weight" value="39.0"/> 191 <param name="min_child_weight" value="39.0" />
190 <param name="verbose" value="-1"/> 192 <param name="verbose" value="-1" />
191 <param name="random_state" value="1"/> 193 <param name="random_state" value="1" />
192 <output name="outfile_fit" file="lgb_class_model.txt" compare="sim_size" delta="5"/> 194 <output name="outfile_fit" file="lgb_class_model.txt" compare="sim_size" delta="5" />
193 </test> 195 </test>
194 196
195 </tests> 197 </tests>
196 <help><![CDATA[ 198 <help><![CDATA[
197 **What it does** 199 **What it does**
263 265
264 **3 - Prediction output** 266 **3 - Prediction output**
265 267
266 The tool predicts the class labels for new samples and adds them as the last column to the prediction dataset. The new dataset (i.e. tabular input plus an additional column containing predicted values) is then returned as a tabular file. The prediction output format should look like the training dataset. 268 The tool predicts the class labels for new samples and adds them as the last column to the prediction dataset. The new dataset (i.e. tabular input plus an additional column containing predicted values) is then returned as a tabular file. The prediction output format should look like the training dataset.
267 269
268 ]]></help> 270 ]]> </help>
269 <expand macro="sklearn_citation"> 271 <expand macro="sklearn_citation">
270 <citation type="bibtex"> 272 <citation type="bibtex">
271 @incollection{NIPS2017_6907, 273 @incollection{NIPS2017_6907,
272 title = {LightGBM: A Highly Efficient Gradient Boosting Decision Tree}, 274 title = {LightGBM: A Highly Efficient Gradient Boosting Decision Tree},
273 author = {Ke, Guolin and Meng, Qi and Finley, Thomas and Wang, Taifeng and Chen, Wei and Ma, Weidong and Ye, Qiwei and Liu, Tie-Yan}, 275 author = {Ke, Guolin and Meng, Qi and Finley, Thomas and Wang, Taifeng and Chen, Wei and Ma, Weidong and Ye, Qiwei and Liu, Tie-Yan},