Mercurial > repos > bgruening > sklearn_numeric_clustering
annotate stacking_ensembles.py @ 30:60d80322e1e9 draft
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
author | bgruening |
---|---|
date | Tue, 14 May 2019 17:45:57 -0400 |
parents | |
children | a36e1455971d |
rev | line source |
---|---|
30
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
1 import argparse |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
2 import json |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
3 import pandas as pd |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
4 import pickle |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
5 import xgboost |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
6 import warnings |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
7 from sklearn import (cluster, compose, decomposition, ensemble, |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
8 feature_extraction, feature_selection, |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
9 gaussian_process, kernel_approximation, metrics, |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
10 model_selection, naive_bayes, neighbors, |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
11 pipeline, preprocessing, svm, linear_model, |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
12 tree, discriminant_analysis) |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
13 from sklearn.model_selection._split import check_cv |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
14 from feature_selectors import (DyRFE, DyRFECV, |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
15 MyPipeline, MyimbPipeline) |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
16 from iraps_classifier import (IRAPSCore, IRAPSClassifier, |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
17 BinarizeTargetClassifier, |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
18 BinarizeTargetRegressor) |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
19 from preprocessors import Z_RandomOverSampler |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
20 from utils import load_model, get_cv, get_estimator, get_search_params |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
21 |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
22 from mlxtend.regressor import StackingCVRegressor, StackingRegressor |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
23 from mlxtend.classifier import StackingCVClassifier, StackingClassifier |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
24 |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
25 |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
26 warnings.filterwarnings('ignore') |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
27 |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
28 N_JOBS = int(__import__('os').environ.get('GALAXY_SLOTS', 1)) |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
29 |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
30 |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
31 def main(inputs_path, output_obj, base_paths=None, meta_path=None, |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
32 outfile_params=None): |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
33 """ |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
34 Parameter |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
35 --------- |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
36 inputs_path : str |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
37 File path for Galaxy parameters |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
38 |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
39 output_obj : str |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
40 File path for ensemble estimator ouput |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
41 |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
42 base_paths : str |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
43 File path or paths concatenated by comma. |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
44 |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
45 meta_path : str |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
46 File path |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
47 |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
48 outfile_params : str |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
49 File path for params output |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
50 """ |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
51 with open(inputs_path, 'r') as param_handler: |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
52 params = json.load(param_handler) |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
53 |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
54 base_estimators = [] |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
55 for idx, base_file in enumerate(base_paths.split(',')): |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
56 if base_file and base_file != 'None': |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
57 with open(base_file, 'rb') as handler: |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
58 model = load_model(handler) |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
59 else: |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
60 estimator_json = (params['base_est_builder'][idx] |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
61 ['estimator_selector']) |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
62 model = get_estimator(estimator_json) |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
63 base_estimators.append(model) |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
64 |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
65 if meta_path: |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
66 with open(meta_path, 'rb') as f: |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
67 meta_estimator = load_model(f) |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
68 else: |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
69 estimator_json = params['meta_estimator']['estimator_selector'] |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
70 meta_estimator = get_estimator(estimator_json) |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
71 |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
72 options = params['algo_selection']['options'] |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
73 |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
74 cv_selector = options.pop('cv_selector', None) |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
75 if cv_selector: |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
76 splitter, groups = get_cv(cv_selector) |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
77 options['cv'] = splitter |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
78 # set n_jobs |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
79 options['n_jobs'] = N_JOBS |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
80 |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
81 if params['algo_selection']['estimator_type'] == 'StackingCVClassifier': |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
82 ensemble_estimator = StackingCVClassifier( |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
83 classifiers=base_estimators, |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
84 meta_classifier=meta_estimator, |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
85 **options) |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
86 |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
87 elif params['algo_selection']['estimator_type'] == 'StackingClassifier': |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
88 ensemble_estimator = StackingClassifier( |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
89 classifiers=base_estimators, |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
90 meta_classifier=meta_estimator, |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
91 **options) |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
92 |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
93 elif params['algo_selection']['estimator_type'] == 'StackingCVRegressor': |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
94 ensemble_estimator = StackingCVRegressor( |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
95 regressors=base_estimators, |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
96 meta_regressor=meta_estimator, |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
97 **options) |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
98 |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
99 else: |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
100 ensemble_estimator = StackingRegressor( |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
101 regressors=base_estimators, |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
102 meta_regressor=meta_estimator, |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
103 **options) |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
104 |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
105 print(ensemble_estimator) |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
106 for base_est in base_estimators: |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
107 print(base_est) |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
108 |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
109 with open(output_obj, 'wb') as out_handler: |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
110 pickle.dump(ensemble_estimator, out_handler, pickle.HIGHEST_PROTOCOL) |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
111 |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
112 if params['get_params'] and outfile_params: |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
113 results = get_search_params(ensemble_estimator) |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
114 df = pd.DataFrame(results, columns=['', 'Parameter', 'Value']) |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
115 df.to_csv(outfile_params, sep='\t', index=False) |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
116 |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
117 |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
118 if __name__ == '__main__': |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
119 aparser = argparse.ArgumentParser() |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
120 aparser.add_argument("-b", "--bases", dest="bases") |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
121 aparser.add_argument("-m", "--meta", dest="meta") |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
122 aparser.add_argument("-i", "--inputs", dest="inputs") |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
123 aparser.add_argument("-o", "--outfile", dest="outfile") |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
124 aparser.add_argument("-p", "--outfile_params", dest="outfile_params") |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
125 args = aparser.parse_args() |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
126 |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
127 main(args.inputs, args.outfile, base_paths=args.bases, |
60d80322e1e9
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
diff
changeset
|
128 meta_path=args.meta, outfile_params=args.outfile_params) |