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