Mercurial > repos > bgruening > sklearn_lightgbm
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}, |