Mercurial > repos > bgruening > sklearn_clf_metrics
annotate stacking_ensembles.py @ 40:0ee984c1cbd6 draft
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit f031d8ddfb73cec24572648666ac44ee47f08aad
| author | bgruening | 
|---|---|
| date | Thu, 11 Aug 2022 09:27:14 +0000 | 
| parents | c8547d3993c0 | 
| children | e3c787437a6d | 
| rev | line source | 
|---|---|
| 
24
 
9bf11bbeccc3
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
 
bgruening 
parents:  
diff
changeset
 | 
1 import argparse | 
| 
26
 
44f0ce9488fb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 
bgruening 
parents: 
24 
diff
changeset
 | 
2 import ast | 
| 
24
 
9bf11bbeccc3
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
 
bgruening 
parents:  
diff
changeset
 | 
3 import json | 
| 
 
9bf11bbeccc3
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
 
bgruening 
parents:  
diff
changeset
 | 
4 import pickle | 
| 
26
 
44f0ce9488fb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 
bgruening 
parents: 
24 
diff
changeset
 | 
5 import sys | 
| 
24
 
9bf11bbeccc3
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
 
bgruening 
parents:  
diff
changeset
 | 
6 import warnings | 
| 
36
 
40e31fb88836
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 
bgruening 
parents: 
35 
diff
changeset
 | 
7 | 
| 
 
40e31fb88836
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 
bgruening 
parents: 
35 
diff
changeset
 | 
8 import mlxtend.classifier | 
| 
 
40e31fb88836
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 
bgruening 
parents: 
35 
diff
changeset
 | 
9 import mlxtend.regressor | 
| 
 
40e31fb88836
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 
bgruening 
parents: 
35 
diff
changeset
 | 
10 import pandas as pd | 
| 
37
 
c8547d3993c0
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 
bgruening 
parents: 
36 
diff
changeset
 | 
11 from galaxy_ml.utils import (get_cv, get_estimator, get_search_params, | 
| 
 
c8547d3993c0
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 
bgruening 
parents: 
36 
diff
changeset
 | 
12 load_model) | 
| 
24
 
9bf11bbeccc3
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
 
bgruening 
parents:  
diff
changeset
 | 
13 | 
| 
35
 
388f6ec0f3b3
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
 
bgruening 
parents: 
29 
diff
changeset
 | 
14 warnings.filterwarnings("ignore") | 
| 
24
 
9bf11bbeccc3
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
 
bgruening 
parents:  
diff
changeset
 | 
15 | 
| 
35
 
388f6ec0f3b3
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
 
bgruening 
parents: 
29 
diff
changeset
 | 
16 N_JOBS = int(__import__("os").environ.get("GALAXY_SLOTS", 1)) | 
| 
24
 
9bf11bbeccc3
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
 
bgruening 
parents:  
diff
changeset
 | 
17 | 
| 
 
9bf11bbeccc3
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
 
bgruening 
parents:  
diff
changeset
 | 
18 | 
| 
35
 
388f6ec0f3b3
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
 
bgruening 
parents: 
29 
diff
changeset
 | 
19 def main(inputs_path, output_obj, base_paths=None, meta_path=None, outfile_params=None): | 
| 
24
 
9bf11bbeccc3
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
 
bgruening 
parents:  
diff
changeset
 | 
20 """ | 
| 
 
9bf11bbeccc3
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
 
bgruening 
parents:  
diff
changeset
 | 
21 Parameter | 
| 
 
9bf11bbeccc3
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
 
bgruening 
parents:  
diff
changeset
 | 
22 --------- | 
| 
 
9bf11bbeccc3
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
 
bgruening 
parents:  
diff
changeset
 | 
23 inputs_path : str | 
| 
 
9bf11bbeccc3
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
 
bgruening 
parents:  
diff
changeset
 | 
24 File path for Galaxy parameters | 
| 
 
9bf11bbeccc3
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
 
bgruening 
parents:  
diff
changeset
 | 
25 | 
| 
 
9bf11bbeccc3
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
 
bgruening 
parents:  
diff
changeset
 | 
26 output_obj : str | 
| 
 
9bf11bbeccc3
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
 
bgruening 
parents:  
diff
changeset
 | 
27 File path for ensemble estimator ouput | 
| 
 
9bf11bbeccc3
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
 
bgruening 
parents:  
diff
changeset
 | 
28 | 
| 
 
9bf11bbeccc3
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
 
bgruening 
parents:  
diff
changeset
 | 
29 base_paths : str | 
| 
 
9bf11bbeccc3
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
 
bgruening 
parents:  
diff
changeset
 | 
30 File path or paths concatenated by comma. | 
| 
 
9bf11bbeccc3
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
 
bgruening 
parents:  
diff
changeset
 | 
31 | 
| 
 
9bf11bbeccc3
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
 
bgruening 
parents:  
diff
changeset
 | 
32 meta_path : str | 
| 
 
9bf11bbeccc3
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
 
bgruening 
parents:  
diff
changeset
 | 
33 File path | 
| 
 
9bf11bbeccc3
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
 
bgruening 
parents:  
diff
changeset
 | 
34 | 
| 
 
9bf11bbeccc3
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
 
bgruening 
parents:  
diff
changeset
 | 
35 outfile_params : str | 
| 
 
9bf11bbeccc3
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
 
bgruening 
parents:  
diff
changeset
 | 
36 File path for params output | 
| 
 
9bf11bbeccc3
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
 
bgruening 
parents:  
diff
changeset
 | 
37 """ | 
| 
35
 
388f6ec0f3b3
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
 
bgruening 
parents: 
29 
diff
changeset
 | 
38 with open(inputs_path, "r") as param_handler: | 
| 
24
 
9bf11bbeccc3
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
 
bgruening 
parents:  
diff
changeset
 | 
39 params = json.load(param_handler) | 
| 
 
9bf11bbeccc3
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
 
bgruening 
parents:  
diff
changeset
 | 
40 | 
| 
35
 
388f6ec0f3b3
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
 
bgruening 
parents: 
29 
diff
changeset
 | 
41 estimator_type = params["algo_selection"]["estimator_type"] | 
| 
26
 
44f0ce9488fb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 
bgruening 
parents: 
24 
diff
changeset
 | 
42 # get base estimators | 
| 
24
 
9bf11bbeccc3
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
 
bgruening 
parents:  
diff
changeset
 | 
43 base_estimators = [] | 
| 
35
 
388f6ec0f3b3
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
 
bgruening 
parents: 
29 
diff
changeset
 | 
44 for idx, base_file in enumerate(base_paths.split(",")): | 
| 
 
388f6ec0f3b3
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
 
bgruening 
parents: 
29 
diff
changeset
 | 
45 if base_file and base_file != "None": | 
| 
 
388f6ec0f3b3
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
 
bgruening 
parents: 
29 
diff
changeset
 | 
46 with open(base_file, "rb") as handler: | 
| 
24
 
9bf11bbeccc3
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
 
bgruening 
parents:  
diff
changeset
 | 
47 model = load_model(handler) | 
| 
 
9bf11bbeccc3
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
 
bgruening 
parents:  
diff
changeset
 | 
48 else: | 
| 
35
 
388f6ec0f3b3
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
 
bgruening 
parents: 
29 
diff
changeset
 | 
49 estimator_json = params["base_est_builder"][idx]["estimator_selector"] | 
| 
24
 
9bf11bbeccc3
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
 
bgruening 
parents:  
diff
changeset
 | 
50 model = get_estimator(estimator_json) | 
| 
26
 
44f0ce9488fb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 
bgruening 
parents: 
24 
diff
changeset
 | 
51 | 
| 
35
 
388f6ec0f3b3
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
 
bgruening 
parents: 
29 
diff
changeset
 | 
52 if estimator_type.startswith("sklearn"): | 
| 
26
 
44f0ce9488fb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 
bgruening 
parents: 
24 
diff
changeset
 | 
53 named = model.__class__.__name__.lower() | 
| 
35
 
388f6ec0f3b3
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
 
bgruening 
parents: 
29 
diff
changeset
 | 
54 named = "base_%d_%s" % (idx, named) | 
| 
26
 
44f0ce9488fb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 
bgruening 
parents: 
24 
diff
changeset
 | 
55 base_estimators.append((named, model)) | 
| 
 
44f0ce9488fb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 
bgruening 
parents: 
24 
diff
changeset
 | 
56 else: | 
| 
 
44f0ce9488fb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 
bgruening 
parents: 
24 
diff
changeset
 | 
57 base_estimators.append(model) | 
| 
24
 
9bf11bbeccc3
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
 
bgruening 
parents:  
diff
changeset
 | 
58 | 
| 
26
 
44f0ce9488fb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 
bgruening 
parents: 
24 
diff
changeset
 | 
59 # get meta estimator, if applicable | 
| 
35
 
388f6ec0f3b3
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
 
bgruening 
parents: 
29 
diff
changeset
 | 
60 if estimator_type.startswith("mlxtend"): | 
| 
26
 
44f0ce9488fb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 
bgruening 
parents: 
24 
diff
changeset
 | 
61 if meta_path: | 
| 
35
 
388f6ec0f3b3
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
 
bgruening 
parents: 
29 
diff
changeset
 | 
62 with open(meta_path, "rb") as f: | 
| 
26
 
44f0ce9488fb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 
bgruening 
parents: 
24 
diff
changeset
 | 
63 meta_estimator = load_model(f) | 
| 
 
44f0ce9488fb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 
bgruening 
parents: 
24 
diff
changeset
 | 
64 else: | 
| 
37
 
c8547d3993c0
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 
bgruening 
parents: 
36 
diff
changeset
 | 
65 estimator_json = params["algo_selection"]["meta_estimator"][ | 
| 
 
c8547d3993c0
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 
bgruening 
parents: 
36 
diff
changeset
 | 
66 "estimator_selector" | 
| 
 
c8547d3993c0
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 
bgruening 
parents: 
36 
diff
changeset
 | 
67 ] | 
| 
26
 
44f0ce9488fb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 
bgruening 
parents: 
24 
diff
changeset
 | 
68 meta_estimator = get_estimator(estimator_json) | 
| 
24
 
9bf11bbeccc3
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
 
bgruening 
parents:  
diff
changeset
 | 
69 | 
| 
35
 
388f6ec0f3b3
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
 
bgruening 
parents: 
29 
diff
changeset
 | 
70 options = params["algo_selection"]["options"] | 
| 
24
 
9bf11bbeccc3
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
 
bgruening 
parents:  
diff
changeset
 | 
71 | 
| 
35
 
388f6ec0f3b3
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
 
bgruening 
parents: 
29 
diff
changeset
 | 
72 cv_selector = options.pop("cv_selector", None) | 
| 
24
 
9bf11bbeccc3
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
 
bgruening 
parents:  
diff
changeset
 | 
73 if cv_selector: | 
| 
35
 
388f6ec0f3b3
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
 
bgruening 
parents: 
29 
diff
changeset
 | 
74 splitter, _groups = get_cv(cv_selector) | 
| 
 
388f6ec0f3b3
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
 
bgruening 
parents: 
29 
diff
changeset
 | 
75 options["cv"] = splitter | 
| 
24
 
9bf11bbeccc3
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
 
bgruening 
parents:  
diff
changeset
 | 
76 # set n_jobs | 
| 
35
 
388f6ec0f3b3
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
 
bgruening 
parents: 
29 
diff
changeset
 | 
77 options["n_jobs"] = N_JOBS | 
| 
24
 
9bf11bbeccc3
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
 
bgruening 
parents:  
diff
changeset
 | 
78 | 
| 
35
 
388f6ec0f3b3
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
 
bgruening 
parents: 
29 
diff
changeset
 | 
79 weights = options.pop("weights", None) | 
| 
26
 
44f0ce9488fb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 
bgruening 
parents: 
24 
diff
changeset
 | 
80 if weights: | 
| 
29
 
e8ded63c3fa8
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit eb703290e2589561ea215c84aa9f71bcfe1712c6"
 
bgruening 
parents: 
28 
diff
changeset
 | 
81 weights = ast.literal_eval(weights) | 
| 
 
e8ded63c3fa8
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit eb703290e2589561ea215c84aa9f71bcfe1712c6"
 
bgruening 
parents: 
28 
diff
changeset
 | 
82 if weights: | 
| 
35
 
388f6ec0f3b3
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
 
bgruening 
parents: 
29 
diff
changeset
 | 
83 options["weights"] = weights | 
| 
26
 
44f0ce9488fb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 
bgruening 
parents: 
24 
diff
changeset
 | 
84 | 
| 
35
 
388f6ec0f3b3
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
 
bgruening 
parents: 
29 
diff
changeset
 | 
85 mod_and_name = estimator_type.split("_") | 
| 
26
 
44f0ce9488fb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 
bgruening 
parents: 
24 
diff
changeset
 | 
86 mod = sys.modules[mod_and_name[0]] | 
| 
 
44f0ce9488fb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 
bgruening 
parents: 
24 
diff
changeset
 | 
87 klass = getattr(mod, mod_and_name[1]) | 
| 
 
44f0ce9488fb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 
bgruening 
parents: 
24 
diff
changeset
 | 
88 | 
| 
35
 
388f6ec0f3b3
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
 
bgruening 
parents: 
29 
diff
changeset
 | 
89 if estimator_type.startswith("sklearn"): | 
| 
 
388f6ec0f3b3
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
 
bgruening 
parents: 
29 
diff
changeset
 | 
90 options["n_jobs"] = N_JOBS | 
| 
26
 
44f0ce9488fb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 
bgruening 
parents: 
24 
diff
changeset
 | 
91 ensemble_estimator = klass(base_estimators, **options) | 
| 
 
44f0ce9488fb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 
bgruening 
parents: 
24 
diff
changeset
 | 
92 | 
| 
 
44f0ce9488fb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 
bgruening 
parents: 
24 
diff
changeset
 | 
93 elif mod == mlxtend.classifier: | 
| 
37
 
c8547d3993c0
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 
bgruening 
parents: 
36 
diff
changeset
 | 
94 ensemble_estimator = klass( | 
| 
 
c8547d3993c0
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 
bgruening 
parents: 
36 
diff
changeset
 | 
95 classifiers=base_estimators, meta_classifier=meta_estimator, **options | 
| 
 
c8547d3993c0
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 
bgruening 
parents: 
36 
diff
changeset
 | 
96 ) | 
| 
24
 
9bf11bbeccc3
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
 
bgruening 
parents:  
diff
changeset
 | 
97 | 
| 
 
9bf11bbeccc3
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
 
bgruening 
parents:  
diff
changeset
 | 
98 else: | 
| 
37
 
c8547d3993c0
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 
bgruening 
parents: 
36 
diff
changeset
 | 
99 ensemble_estimator = klass( | 
| 
 
c8547d3993c0
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 
bgruening 
parents: 
36 
diff
changeset
 | 
100 regressors=base_estimators, meta_regressor=meta_estimator, **options | 
| 
 
c8547d3993c0
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 
bgruening 
parents: 
36 
diff
changeset
 | 
101 ) | 
| 
24
 
9bf11bbeccc3
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
 
bgruening 
parents:  
diff
changeset
 | 
102 | 
| 
 
9bf11bbeccc3
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
 
bgruening 
parents:  
diff
changeset
 | 
103 print(ensemble_estimator) | 
| 
 
9bf11bbeccc3
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
 
bgruening 
parents:  
diff
changeset
 | 
104 for base_est in base_estimators: | 
| 
 
9bf11bbeccc3
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
 
bgruening 
parents:  
diff
changeset
 | 
105 print(base_est) | 
| 
 
9bf11bbeccc3
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
 
bgruening 
parents:  
diff
changeset
 | 
106 | 
| 
35
 
388f6ec0f3b3
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
 
bgruening 
parents: 
29 
diff
changeset
 | 
107 with open(output_obj, "wb") as out_handler: | 
| 
24
 
9bf11bbeccc3
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
 
bgruening 
parents:  
diff
changeset
 | 
108 pickle.dump(ensemble_estimator, out_handler, pickle.HIGHEST_PROTOCOL) | 
| 
 
9bf11bbeccc3
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
 
bgruening 
parents:  
diff
changeset
 | 
109 | 
| 
35
 
388f6ec0f3b3
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
 
bgruening 
parents: 
29 
diff
changeset
 | 
110 if params["get_params"] and outfile_params: | 
| 
24
 
9bf11bbeccc3
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
 
bgruening 
parents:  
diff
changeset
 | 
111 results = get_search_params(ensemble_estimator) | 
| 
35
 
388f6ec0f3b3
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
 
bgruening 
parents: 
29 
diff
changeset
 | 
112 df = pd.DataFrame(results, columns=["", "Parameter", "Value"]) | 
| 
 
388f6ec0f3b3
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
 
bgruening 
parents: 
29 
diff
changeset
 | 
113 df.to_csv(outfile_params, sep="\t", index=False) | 
| 
24
 
9bf11bbeccc3
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
 
bgruening 
parents:  
diff
changeset
 | 
114 | 
| 
 
9bf11bbeccc3
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
 
bgruening 
parents:  
diff
changeset
 | 
115 | 
| 
35
 
388f6ec0f3b3
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
 
bgruening 
parents: 
29 
diff
changeset
 | 
116 if __name__ == "__main__": | 
| 
24
 
9bf11bbeccc3
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
 
bgruening 
parents:  
diff
changeset
 | 
117 aparser = argparse.ArgumentParser() | 
| 
 
9bf11bbeccc3
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
 
bgruening 
parents:  
diff
changeset
 | 
118 aparser.add_argument("-b", "--bases", dest="bases") | 
| 
 
9bf11bbeccc3
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
 
bgruening 
parents:  
diff
changeset
 | 
119 aparser.add_argument("-m", "--meta", dest="meta") | 
| 
 
9bf11bbeccc3
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
 
bgruening 
parents:  
diff
changeset
 | 
120 aparser.add_argument("-i", "--inputs", dest="inputs") | 
| 
 
9bf11bbeccc3
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
 
bgruening 
parents:  
diff
changeset
 | 
121 aparser.add_argument("-o", "--outfile", dest="outfile") | 
| 
 
9bf11bbeccc3
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
 
bgruening 
parents:  
diff
changeset
 | 
122 aparser.add_argument("-p", "--outfile_params", dest="outfile_params") | 
| 
 
9bf11bbeccc3
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
 
bgruening 
parents:  
diff
changeset
 | 
123 args = aparser.parse_args() | 
| 
 
9bf11bbeccc3
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
 
bgruening 
parents:  
diff
changeset
 | 
124 | 
| 
35
 
388f6ec0f3b3
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
 
bgruening 
parents: 
29 
diff
changeset
 | 
125 main( | 
| 
 
388f6ec0f3b3
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
 
bgruening 
parents: 
29 
diff
changeset
 | 
126 args.inputs, | 
| 
 
388f6ec0f3b3
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
 
bgruening 
parents: 
29 
diff
changeset
 | 
127 args.outfile, | 
| 
 
388f6ec0f3b3
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
 
bgruening 
parents: 
29 
diff
changeset
 | 
128 base_paths=args.bases, | 
| 
 
388f6ec0f3b3
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
 
bgruening 
parents: 
29 
diff
changeset
 | 
129 meta_path=args.meta, | 
| 
 
388f6ec0f3b3
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
 
bgruening 
parents: 
29 
diff
changeset
 | 
130 outfile_params=args.outfile_params, | 
| 
 
388f6ec0f3b3
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
 
bgruening 
parents: 
29 
diff
changeset
 | 
131 ) | 
