Mercurial > repos > bgruening > sklearn_searchcv
annotate search_model_validation.py @ 18:e5a5ad882f1f draft
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 2afb24f3c81d625312186750a714d702363012b5"
author | bgruening |
---|---|
date | Fri, 02 Oct 2020 08:41:16 +0000 |
parents | c1ca24a1509d |
children | cb5635e30842 |
rev | line source |
---|---|
8
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
1 import argparse |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
2 import collections |
7
4368259ff821
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 57f4407e278a615f47a377a3328782b1d8e0b54d
bgruening
parents:
diff
changeset
|
3 import imblearn |
10
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
4 import joblib |
7
4368259ff821
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 57f4407e278a615f47a377a3328782b1d8e0b54d
bgruening
parents:
diff
changeset
|
5 import json |
4368259ff821
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 57f4407e278a615f47a377a3328782b1d8e0b54d
bgruening
parents:
diff
changeset
|
6 import numpy as np |
15
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
7 import os |
10
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
8 import pandas as pd |
7
4368259ff821
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 57f4407e278a615f47a377a3328782b1d8e0b54d
bgruening
parents:
diff
changeset
|
9 import pickle |
4368259ff821
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 57f4407e278a615f47a377a3328782b1d8e0b54d
bgruening
parents:
diff
changeset
|
10 import skrebate |
4368259ff821
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 57f4407e278a615f47a377a3328782b1d8e0b54d
bgruening
parents:
diff
changeset
|
11 import sys |
4368259ff821
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 57f4407e278a615f47a377a3328782b1d8e0b54d
bgruening
parents:
diff
changeset
|
12 import warnings |
8
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
13 from scipy.io import mmread |
15
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
14 from sklearn import (cluster, decomposition, feature_selection, |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
15 kernel_approximation, model_selection, preprocessing) |
7
4368259ff821
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 57f4407e278a615f47a377a3328782b1d8e0b54d
bgruening
parents:
diff
changeset
|
16 from sklearn.exceptions import FitFailedWarning |
10
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
17 from sklearn.model_selection._validation import _score, cross_validate |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
18 from sklearn.model_selection import _search, _validation |
15
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
19 from sklearn.pipeline import Pipeline |
8
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
20 |
10
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
21 from galaxy_ml.utils import (SafeEval, get_cv, get_scoring, load_model, |
15
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
22 read_columns, try_get_attr, get_module, |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
23 clean_params, get_main_estimator) |
10
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
24 |
7
4368259ff821
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 57f4407e278a615f47a377a3328782b1d8e0b54d
bgruening
parents:
diff
changeset
|
25 |
10
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
26 _fit_and_score = try_get_attr('galaxy_ml.model_validations', '_fit_and_score') |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
27 setattr(_search, '_fit_and_score', _fit_and_score) |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
28 setattr(_validation, '_fit_and_score', _fit_and_score) |
7
4368259ff821
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 57f4407e278a615f47a377a3328782b1d8e0b54d
bgruening
parents:
diff
changeset
|
29 |
15
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
30 N_JOBS = int(os.environ.get('GALAXY_SLOTS', 1)) |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
31 # handle disk cache |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
32 CACHE_DIR = os.path.join(os.getcwd(), 'cached') |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
33 del os |
10
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
34 NON_SEARCHABLE = ('n_jobs', 'pre_dispatch', 'memory', '_path', |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
35 'nthread', 'callbacks') |
7
4368259ff821
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 57f4407e278a615f47a377a3328782b1d8e0b54d
bgruening
parents:
diff
changeset
|
36 |
4368259ff821
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 57f4407e278a615f47a377a3328782b1d8e0b54d
bgruening
parents:
diff
changeset
|
37 |
8
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
38 def _eval_search_params(params_builder): |
7
4368259ff821
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 57f4407e278a615f47a377a3328782b1d8e0b54d
bgruening
parents:
diff
changeset
|
39 search_params = {} |
4368259ff821
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 57f4407e278a615f47a377a3328782b1d8e0b54d
bgruening
parents:
diff
changeset
|
40 |
4368259ff821
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 57f4407e278a615f47a377a3328782b1d8e0b54d
bgruening
parents:
diff
changeset
|
41 for p in params_builder['param_set']: |
8
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
42 search_list = p['sp_list'].strip() |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
43 if search_list == '': |
7
4368259ff821
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 57f4407e278a615f47a377a3328782b1d8e0b54d
bgruening
parents:
diff
changeset
|
44 continue |
8
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
45 |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
46 param_name = p['sp_name'] |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
47 if param_name.lower().endswith(NON_SEARCHABLE): |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
48 print("Warning: `%s` is not eligible for search and was " |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
49 "omitted!" % param_name) |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
50 continue |
7
4368259ff821
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 57f4407e278a615f47a377a3328782b1d8e0b54d
bgruening
parents:
diff
changeset
|
51 |
8
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
52 if not search_list.startswith(':'): |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
53 safe_eval = SafeEval(load_scipy=True, load_numpy=True) |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
54 ev = safe_eval(search_list) |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
55 search_params[param_name] = ev |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
56 else: |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
57 # Have `:` before search list, asks for estimator evaluatio |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
58 safe_eval_es = SafeEval(load_estimators=True) |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
59 search_list = search_list[1:].strip() |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
60 # TODO maybe add regular express check |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
61 ev = safe_eval_es(search_list) |
10
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
62 preprocessings = ( |
8
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
63 preprocessing.StandardScaler(), preprocessing.Binarizer(), |
10
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
64 preprocessing.MaxAbsScaler(), |
8
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
65 preprocessing.Normalizer(), preprocessing.MinMaxScaler(), |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
66 preprocessing.PolynomialFeatures(), |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
67 preprocessing.RobustScaler(), feature_selection.SelectKBest(), |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
68 feature_selection.GenericUnivariateSelect(), |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
69 feature_selection.SelectPercentile(), |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
70 feature_selection.SelectFpr(), feature_selection.SelectFdr(), |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
71 feature_selection.SelectFwe(), |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
72 feature_selection.VarianceThreshold(), |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
73 decomposition.FactorAnalysis(random_state=0), |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
74 decomposition.FastICA(random_state=0), |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
75 decomposition.IncrementalPCA(), |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
76 decomposition.KernelPCA(random_state=0, n_jobs=N_JOBS), |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
77 decomposition.LatentDirichletAllocation( |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
78 random_state=0, n_jobs=N_JOBS), |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
79 decomposition.MiniBatchDictionaryLearning( |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
80 random_state=0, n_jobs=N_JOBS), |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
81 decomposition.MiniBatchSparsePCA( |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
82 random_state=0, n_jobs=N_JOBS), |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
83 decomposition.NMF(random_state=0), |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
84 decomposition.PCA(random_state=0), |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
85 decomposition.SparsePCA(random_state=0, n_jobs=N_JOBS), |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
86 decomposition.TruncatedSVD(random_state=0), |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
87 kernel_approximation.Nystroem(random_state=0), |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
88 kernel_approximation.RBFSampler(random_state=0), |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
89 kernel_approximation.AdditiveChi2Sampler(), |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
90 kernel_approximation.SkewedChi2Sampler(random_state=0), |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
91 cluster.FeatureAgglomeration(), |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
92 skrebate.ReliefF(n_jobs=N_JOBS), |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
93 skrebate.SURF(n_jobs=N_JOBS), |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
94 skrebate.SURFstar(n_jobs=N_JOBS), |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
95 skrebate.MultiSURF(n_jobs=N_JOBS), |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
96 skrebate.MultiSURFstar(n_jobs=N_JOBS), |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
97 imblearn.under_sampling.ClusterCentroids( |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
98 random_state=0, n_jobs=N_JOBS), |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
99 imblearn.under_sampling.CondensedNearestNeighbour( |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
100 random_state=0, n_jobs=N_JOBS), |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
101 imblearn.under_sampling.EditedNearestNeighbours( |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
102 random_state=0, n_jobs=N_JOBS), |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
103 imblearn.under_sampling.RepeatedEditedNearestNeighbours( |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
104 random_state=0, n_jobs=N_JOBS), |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
105 imblearn.under_sampling.AllKNN(random_state=0, n_jobs=N_JOBS), |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
106 imblearn.under_sampling.InstanceHardnessThreshold( |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
107 random_state=0, n_jobs=N_JOBS), |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
108 imblearn.under_sampling.NearMiss( |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
109 random_state=0, n_jobs=N_JOBS), |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
110 imblearn.under_sampling.NeighbourhoodCleaningRule( |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
111 random_state=0, n_jobs=N_JOBS), |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
112 imblearn.under_sampling.OneSidedSelection( |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
113 random_state=0, n_jobs=N_JOBS), |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
114 imblearn.under_sampling.RandomUnderSampler( |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
115 random_state=0), |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
116 imblearn.under_sampling.TomekLinks( |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
117 random_state=0, n_jobs=N_JOBS), |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
118 imblearn.over_sampling.ADASYN(random_state=0, n_jobs=N_JOBS), |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
119 imblearn.over_sampling.RandomOverSampler(random_state=0), |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
120 imblearn.over_sampling.SMOTE(random_state=0, n_jobs=N_JOBS), |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
121 imblearn.over_sampling.SVMSMOTE(random_state=0, n_jobs=N_JOBS), |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
122 imblearn.over_sampling.BorderlineSMOTE( |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
123 random_state=0, n_jobs=N_JOBS), |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
124 imblearn.over_sampling.SMOTENC( |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
125 categorical_features=[], random_state=0, n_jobs=N_JOBS), |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
126 imblearn.combine.SMOTEENN(random_state=0), |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
127 imblearn.combine.SMOTETomek(random_state=0)) |
7
4368259ff821
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 57f4407e278a615f47a377a3328782b1d8e0b54d
bgruening
parents:
diff
changeset
|
128 newlist = [] |
4368259ff821
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 57f4407e278a615f47a377a3328782b1d8e0b54d
bgruening
parents:
diff
changeset
|
129 for obj in ev: |
4368259ff821
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 57f4407e278a615f47a377a3328782b1d8e0b54d
bgruening
parents:
diff
changeset
|
130 if obj is None: |
4368259ff821
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 57f4407e278a615f47a377a3328782b1d8e0b54d
bgruening
parents:
diff
changeset
|
131 newlist.append(None) |
4368259ff821
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 57f4407e278a615f47a377a3328782b1d8e0b54d
bgruening
parents:
diff
changeset
|
132 elif obj == 'all_0': |
10
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
133 newlist.extend(preprocessings[0:35]) |
7
4368259ff821
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 57f4407e278a615f47a377a3328782b1d8e0b54d
bgruening
parents:
diff
changeset
|
134 elif obj == 'sk_prep_all': # no KernalCenter() |
10
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
135 newlist.extend(preprocessings[0:7]) |
7
4368259ff821
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 57f4407e278a615f47a377a3328782b1d8e0b54d
bgruening
parents:
diff
changeset
|
136 elif obj == 'fs_all': |
10
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
137 newlist.extend(preprocessings[7:14]) |
7
4368259ff821
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 57f4407e278a615f47a377a3328782b1d8e0b54d
bgruening
parents:
diff
changeset
|
138 elif obj == 'decomp_all': |
10
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
139 newlist.extend(preprocessings[14:25]) |
7
4368259ff821
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 57f4407e278a615f47a377a3328782b1d8e0b54d
bgruening
parents:
diff
changeset
|
140 elif obj == 'k_appr_all': |
10
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
141 newlist.extend(preprocessings[25:29]) |
7
4368259ff821
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 57f4407e278a615f47a377a3328782b1d8e0b54d
bgruening
parents:
diff
changeset
|
142 elif obj == 'reb_all': |
10
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
143 newlist.extend(preprocessings[30:35]) |
7
4368259ff821
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 57f4407e278a615f47a377a3328782b1d8e0b54d
bgruening
parents:
diff
changeset
|
144 elif obj == 'imb_all': |
10
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
145 newlist.extend(preprocessings[35:54]) |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
146 elif type(obj) is int and -1 < obj < len(preprocessings): |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
147 newlist.append(preprocessings[obj]) |
8
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
148 elif hasattr(obj, 'get_params'): # user uploaded object |
7
4368259ff821
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 57f4407e278a615f47a377a3328782b1d8e0b54d
bgruening
parents:
diff
changeset
|
149 if 'n_jobs' in obj.get_params(): |
8
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
150 newlist.append(obj.set_params(n_jobs=N_JOBS)) |
7
4368259ff821
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 57f4407e278a615f47a377a3328782b1d8e0b54d
bgruening
parents:
diff
changeset
|
151 else: |
4368259ff821
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 57f4407e278a615f47a377a3328782b1d8e0b54d
bgruening
parents:
diff
changeset
|
152 newlist.append(obj) |
4368259ff821
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 57f4407e278a615f47a377a3328782b1d8e0b54d
bgruening
parents:
diff
changeset
|
153 else: |
8
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
154 sys.exit("Unsupported estimator type: %r" % (obj)) |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
155 |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
156 search_params[param_name] = newlist |
7
4368259ff821
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 57f4407e278a615f47a377a3328782b1d8e0b54d
bgruening
parents:
diff
changeset
|
157 |
4368259ff821
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 57f4407e278a615f47a377a3328782b1d8e0b54d
bgruening
parents:
diff
changeset
|
158 return search_params |
4368259ff821
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 57f4407e278a615f47a377a3328782b1d8e0b54d
bgruening
parents:
diff
changeset
|
159 |
4368259ff821
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 57f4407e278a615f47a377a3328782b1d8e0b54d
bgruening
parents:
diff
changeset
|
160 |
15
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
161 def _handle_X_y(estimator, params, infile1, infile2, loaded_df={}, |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
162 ref_seq=None, intervals=None, targets=None, |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
163 fasta_path=None): |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
164 """read inputs |
8
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
165 |
15
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
166 Params |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
167 ------- |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
168 estimator : estimator object |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
169 params : dict |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
170 Galaxy tool parameter inputs |
8
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
171 infile1 : str |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
172 File path to dataset containing features |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
173 infile2 : str |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
174 File path to dataset containing target values |
15
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
175 loaded_df : dict |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
176 Contains loaded DataFrame objects with file path as keys |
10
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
177 ref_seq : str |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
178 File path to dataset containing genome sequence file |
15
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
179 interval : str |
10
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
180 File path to dataset containing interval file |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
181 targets : str |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
182 File path to dataset compressed target bed file |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
183 fasta_path : str |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
184 File path to dataset containing fasta file |
7
4368259ff821
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 57f4407e278a615f47a377a3328782b1d8e0b54d
bgruening
parents:
diff
changeset
|
185 |
11
68753d45815f
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ba6a47bdf76bbf4cb276206ac1a8cbf61332fd16"
bgruening
parents:
10
diff
changeset
|
186 |
15
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
187 Returns |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
188 ------- |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
189 estimator : estimator object after setting new attributes |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
190 X : numpy array |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
191 y : numpy array |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
192 """ |
10
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
193 estimator_params = estimator.get_params() |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
194 |
7
4368259ff821
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 57f4407e278a615f47a377a3328782b1d8e0b54d
bgruening
parents:
diff
changeset
|
195 input_type = params['input_options']['selected_input'] |
10
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
196 # tabular input |
7
4368259ff821
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 57f4407e278a615f47a377a3328782b1d8e0b54d
bgruening
parents:
diff
changeset
|
197 if input_type == 'tabular': |
4368259ff821
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 57f4407e278a615f47a377a3328782b1d8e0b54d
bgruening
parents:
diff
changeset
|
198 header = 'infer' if params['input_options']['header1'] else None |
8
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
199 column_option = (params['input_options']['column_selector_options_1'] |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
200 ['selected_column_selector_option']) |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
201 if column_option in ['by_index_number', 'all_but_by_index_number', |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
202 'by_header_name', 'all_but_by_header_name']: |
7
4368259ff821
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 57f4407e278a615f47a377a3328782b1d8e0b54d
bgruening
parents:
diff
changeset
|
203 c = params['input_options']['column_selector_options_1']['col1'] |
4368259ff821
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 57f4407e278a615f47a377a3328782b1d8e0b54d
bgruening
parents:
diff
changeset
|
204 else: |
4368259ff821
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 57f4407e278a615f47a377a3328782b1d8e0b54d
bgruening
parents:
diff
changeset
|
205 c = None |
10
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
206 |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
207 df_key = infile1 + repr(header) |
15
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
208 |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
209 if df_key in loaded_df: |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
210 infile1 = loaded_df[df_key] |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
211 |
10
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
212 df = pd.read_csv(infile1, sep='\t', header=header, |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
213 parse_dates=True) |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
214 loaded_df[df_key] = df |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
215 |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
216 X = read_columns(df, c=c, c_option=column_option).astype(float) |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
217 # sparse input |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
218 elif input_type == 'sparse': |
7
4368259ff821
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 57f4407e278a615f47a377a3328782b1d8e0b54d
bgruening
parents:
diff
changeset
|
219 X = mmread(open(infile1, 'r')) |
4368259ff821
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 57f4407e278a615f47a377a3328782b1d8e0b54d
bgruening
parents:
diff
changeset
|
220 |
10
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
221 # fasta_file input |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
222 elif input_type == 'seq_fasta': |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
223 pyfaidx = get_module('pyfaidx') |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
224 sequences = pyfaidx.Fasta(fasta_path) |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
225 n_seqs = len(sequences.keys()) |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
226 X = np.arange(n_seqs)[:, np.newaxis] |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
227 for param in estimator_params.keys(): |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
228 if param.endswith('fasta_path'): |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
229 estimator.set_params( |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
230 **{param: fasta_path}) |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
231 break |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
232 else: |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
233 raise ValueError( |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
234 "The selected estimator doesn't support " |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
235 "fasta file input! Please consider using " |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
236 "KerasGBatchClassifier with " |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
237 "FastaDNABatchGenerator/FastaProteinBatchGenerator " |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
238 "or having GenomeOneHotEncoder/ProteinOneHotEncoder " |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
239 "in pipeline!") |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
240 |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
241 elif input_type == 'refseq_and_interval': |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
242 path_params = { |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
243 'data_batch_generator__ref_genome_path': ref_seq, |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
244 'data_batch_generator__intervals_path': intervals, |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
245 'data_batch_generator__target_path': targets |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
246 } |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
247 estimator.set_params(**path_params) |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
248 n_intervals = sum(1 for line in open(intervals)) |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
249 X = np.arange(n_intervals)[:, np.newaxis] |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
250 |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
251 # Get target y |
7
4368259ff821
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 57f4407e278a615f47a377a3328782b1d8e0b54d
bgruening
parents:
diff
changeset
|
252 header = 'infer' if params['input_options']['header2'] else None |
8
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
253 column_option = (params['input_options']['column_selector_options_2'] |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
254 ['selected_column_selector_option2']) |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
255 if column_option in ['by_index_number', 'all_but_by_index_number', |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
256 'by_header_name', 'all_but_by_header_name']: |
7
4368259ff821
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 57f4407e278a615f47a377a3328782b1d8e0b54d
bgruening
parents:
diff
changeset
|
257 c = params['input_options']['column_selector_options_2']['col2'] |
4368259ff821
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 57f4407e278a615f47a377a3328782b1d8e0b54d
bgruening
parents:
diff
changeset
|
258 else: |
4368259ff821
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 57f4407e278a615f47a377a3328782b1d8e0b54d
bgruening
parents:
diff
changeset
|
259 c = None |
10
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
260 |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
261 df_key = infile2 + repr(header) |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
262 if df_key in loaded_df: |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
263 infile2 = loaded_df[df_key] |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
264 else: |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
265 infile2 = pd.read_csv(infile2, sep='\t', |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
266 header=header, parse_dates=True) |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
267 loaded_df[df_key] = infile2 |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
268 |
7
4368259ff821
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 57f4407e278a615f47a377a3328782b1d8e0b54d
bgruening
parents:
diff
changeset
|
269 y = read_columns( |
4368259ff821
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 57f4407e278a615f47a377a3328782b1d8e0b54d
bgruening
parents:
diff
changeset
|
270 infile2, |
8
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
271 c=c, |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
272 c_option=column_option, |
7
4368259ff821
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 57f4407e278a615f47a377a3328782b1d8e0b54d
bgruening
parents:
diff
changeset
|
273 sep='\t', |
4368259ff821
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 57f4407e278a615f47a377a3328782b1d8e0b54d
bgruening
parents:
diff
changeset
|
274 header=header, |
8
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
275 parse_dates=True) |
10
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
276 if len(y.shape) == 2 and y.shape[1] == 1: |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
277 y = y.ravel() |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
278 if input_type == 'refseq_and_interval': |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
279 estimator.set_params( |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
280 data_batch_generator__features=y.ravel().tolist()) |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
281 y = None |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
282 # end y |
7
4368259ff821
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 57f4407e278a615f47a377a3328782b1d8e0b54d
bgruening
parents:
diff
changeset
|
283 |
15
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
284 return estimator, X, y |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
285 |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
286 |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
287 def _do_outer_cv(searcher, X, y, outer_cv, scoring, error_score='raise', |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
288 outfile=None): |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
289 """Do outer cross-validation for nested CV |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
290 |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
291 Parameters |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
292 ---------- |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
293 searcher : object |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
294 SearchCV object |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
295 X : numpy array |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
296 Containing features |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
297 y : numpy array |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
298 Target values or labels |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
299 outer_cv : int or CV splitter |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
300 Control the cv splitting |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
301 scoring : object |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
302 Scorer |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
303 error_score: str, float or numpy float |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
304 Whether to raise fit error or return an value |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
305 outfile : str |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
306 File path to store the restuls |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
307 """ |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
308 if error_score == 'raise': |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
309 rval = cross_validate( |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
310 searcher, X, y, scoring=scoring, |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
311 cv=outer_cv, n_jobs=N_JOBS, verbose=0, |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
312 error_score=error_score) |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
313 else: |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
314 warnings.simplefilter('always', FitFailedWarning) |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
315 with warnings.catch_warnings(record=True) as w: |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
316 try: |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
317 rval = cross_validate( |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
318 searcher, X, y, |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
319 scoring=scoring, |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
320 cv=outer_cv, n_jobs=N_JOBS, |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
321 verbose=0, |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
322 error_score=error_score) |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
323 except ValueError: |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
324 pass |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
325 for warning in w: |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
326 print(repr(warning.message)) |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
327 |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
328 keys = list(rval.keys()) |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
329 for k in keys: |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
330 if k.startswith('test'): |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
331 rval['mean_' + k] = np.mean(rval[k]) |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
332 rval['std_' + k] = np.std(rval[k]) |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
333 if k.endswith('time'): |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
334 rval.pop(k) |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
335 rval = pd.DataFrame(rval) |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
336 rval = rval[sorted(rval.columns)] |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
337 rval.to_csv(path_or_buf=outfile, sep='\t', header=True, index=False) |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
338 |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
339 |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
340 def _do_train_test_split_val(searcher, X, y, params, error_score='raise', |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
341 primary_scoring=None, groups=None, |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
342 outfile=None): |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
343 """ do train test split, searchCV validates on the train and then use |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
344 the best_estimator_ to evaluate on the test |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
345 |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
346 Returns |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
347 -------- |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
348 Fitted SearchCV object |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
349 """ |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
350 train_test_split = try_get_attr( |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
351 'galaxy_ml.model_validations', 'train_test_split') |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
352 split_options = params['outer_split'] |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
353 |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
354 # splits |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
355 if split_options['shuffle'] == 'stratified': |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
356 split_options['labels'] = y |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
357 X, X_test, y, y_test = train_test_split(X, y, **split_options) |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
358 elif split_options['shuffle'] == 'group': |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
359 if groups is None: |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
360 raise ValueError("No group based CV option was choosen for " |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
361 "group shuffle!") |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
362 split_options['labels'] = groups |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
363 if y is None: |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
364 X, X_test, groups, _ =\ |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
365 train_test_split(X, groups, **split_options) |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
366 else: |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
367 X, X_test, y, y_test, groups, _ =\ |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
368 train_test_split(X, y, groups, **split_options) |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
369 else: |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
370 if split_options['shuffle'] == 'None': |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
371 split_options['shuffle'] = None |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
372 X, X_test, y, y_test =\ |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
373 train_test_split(X, y, **split_options) |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
374 |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
375 if error_score == 'raise': |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
376 searcher.fit(X, y, groups=groups) |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
377 else: |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
378 warnings.simplefilter('always', FitFailedWarning) |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
379 with warnings.catch_warnings(record=True) as w: |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
380 try: |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
381 searcher.fit(X, y, groups=groups) |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
382 except ValueError: |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
383 pass |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
384 for warning in w: |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
385 print(repr(warning.message)) |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
386 |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
387 scorer_ = searcher.scorer_ |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
388 if isinstance(scorer_, collections.Mapping): |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
389 is_multimetric = True |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
390 else: |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
391 is_multimetric = False |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
392 |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
393 best_estimator_ = getattr(searcher, 'best_estimator_') |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
394 |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
395 # TODO Solve deep learning models in pipeline |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
396 if best_estimator_.__class__.__name__ == 'KerasGBatchClassifier': |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
397 test_score = best_estimator_.evaluate( |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
398 X_test, scorer=scorer_, is_multimetric=is_multimetric) |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
399 else: |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
400 test_score = _score(best_estimator_, X_test, |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
401 y_test, scorer_, |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
402 is_multimetric=is_multimetric) |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
403 |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
404 if not is_multimetric: |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
405 test_score = {primary_scoring: test_score} |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
406 for key, value in test_score.items(): |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
407 test_score[key] = [value] |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
408 result_df = pd.DataFrame(test_score) |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
409 result_df.to_csv(path_or_buf=outfile, sep='\t', header=True, |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
410 index=False) |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
411 |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
412 return searcher |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
413 |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
414 |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
415 def main(inputs, infile_estimator, infile1, infile2, |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
416 outfile_result, outfile_object=None, |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
417 outfile_weights=None, groups=None, |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
418 ref_seq=None, intervals=None, targets=None, |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
419 fasta_path=None): |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
420 """ |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
421 Parameter |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
422 --------- |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
423 inputs : str |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
424 File path to galaxy tool parameter |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
425 |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
426 infile_estimator : str |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
427 File path to estimator |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
428 |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
429 infile1 : str |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
430 File path to dataset containing features |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
431 |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
432 infile2 : str |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
433 File path to dataset containing target values |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
434 |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
435 outfile_result : str |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
436 File path to save the results, either cv_results or test result |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
437 |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
438 outfile_object : str, optional |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
439 File path to save searchCV object |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
440 |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
441 outfile_weights : str, optional |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
442 File path to save model weights |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
443 |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
444 groups : str |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
445 File path to dataset containing groups labels |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
446 |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
447 ref_seq : str |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
448 File path to dataset containing genome sequence file |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
449 |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
450 intervals : str |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
451 File path to dataset containing interval file |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
452 |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
453 targets : str |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
454 File path to dataset compressed target bed file |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
455 |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
456 fasta_path : str |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
457 File path to dataset containing fasta file |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
458 """ |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
459 warnings.simplefilter('ignore') |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
460 |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
461 # store read dataframe object |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
462 loaded_df = {} |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
463 |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
464 with open(inputs, 'r') as param_handler: |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
465 params = json.load(param_handler) |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
466 |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
467 # Override the refit parameter |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
468 params['search_schemes']['options']['refit'] = True \ |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
469 if params['save'] != 'nope' else False |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
470 |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
471 with open(infile_estimator, 'rb') as estimator_handler: |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
472 estimator = load_model(estimator_handler) |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
473 |
7
4368259ff821
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 57f4407e278a615f47a377a3328782b1d8e0b54d
bgruening
parents:
diff
changeset
|
474 optimizer = params['search_schemes']['selected_search_scheme'] |
4368259ff821
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 57f4407e278a615f47a377a3328782b1d8e0b54d
bgruening
parents:
diff
changeset
|
475 optimizer = getattr(model_selection, optimizer) |
4368259ff821
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 57f4407e278a615f47a377a3328782b1d8e0b54d
bgruening
parents:
diff
changeset
|
476 |
10
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
477 # handle gridsearchcv options |
7
4368259ff821
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 57f4407e278a615f47a377a3328782b1d8e0b54d
bgruening
parents:
diff
changeset
|
478 options = params['search_schemes']['options'] |
8
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
479 |
10
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
480 if groups: |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
481 header = 'infer' if (options['cv_selector']['groups_selector'] |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
482 ['header_g']) else None |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
483 column_option = (options['cv_selector']['groups_selector'] |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
484 ['column_selector_options_g'] |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
485 ['selected_column_selector_option_g']) |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
486 if column_option in ['by_index_number', 'all_but_by_index_number', |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
487 'by_header_name', 'all_but_by_header_name']: |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
488 c = (options['cv_selector']['groups_selector'] |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
489 ['column_selector_options_g']['col_g']) |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
490 else: |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
491 c = None |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
492 |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
493 df_key = groups + repr(header) |
15
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
494 |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
495 groups = pd.read_csv(groups, sep='\t', header=header, |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
496 parse_dates=True) |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
497 loaded_df[df_key] = groups |
10
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
498 |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
499 groups = read_columns( |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
500 groups, |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
501 c=c, |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
502 c_option=column_option, |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
503 sep='\t', |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
504 header=header, |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
505 parse_dates=True) |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
506 groups = groups.ravel() |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
507 options['cv_selector']['groups_selector'] = groups |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
508 |
7
4368259ff821
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 57f4407e278a615f47a377a3328782b1d8e0b54d
bgruening
parents:
diff
changeset
|
509 splitter, groups = get_cv(options.pop('cv_selector')) |
8
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
510 options['cv'] = splitter |
7
4368259ff821
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 57f4407e278a615f47a377a3328782b1d8e0b54d
bgruening
parents:
diff
changeset
|
511 primary_scoring = options['scoring']['primary_scoring'] |
4368259ff821
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 57f4407e278a615f47a377a3328782b1d8e0b54d
bgruening
parents:
diff
changeset
|
512 options['scoring'] = get_scoring(options['scoring']) |
4368259ff821
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 57f4407e278a615f47a377a3328782b1d8e0b54d
bgruening
parents:
diff
changeset
|
513 if options['error_score']: |
4368259ff821
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 57f4407e278a615f47a377a3328782b1d8e0b54d
bgruening
parents:
diff
changeset
|
514 options['error_score'] = 'raise' |
4368259ff821
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 57f4407e278a615f47a377a3328782b1d8e0b54d
bgruening
parents:
diff
changeset
|
515 else: |
4368259ff821
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 57f4407e278a615f47a377a3328782b1d8e0b54d
bgruening
parents:
diff
changeset
|
516 options['error_score'] = np.NaN |
4368259ff821
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 57f4407e278a615f47a377a3328782b1d8e0b54d
bgruening
parents:
diff
changeset
|
517 if options['refit'] and isinstance(options['scoring'], dict): |
8
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
518 options['refit'] = primary_scoring |
7
4368259ff821
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 57f4407e278a615f47a377a3328782b1d8e0b54d
bgruening
parents:
diff
changeset
|
519 if 'pre_dispatch' in options and options['pre_dispatch'] == '': |
4368259ff821
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 57f4407e278a615f47a377a3328782b1d8e0b54d
bgruening
parents:
diff
changeset
|
520 options['pre_dispatch'] = None |
4368259ff821
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 57f4407e278a615f47a377a3328782b1d8e0b54d
bgruening
parents:
diff
changeset
|
521 |
15
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
522 params_builder = params['search_schemes']['search_params_builder'] |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
523 param_grid = _eval_search_params(params_builder) |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
524 |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
525 estimator = clean_params(estimator) |
8
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
526 |
15
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
527 # save the SearchCV object without fit |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
528 if params['save'] == 'save_no_fit': |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
529 searcher = optimizer(estimator, param_grid, **options) |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
530 print(searcher) |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
531 with open(outfile_object, 'wb') as output_handler: |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
532 pickle.dump(searcher, output_handler, |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
533 pickle.HIGHEST_PROTOCOL) |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
534 return 0 |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
535 |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
536 # read inputs and loads new attributes, like paths |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
537 estimator, X, y = _handle_X_y(estimator, params, infile1, infile2, |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
538 loaded_df=loaded_df, ref_seq=ref_seq, |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
539 intervals=intervals, targets=targets, |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
540 fasta_path=fasta_path) |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
541 |
8
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
542 # cache iraps_core fits could increase search speed significantly |
15
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
543 memory = joblib.Memory(location=CACHE_DIR, verbose=0) |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
544 main_est = get_main_estimator(estimator) |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
545 if main_est.__class__.__name__ == 'IRAPSClassifier': |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
546 main_est.set_params(memory=memory) |
8
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
547 |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
548 searcher = optimizer(estimator, param_grid, **options) |
7
4368259ff821
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 57f4407e278a615f47a377a3328782b1d8e0b54d
bgruening
parents:
diff
changeset
|
549 |
10
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
550 split_mode = params['outer_split'].pop('split_mode') |
15
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
551 |
10
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
552 if split_mode == 'nested_cv': |
15
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
553 # make sure refit is choosen |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
554 # this could be True for sklearn models, but not the case for |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
555 # deep learning models |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
556 if not options['refit'] and \ |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
557 not all(hasattr(estimator, attr) |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
558 for attr in ('config', 'model_type')): |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
559 warnings.warn("Refit is change to `True` for nested validation!") |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
560 setattr(searcher, 'refit', True) |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
561 |
10
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
562 outer_cv, _ = get_cv(params['outer_split']['cv_selector']) |
15
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
563 # nested CV, outer cv using cross_validate |
10
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
564 if options['error_score'] == 'raise': |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
565 rval = cross_validate( |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
566 searcher, X, y, scoring=options['scoring'], |
15
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
567 cv=outer_cv, n_jobs=N_JOBS, |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
568 verbose=options['verbose'], |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
569 return_estimator=(params['save'] == 'save_estimator'), |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
570 error_score=options['error_score'], |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
571 return_train_score=True) |
8
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
572 else: |
10
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
573 warnings.simplefilter('always', FitFailedWarning) |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
574 with warnings.catch_warnings(record=True) as w: |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
575 try: |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
576 rval = cross_validate( |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
577 searcher, X, y, |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
578 scoring=options['scoring'], |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
579 cv=outer_cv, n_jobs=N_JOBS, |
15
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
580 verbose=options['verbose'], |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
581 return_estimator=(params['save'] == 'save_estimator'), |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
582 error_score=options['error_score'], |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
583 return_train_score=True) |
10
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
584 except ValueError: |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
585 pass |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
586 for warning in w: |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
587 print(repr(warning.message)) |
7
4368259ff821
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 57f4407e278a615f47a377a3328782b1d8e0b54d
bgruening
parents:
diff
changeset
|
588 |
15
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
589 fitted_searchers = rval.pop('estimator', []) |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
590 if fitted_searchers: |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
591 import os |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
592 pwd = os.getcwd() |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
593 save_dir = os.path.join(pwd, 'cv_results_in_folds') |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
594 try: |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
595 os.mkdir(save_dir) |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
596 for idx, obj in enumerate(fitted_searchers): |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
597 target_name = 'cv_results_' + '_' + 'split%d' % idx |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
598 target_path = os.path.join(pwd, save_dir, target_name) |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
599 cv_results_ = getattr(obj, 'cv_results_', None) |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
600 if not cv_results_: |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
601 print("%s is not available" % target_name) |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
602 continue |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
603 cv_results_ = pd.DataFrame(cv_results_) |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
604 cv_results_ = cv_results_[sorted(cv_results_.columns)] |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
605 cv_results_.to_csv(target_path, sep='\t', header=True, |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
606 index=False) |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
607 except Exception as e: |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
608 print(e) |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
609 finally: |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
610 del os |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
611 |
10
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
612 keys = list(rval.keys()) |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
613 for k in keys: |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
614 if k.startswith('test'): |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
615 rval['mean_' + k] = np.mean(rval[k]) |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
616 rval['std_' + k] = np.std(rval[k]) |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
617 if k.endswith('time'): |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
618 rval.pop(k) |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
619 rval = pd.DataFrame(rval) |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
620 rval = rval[sorted(rval.columns)] |
15
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
621 rval.to_csv(path_or_buf=outfile_result, sep='\t', header=True, |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
622 index=False) |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
623 |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
624 return 0 |
7
4368259ff821
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 57f4407e278a615f47a377a3328782b1d8e0b54d
bgruening
parents:
diff
changeset
|
625 |
15
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
626 # deprecate train test split mode |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
627 """searcher = _do_train_test_split_val( |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
628 searcher, X, y, params, |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
629 primary_scoring=primary_scoring, |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
630 error_score=options['error_score'], |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
631 groups=groups, |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
632 outfile=outfile_result)""" |
8
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
633 |
15
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
634 # no outer split |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
635 else: |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
636 searcher.set_params(n_jobs=N_JOBS) |
10
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
637 if options['error_score'] == 'raise': |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
638 searcher.fit(X, y, groups=groups) |
8
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
639 else: |
10
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
640 warnings.simplefilter('always', FitFailedWarning) |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
641 with warnings.catch_warnings(record=True) as w: |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
642 try: |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
643 searcher.fit(X, y, groups=groups) |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
644 except ValueError: |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
645 pass |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
646 for warning in w: |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
647 print(repr(warning.message)) |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
648 |
15
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
649 cv_results = pd.DataFrame(searcher.cv_results_) |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
650 cv_results = cv_results[sorted(cv_results.columns)] |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
651 cv_results.to_csv(path_or_buf=outfile_result, sep='\t', |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
652 header=True, index=False) |
8
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
653 |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
654 memory.clear(warn=False) |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
655 |
15
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
656 # output best estimator, and weights if applicable |
8
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
657 if outfile_object: |
10
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
658 best_estimator_ = getattr(searcher, 'best_estimator_', None) |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
659 if not best_estimator_: |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
660 warnings.warn("GridSearchCV object has no attribute " |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
661 "'best_estimator_', because either it's " |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
662 "nested gridsearch or `refit` is False!") |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
663 return |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
664 |
15
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
665 # clean prams |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
666 best_estimator_ = clean_params(best_estimator_) |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
667 |
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
668 main_est = get_main_estimator(best_estimator_) |
10
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
669 |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
670 if hasattr(main_est, 'model_') \ |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
671 and hasattr(main_est, 'save_weights'): |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
672 if outfile_weights: |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
673 main_est.save_weights(outfile_weights) |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
674 del main_est.model_ |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
675 del main_est.fit_params |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
676 del main_est.model_class_ |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
677 del main_est.validation_data |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
678 if getattr(main_est, 'data_generator_', None): |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
679 del main_est.data_generator_ |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
680 |
8
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
681 with open(outfile_object, 'wb') as output_handler: |
15
c1ca24a1509d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
bgruening
parents:
11
diff
changeset
|
682 print("Best estimator is saved: %s " % repr(best_estimator_)) |
10
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
683 pickle.dump(best_estimator_, output_handler, |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
684 pickle.HIGHEST_PROTOCOL) |
8
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
685 |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
686 |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
687 if __name__ == '__main__': |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
688 aparser = argparse.ArgumentParser() |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
689 aparser.add_argument("-i", "--inputs", dest="inputs", required=True) |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
690 aparser.add_argument("-e", "--estimator", dest="infile_estimator") |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
691 aparser.add_argument("-X", "--infile1", dest="infile1") |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
692 aparser.add_argument("-y", "--infile2", dest="infile2") |
10
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
693 aparser.add_argument("-O", "--outfile_result", dest="outfile_result") |
8
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
694 aparser.add_argument("-o", "--outfile_object", dest="outfile_object") |
10
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
695 aparser.add_argument("-w", "--outfile_weights", dest="outfile_weights") |
8
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
696 aparser.add_argument("-g", "--groups", dest="groups") |
10
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
697 aparser.add_argument("-r", "--ref_seq", dest="ref_seq") |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
698 aparser.add_argument("-b", "--intervals", dest="intervals") |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
699 aparser.add_argument("-t", "--targets", dest="targets") |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
700 aparser.add_argument("-f", "--fasta_path", dest="fasta_path") |
8
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
701 args = aparser.parse_args() |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
702 |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
703 main(args.inputs, args.infile_estimator, args.infile1, args.infile2, |
1c4a241bef5c
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit c0a3a186966888e5787335a7628bf0a4382637e7
bgruening
parents:
7
diff
changeset
|
704 args.outfile_result, outfile_object=args.outfile_object, |
10
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
705 outfile_weights=args.outfile_weights, groups=args.groups, |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
706 ref_seq=args.ref_seq, intervals=args.intervals, |
82b6104d4682
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
bgruening
parents:
8
diff
changeset
|
707 targets=args.targets, fasta_path=args.fasta_path) |