Mercurial > repos > bgruening > sklearn_stacking_ensemble_models
annotate utils.py @ 0:47467890f541 draft
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
| author | bgruening | 
|---|---|
| date | Wed, 15 May 2019 07:03:47 -0400 | 
| parents | |
| children | 
| rev | line source | 
|---|---|
| 0 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 1 import ast | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 2 import json | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 3 import imblearn | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 4 import numpy as np | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 5 import pandas | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 6 import pickle | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 7 import re | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 8 import scipy | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 9 import sklearn | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 10 import skrebate | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 11 import sys | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 12 import warnings | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 13 import xgboost | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 14 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 15 from collections import Counter | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 16 from asteval import Interpreter, make_symbol_table | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 17 from imblearn import under_sampling, over_sampling, combine | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 18 from imblearn.pipeline import Pipeline as imbPipeline | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 19 from mlxtend import regressor, classifier | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 20 from scipy.io import mmread | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 21 from sklearn import ( | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 22 cluster, compose, decomposition, ensemble, feature_extraction, | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 23 feature_selection, gaussian_process, kernel_approximation, metrics, | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 24 model_selection, naive_bayes, neighbors, pipeline, preprocessing, | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 25 svm, linear_model, tree, discriminant_analysis) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 26 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 27 try: | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 28 import iraps_classifier | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 29 except ImportError: | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 30 pass | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 31 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 32 try: | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 33 import model_validations | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 34 except ImportError: | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 35 pass | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 36 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 37 try: | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 38 import feature_selectors | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 39 except ImportError: | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 40 pass | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 41 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 42 try: | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 43 import preprocessors | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 44 except ImportError: | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 45 pass | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 46 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 47 # handle pickle white list file | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 48 WL_FILE = __import__('os').path.join( | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 49 __import__('os').path.dirname(__file__), 'pk_whitelist.json') | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 50 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 51 N_JOBS = int(__import__('os').environ.get('GALAXY_SLOTS', 1)) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 52 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 53 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 54 class _SafePickler(pickle.Unpickler, object): | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 55 """ | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 56 Used to safely deserialize scikit-learn model objects | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 57 Usage: | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 58 eg.: _SafePickler.load(pickled_file_object) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 59 """ | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 60 def __init__(self, file): | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 61 super(_SafePickler, self).__init__(file) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 62 # load global white list | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 63 with open(WL_FILE, 'r') as f: | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 64 self.pk_whitelist = json.load(f) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 65 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 66 self.bad_names = ( | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 67 'and', 'as', 'assert', 'break', 'class', 'continue', | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 68 'def', 'del', 'elif', 'else', 'except', 'exec', | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 69 'finally', 'for', 'from', 'global', 'if', 'import', | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 70 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 71 'raise', 'return', 'try', 'system', 'while', 'with', | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 72 'True', 'False', 'None', 'eval', 'execfile', '__import__', | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 73 '__package__', '__subclasses__', '__bases__', '__globals__', | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 74 '__code__', '__closure__', '__func__', '__self__', '__module__', | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 75 '__dict__', '__class__', '__call__', '__get__', | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 76 '__getattribute__', '__subclasshook__', '__new__', | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 77 '__init__', 'func_globals', 'func_code', 'func_closure', | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 78 'im_class', 'im_func', 'im_self', 'gi_code', 'gi_frame', | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 79 '__asteval__', 'f_locals', '__mro__') | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 80 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 81 # unclassified good globals | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 82 self.good_names = [ | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 83 'copy_reg._reconstructor', '__builtin__.object', | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 84 '__builtin__.bytearray', 'builtins.object', | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 85 'builtins.bytearray', 'keras.engine.sequential.Sequential', | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 86 'keras.engine.sequential.Model'] | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 87 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 88 # custom module in Galaxy-ML | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 89 self.custom_modules = [ | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 90 '__main__', 'keras_galaxy_models', 'feature_selectors', | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 91 'preprocessors', 'iraps_classifier', 'model_validations'] | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 92 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 93 # override | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 94 def find_class(self, module, name): | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 95 # balack list first | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 96 if name in self.bad_names: | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 97 raise pickle.UnpicklingError("global '%s.%s' is forbidden" | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 98 % (module, name)) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 99 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 100 # custom module in Galaxy-ML | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 101 if module in self.custom_modules: | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 102 cutom_module = sys.modules.get(module, None) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 103 if cutom_module: | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 104 return getattr(cutom_module, name) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 105 else: | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 106 raise pickle.UnpicklingError("Module %s' is not imported" | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 107 % module) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 108 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 109 # For objects from outside libraries, it's necessary to verify | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 110 # both module and name. Currently only a blacklist checker | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 111 # is working. | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 112 # TODO: replace with a whitelist checker. | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 113 good_names = self.good_names | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 114 pk_whitelist = self.pk_whitelist | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 115 if re.match(r'^[a-zA-Z_][a-zA-Z0-9_]*$', name): | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 116 fullname = module + '.' + name | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 117 if (fullname in good_names)\ | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 118 or (module.startswith(('sklearn.', 'xgboost.', 'skrebate.', | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 119 'imblearn.', 'mlxtend.', 'numpy.')) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 120 or module == 'numpy'): | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 121 if fullname not in (pk_whitelist['SK_NAMES'] + | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 122 pk_whitelist['SKR_NAMES'] + | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 123 pk_whitelist['XGB_NAMES'] + | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 124 pk_whitelist['NUMPY_NAMES'] + | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 125 pk_whitelist['IMBLEARN_NAMES'] + | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 126 pk_whitelist['MLXTEND_NAMES'] + | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 127 good_names): | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 128 # raise pickle.UnpicklingError | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 129 print("Warning: global %s is not in pickler whitelist " | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 130 "yet and will loss support soon. Contact tool " | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 131 "author or leave a message at github.com" % fullname) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 132 mod = sys.modules[module] | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 133 return getattr(mod, name) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 134 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 135 raise pickle.UnpicklingError("global '%s' is forbidden" % fullname) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 136 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 137 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 138 def load_model(file): | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 139 """Load pickled object with `_SafePicker` | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 140 """ | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 141 return _SafePickler(file).load() | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 142 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 143 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 144 def read_columns(f, c=None, c_option='by_index_number', | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 145 return_df=False, **args): | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 146 """Return array from a tabular dataset by various columns selection | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 147 """ | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 148 data = pandas.read_csv(f, **args) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 149 if c_option == 'by_index_number': | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 150 cols = list(map(lambda x: x - 1, c)) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 151 data = data.iloc[:, cols] | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 152 if c_option == 'all_but_by_index_number': | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 153 cols = list(map(lambda x: x - 1, c)) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 154 data.drop(data.columns[cols], axis=1, inplace=True) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 155 if c_option == 'by_header_name': | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 156 cols = [e.strip() for e in c.split(',')] | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 157 data = data[cols] | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 158 if c_option == 'all_but_by_header_name': | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 159 cols = [e.strip() for e in c.split(',')] | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 160 data.drop(cols, axis=1, inplace=True) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 161 y = data.values | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 162 if return_df: | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 163 return y, data | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 164 else: | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 165 return y | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 166 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 167 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 168 def feature_selector(inputs, X=None, y=None): | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 169 """generate an instance of sklearn.feature_selection classes | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 170 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 171 Parameters | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 172 ---------- | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 173 inputs : dict | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 174 From galaxy tool parameters. | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 175 X : array | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 176 Containing training features. | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 177 y : array or list | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 178 Target values. | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 179 """ | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 180 selector = inputs['selected_algorithm'] | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 181 if selector != 'DyRFECV': | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 182 selector = getattr(sklearn.feature_selection, selector) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 183 options = inputs['options'] | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 184 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 185 if inputs['selected_algorithm'] == 'SelectFromModel': | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 186 if not options['threshold'] or options['threshold'] == 'None': | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 187 options['threshold'] = None | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 188 else: | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 189 try: | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 190 options['threshold'] = float(options['threshold']) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 191 except ValueError: | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 192 pass | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 193 if inputs['model_inputter']['input_mode'] == 'prefitted': | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 194 model_file = inputs['model_inputter']['fitted_estimator'] | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 195 with open(model_file, 'rb') as model_handler: | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 196 fitted_estimator = load_model(model_handler) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 197 new_selector = selector(fitted_estimator, prefit=True, **options) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 198 else: | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 199 estimator_json = inputs['model_inputter']['estimator_selector'] | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 200 estimator = get_estimator(estimator_json) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 201 check_feature_importances = try_get_attr( | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 202 'feature_selectors', 'check_feature_importances') | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 203 estimator = check_feature_importances(estimator) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 204 new_selector = selector(estimator, **options) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 205 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 206 elif inputs['selected_algorithm'] == 'RFE': | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 207 step = options.get('step', None) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 208 if step and step >= 1.0: | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 209 options['step'] = int(step) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 210 estimator = get_estimator(inputs["estimator_selector"]) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 211 check_feature_importances = try_get_attr( | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 212 'feature_selectors', 'check_feature_importances') | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 213 estimator = check_feature_importances(estimator) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 214 new_selector = selector(estimator, **options) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 215 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 216 elif inputs['selected_algorithm'] == 'RFECV': | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 217 options['scoring'] = get_scoring(options['scoring']) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 218 options['n_jobs'] = N_JOBS | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 219 splitter, groups = get_cv(options.pop('cv_selector')) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 220 if groups is None: | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 221 options['cv'] = splitter | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 222 else: | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 223 options['cv'] = list(splitter.split(X, y, groups=groups)) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 224 step = options.get('step', None) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 225 if step and step >= 1.0: | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 226 options['step'] = int(step) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 227 estimator = get_estimator(inputs['estimator_selector']) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 228 check_feature_importances = try_get_attr( | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 229 'feature_selectors', 'check_feature_importances') | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 230 estimator = check_feature_importances(estimator) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 231 new_selector = selector(estimator, **options) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 232 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 233 elif inputs['selected_algorithm'] == 'DyRFECV': | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 234 options['scoring'] = get_scoring(options['scoring']) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 235 options['n_jobs'] = N_JOBS | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 236 splitter, groups = get_cv(options.pop('cv_selector')) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 237 if groups is None: | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 238 options['cv'] = splitter | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 239 else: | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 240 options['cv'] = list(splitter.split(X, y, groups=groups)) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 241 step = options.get('step') | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 242 if not step or step == 'None': | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 243 step = None | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 244 else: | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 245 step = ast.literal_eval(step) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 246 options['step'] = step | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 247 estimator = get_estimator(inputs["estimator_selector"]) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 248 check_feature_importances = try_get_attr( | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 249 'feature_selectors', 'check_feature_importances') | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 250 estimator = check_feature_importances(estimator) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 251 DyRFECV = try_get_attr('feature_selectors', 'DyRFECV') | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 252 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 253 new_selector = DyRFECV(estimator, **options) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 254 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 255 elif inputs['selected_algorithm'] == 'VarianceThreshold': | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 256 new_selector = selector(**options) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 257 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 258 else: | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 259 score_func = inputs['score_func'] | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 260 score_func = getattr(sklearn.feature_selection, score_func) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 261 new_selector = selector(score_func, **options) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 262 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 263 return new_selector | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 264 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 265 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 266 def get_X_y(params, file1, file2): | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 267 """Return machine learning inputs X, y from tabluar inputs | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 268 """ | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 269 input_type = (params['selected_tasks']['selected_algorithms'] | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 270 ['input_options']['selected_input']) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 271 if input_type == 'tabular': | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 272 header = 'infer' if (params['selected_tasks']['selected_algorithms'] | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 273 ['input_options']['header1']) else None | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 274 column_option = (params['selected_tasks']['selected_algorithms'] | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 275 ['input_options']['column_selector_options_1'] | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 276 ['selected_column_selector_option']) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 277 if column_option in ['by_index_number', 'all_but_by_index_number', | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 278 'by_header_name', 'all_but_by_header_name']: | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 279 c = (params['selected_tasks']['selected_algorithms'] | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 280 ['input_options']['column_selector_options_1']['col1']) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 281 else: | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 282 c = None | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 283 X = read_columns( | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 284 file1, | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 285 c=c, | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 286 c_option=column_option, | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 287 sep='\t', | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 288 header=header, | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 289 parse_dates=True).astype(float) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 290 else: | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 291 X = mmread(file1) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 292 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 293 header = 'infer' if (params['selected_tasks']['selected_algorithms'] | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 294 ['input_options']['header2']) else None | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 295 column_option = (params['selected_tasks']['selected_algorithms'] | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 296 ['input_options']['column_selector_options_2'] | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 297 ['selected_column_selector_option2']) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 298 if column_option in ['by_index_number', 'all_but_by_index_number', | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 299 'by_header_name', 'all_but_by_header_name']: | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 300 c = (params['selected_tasks']['selected_algorithms'] | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 301 ['input_options']['column_selector_options_2']['col2']) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 302 else: | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 303 c = None | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 304 y = read_columns( | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 305 file2, | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 306 c=c, | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 307 c_option=column_option, | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 308 sep='\t', | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 309 header=header, | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 310 parse_dates=True) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 311 y = y.ravel() | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 312 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 313 return X, y | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 314 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 315 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 316 class SafeEval(Interpreter): | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 317 """Customized symbol table for safely literal eval | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 318 """ | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 319 def __init__(self, load_scipy=False, load_numpy=False, | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 320 load_estimators=False): | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 321 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 322 # File opening and other unneeded functions could be dropped | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 323 unwanted = ['open', 'type', 'dir', 'id', 'str', 'repr'] | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 324 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 325 # Allowed symbol table. Add more if needed. | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 326 new_syms = { | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 327 'np_arange': getattr(np, 'arange'), | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 328 'ensemble_ExtraTreesClassifier': | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 329 getattr(ensemble, 'ExtraTreesClassifier') | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 330 } | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 331 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 332 syms = make_symbol_table(use_numpy=False, **new_syms) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 333 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 334 if load_scipy: | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 335 scipy_distributions = scipy.stats.distributions.__dict__ | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 336 for k, v in scipy_distributions.items(): | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 337 if isinstance(v, (scipy.stats.rv_continuous, | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 338 scipy.stats.rv_discrete)): | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 339 syms['scipy_stats_' + k] = v | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 340 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 341 if load_numpy: | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 342 from_numpy_random = [ | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 343 'beta', 'binomial', 'bytes', 'chisquare', 'choice', | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 344 'dirichlet', 'division', 'exponential', 'f', 'gamma', | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 345 'geometric', 'gumbel', 'hypergeometric', 'laplace', | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 346 'logistic', 'lognormal', 'logseries', 'mtrand', | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 347 'multinomial', 'multivariate_normal', 'negative_binomial', | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 348 'noncentral_chisquare', 'noncentral_f', 'normal', 'pareto', | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 349 'permutation', 'poisson', 'power', 'rand', 'randint', | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 350 'randn', 'random', 'random_integers', 'random_sample', | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 351 'ranf', 'rayleigh', 'sample', 'seed', 'set_state', | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 352 'shuffle', 'standard_cauchy', 'standard_exponential', | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 353 'standard_gamma', 'standard_normal', 'standard_t', | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 354 'triangular', 'uniform', 'vonmises', 'wald', 'weibull', 'zipf'] | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 355 for f in from_numpy_random: | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 356 syms['np_random_' + f] = getattr(np.random, f) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 357 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 358 if load_estimators: | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 359 estimator_table = { | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 360 'sklearn_svm': getattr(sklearn, 'svm'), | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 361 'sklearn_tree': getattr(sklearn, 'tree'), | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 362 'sklearn_ensemble': getattr(sklearn, 'ensemble'), | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 363 'sklearn_neighbors': getattr(sklearn, 'neighbors'), | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 364 'sklearn_naive_bayes': getattr(sklearn, 'naive_bayes'), | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 365 'sklearn_linear_model': getattr(sklearn, 'linear_model'), | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 366 'sklearn_cluster': getattr(sklearn, 'cluster'), | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 367 'sklearn_decomposition': getattr(sklearn, 'decomposition'), | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 368 'sklearn_preprocessing': getattr(sklearn, 'preprocessing'), | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 369 'sklearn_feature_selection': | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 370 getattr(sklearn, 'feature_selection'), | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 371 'sklearn_kernel_approximation': | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 372 getattr(sklearn, 'kernel_approximation'), | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 373 'skrebate_ReliefF': getattr(skrebate, 'ReliefF'), | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 374 'skrebate_SURF': getattr(skrebate, 'SURF'), | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 375 'skrebate_SURFstar': getattr(skrebate, 'SURFstar'), | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 376 'skrebate_MultiSURF': getattr(skrebate, 'MultiSURF'), | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 377 'skrebate_MultiSURFstar': getattr(skrebate, 'MultiSURFstar'), | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 378 'skrebate_TuRF': getattr(skrebate, 'TuRF'), | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 379 'xgboost_XGBClassifier': getattr(xgboost, 'XGBClassifier'), | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 380 'xgboost_XGBRegressor': getattr(xgboost, 'XGBRegressor'), | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 381 'imblearn_over_sampling': getattr(imblearn, 'over_sampling'), | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 382 'imblearn_combine': getattr(imblearn, 'combine') | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 383 } | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 384 syms.update(estimator_table) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 385 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 386 for key in unwanted: | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 387 syms.pop(key, None) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 388 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 389 super(SafeEval, self).__init__( | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 390 symtable=syms, use_numpy=False, minimal=False, | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 391 no_if=True, no_for=True, no_while=True, no_try=True, | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 392 no_functiondef=True, no_ifexp=True, no_listcomp=False, | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 393 no_augassign=False, no_assert=True, no_delete=True, | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 394 no_raise=True, no_print=True) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 395 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 396 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 397 def get_estimator(estimator_json): | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 398 """Return a sklearn or compatible estimator from Galaxy tool inputs | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 399 """ | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 400 estimator_module = estimator_json['selected_module'] | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 401 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 402 if estimator_module == 'custom_estimator': | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 403 c_estimator = estimator_json['c_estimator'] | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 404 with open(c_estimator, 'rb') as model_handler: | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 405 new_model = load_model(model_handler) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 406 return new_model | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 407 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 408 if estimator_module == "binarize_target": | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 409 wrapped_estimator = estimator_json['wrapped_estimator'] | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 410 with open(wrapped_estimator, 'rb') as model_handler: | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 411 wrapped_estimator = load_model(model_handler) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 412 options = {} | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 413 if estimator_json['z_score'] is not None: | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 414 options['z_score'] = estimator_json['z_score'] | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 415 if estimator_json['value'] is not None: | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 416 options['value'] = estimator_json['value'] | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 417 options['less_is_positive'] = estimator_json['less_is_positive'] | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 418 if estimator_json['clf_or_regr'] == 'BinarizeTargetClassifier': | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 419 klass = try_get_attr('iraps_classifier', | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 420 'BinarizeTargetClassifier') | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 421 else: | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 422 klass = try_get_attr('iraps_classifier', | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 423 'BinarizeTargetRegressor') | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 424 return klass(wrapped_estimator, **options) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 425 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 426 estimator_cls = estimator_json['selected_estimator'] | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 427 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 428 if estimator_module == 'xgboost': | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 429 klass = getattr(xgboost, estimator_cls) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 430 else: | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 431 module = getattr(sklearn, estimator_module) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 432 klass = getattr(module, estimator_cls) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 433 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 434 estimator = klass() | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 435 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 436 estimator_params = estimator_json['text_params'].strip() | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 437 if estimator_params != '': | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 438 try: | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 439 safe_eval = SafeEval() | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 440 params = safe_eval('dict(' + estimator_params + ')') | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 441 except ValueError: | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 442 sys.exit("Unsupported parameter input: `%s`" % estimator_params) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 443 estimator.set_params(**params) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 444 if 'n_jobs' in estimator.get_params(): | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 445 estimator.set_params(n_jobs=N_JOBS) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 446 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 447 return estimator | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 448 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 449 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 450 def get_cv(cv_json): | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 451 """ Return CV splitter from Galaxy tool inputs | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 452 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 453 Parameters | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 454 ---------- | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 455 cv_json : dict | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 456 From Galaxy tool inputs. | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 457 e.g.: | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 458 { | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 459 'selected_cv': 'StratifiedKFold', | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 460 'n_splits': 3, | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 461 'shuffle': True, | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 462 'random_state': 0 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 463 } | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 464 """ | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 465 cv = cv_json.pop('selected_cv') | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 466 if cv == 'default': | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 467 return cv_json['n_splits'], None | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 468 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 469 groups = cv_json.pop('groups_selector', None) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 470 if groups is not None: | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 471 infile_g = groups['infile_g'] | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 472 header = 'infer' if groups['header_g'] else None | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 473 column_option = (groups['column_selector_options_g'] | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 474 ['selected_column_selector_option_g']) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 475 if column_option in ['by_index_number', 'all_but_by_index_number', | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 476 'by_header_name', 'all_but_by_header_name']: | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 477 c = groups['column_selector_options_g']['col_g'] | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 478 else: | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 479 c = None | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 480 groups = read_columns( | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 481 infile_g, | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 482 c=c, | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 483 c_option=column_option, | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 484 sep='\t', | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 485 header=header, | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 486 parse_dates=True) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 487 groups = groups.ravel() | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 488 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 489 for k, v in cv_json.items(): | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 490 if v == '': | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 491 cv_json[k] = None | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 492 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 493 test_fold = cv_json.get('test_fold', None) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 494 if test_fold: | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 495 if test_fold.startswith('__ob__'): | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 496 test_fold = test_fold[6:] | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 497 if test_fold.endswith('__cb__'): | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 498 test_fold = test_fold[:-6] | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 499 cv_json['test_fold'] = [int(x.strip()) for x in test_fold.split(',')] | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 500 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 501 test_size = cv_json.get('test_size', None) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 502 if test_size and test_size > 1.0: | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 503 cv_json['test_size'] = int(test_size) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 504 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 505 if cv == 'OrderedKFold': | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 506 cv_class = try_get_attr('model_validations', 'OrderedKFold') | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 507 elif cv == 'RepeatedOrderedKFold': | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 508 cv_class = try_get_attr('model_validations', 'RepeatedOrderedKFold') | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 509 else: | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 510 cv_class = getattr(model_selection, cv) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 511 splitter = cv_class(**cv_json) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 512 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 513 return splitter, groups | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 514 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 515 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 516 # needed when sklearn < v0.20 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 517 def balanced_accuracy_score(y_true, y_pred): | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 518 """Compute balanced accuracy score, which is now available in | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 519 scikit-learn from v0.20.0. | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 520 """ | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 521 C = metrics.confusion_matrix(y_true, y_pred) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 522 with np.errstate(divide='ignore', invalid='ignore'): | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 523 per_class = np.diag(C) / C.sum(axis=1) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 524 if np.any(np.isnan(per_class)): | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 525 warnings.warn('y_pred contains classes not in y_true') | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 526 per_class = per_class[~np.isnan(per_class)] | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 527 score = np.mean(per_class) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 528 return score | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 529 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 530 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 531 def get_scoring(scoring_json): | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 532 """Return single sklearn scorer class | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 533 or multiple scoers in dictionary | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 534 """ | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 535 if scoring_json['primary_scoring'] == 'default': | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 536 return None | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 537 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 538 my_scorers = metrics.SCORERS | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 539 my_scorers['binarize_auc_scorer'] =\ | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 540 try_get_attr('iraps_classifier', 'binarize_auc_scorer') | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 541 my_scorers['binarize_average_precision_scorer'] =\ | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 542 try_get_attr('iraps_classifier', 'binarize_average_precision_scorer') | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 543 if 'balanced_accuracy' not in my_scorers: | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 544 my_scorers['balanced_accuracy'] =\ | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 545 metrics.make_scorer(balanced_accuracy_score) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 546 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 547 if scoring_json['secondary_scoring'] != 'None'\ | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 548 and scoring_json['secondary_scoring'] !=\ | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 549 scoring_json['primary_scoring']: | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 550 return_scoring = {} | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 551 primary_scoring = scoring_json['primary_scoring'] | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 552 return_scoring[primary_scoring] = my_scorers[primary_scoring] | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 553 for scorer in scoring_json['secondary_scoring'].split(','): | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 554 if scorer != scoring_json['primary_scoring']: | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 555 return_scoring[scorer] = my_scorers[scorer] | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 556 return return_scoring | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 557 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 558 return my_scorers[scoring_json['primary_scoring']] | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 559 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 560 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 561 def get_search_params(estimator): | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 562 """Format the output of `estimator.get_params()` | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 563 """ | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 564 params = estimator.get_params() | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 565 results = [] | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 566 for k, v in params.items(): | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 567 # params below won't be shown for search in the searchcv tool | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 568 keywords = ('n_jobs', 'pre_dispatch', 'memory', 'steps', | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 569 'nthread', 'verbose') | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 570 if k.endswith(keywords): | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 571 results.append(['*', k, k+": "+repr(v)]) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 572 else: | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 573 results.append(['@', k, k+": "+repr(v)]) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 574 results.append( | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 575 ["", "Note:", | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 576 "@, params eligible for search in searchcv tool."]) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 577 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 578 return results | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 579 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 580 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 581 def try_get_attr(module, name): | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 582 """try to get attribute from a custom module | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 583 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 584 Parameters | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 585 ---------- | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 586 module : str | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 587 Module name | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 588 name : str | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 589 Attribute (class/function) name. | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 590 | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 591 Returns | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 592 ------- | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 593 class or function | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 594 """ | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 595 mod = sys.modules.get(module, None) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 596 if mod: | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 597 return getattr(mod, name) | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 598 else: | 
| 
47467890f541
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ab963ec9498bd05d2fb2f24f75adb2fccae7958c
 bgruening parents: diff
changeset | 599 raise Exception("No module named %s." % module) | 
