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