annotate ml_visualization_ex.py @ 5:c48ffc96fe79 draft

"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
author bgruening
date Sat, 01 May 2021 01:30:45 +0000
parents aff86cee673c
children 364234f65507
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
1 import argparse
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
2 import json
4
aff86cee673c "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
bgruening
parents: 3
diff changeset
3 import os
aff86cee673c "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
bgruening
parents: 3
diff changeset
4 import warnings
aff86cee673c "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
bgruening
parents: 3
diff changeset
5
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
6 import matplotlib
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
7 import matplotlib.pyplot as plt
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
8 import numpy as np
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
9 import pandas as pd
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
10 import plotly
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
11 import plotly.graph_objs as go
4
aff86cee673c "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
bgruening
parents: 3
diff changeset
12 from galaxy_ml.utils import load_model, read_columns, SafeEval
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
13 from keras.models import model_from_json
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
14 from keras.utils import plot_model
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
15 from sklearn.feature_selection.base import SelectorMixin
5
c48ffc96fe79 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
bgruening
parents: 4
diff changeset
16 from sklearn.metrics import (auc, average_precision_score, confusion_matrix,
c48ffc96fe79 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
bgruening
parents: 4
diff changeset
17 precision_recall_curve, roc_curve)
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
18 from sklearn.pipeline import Pipeline
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
19
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
20 safe_eval = SafeEval()
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
21
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
22 # plotly default colors
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
23 default_colors = [
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
24 "#1f77b4", # muted blue
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
25 "#ff7f0e", # safety orange
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
26 "#2ca02c", # cooked asparagus green
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
27 "#d62728", # brick red
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
28 "#9467bd", # muted purple
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
29 "#8c564b", # chestnut brown
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
30 "#e377c2", # raspberry yogurt pink
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
31 "#7f7f7f", # middle gray
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
32 "#bcbd22", # curry yellow-green
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
33 "#17becf", # blue-teal
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
34 ]
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
35
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
36
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
37 def visualize_pr_curve_plotly(df1, df2, pos_label, title=None):
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
38 """output pr-curve in html using plotly
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
39
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
40 df1 : pandas.DataFrame
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
41 Containing y_true
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
42 df2 : pandas.DataFrame
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
43 Containing y_score
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
44 pos_label : None
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
45 The label of positive class
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
46 title : str
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
47 Plot title
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
48 """
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
49 data = []
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
50 for idx in range(df1.shape[1]):
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
51 y_true = df1.iloc[:, idx].values
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
52 y_score = df2.iloc[:, idx].values
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
53
5
c48ffc96fe79 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
bgruening
parents: 4
diff changeset
54 precision, recall, _ = precision_recall_curve(
c48ffc96fe79 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
bgruening
parents: 4
diff changeset
55 y_true, y_score, pos_label=pos_label
c48ffc96fe79 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
bgruening
parents: 4
diff changeset
56 )
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
57 ap = average_precision_score(y_true, y_score, pos_label=pos_label or 1)
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
58
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
59 trace = go.Scatter(
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
60 x=recall,
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
61 y=precision,
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
62 mode="lines",
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
63 marker=dict(color=default_colors[idx % len(default_colors)]),
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
64 name="%s (area = %.3f)" % (idx, ap),
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
65 )
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
66 data.append(trace)
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
67
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
68 layout = go.Layout(
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
69 xaxis=dict(title="Recall", linecolor="lightslategray", linewidth=1),
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
70 yaxis=dict(title="Precision", linecolor="lightslategray", linewidth=1),
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
71 title=dict(
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
72 text=title or "Precision-Recall Curve",
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
73 x=0.5,
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
74 y=0.92,
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
75 xanchor="center",
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
76 yanchor="top",
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
77 ),
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
78 font=dict(family="sans-serif", size=11),
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
79 # control backgroud colors
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
80 plot_bgcolor="rgba(255,255,255,0)",
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
81 )
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
82 """
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
83 legend=dict(
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
84 x=0.95,
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
85 y=0,
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
86 traceorder="normal",
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
87 font=dict(
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
88 family="sans-serif",
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
89 size=9,
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
90 color="black"
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
91 ),
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
92 bgcolor="LightSteelBlue",
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
93 bordercolor="Black",
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
94 borderwidth=2
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
95 ),"""
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
96
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
97 fig = go.Figure(data=data, layout=layout)
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
98
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
99 plotly.offline.plot(fig, filename="output.html", auto_open=False)
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
100 # to be discovered by `from_work_dir`
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
101 os.rename("output.html", "output")
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
102
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
103
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
104 def visualize_pr_curve_matplotlib(df1, df2, pos_label, title=None):
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
105 """visualize pr-curve using matplotlib and output svg image"""
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
106 backend = matplotlib.get_backend()
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
107 if "inline" not in backend:
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
108 matplotlib.use("SVG")
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
109 plt.style.use("seaborn-colorblind")
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
110 plt.figure()
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
111
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
112 for idx in range(df1.shape[1]):
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
113 y_true = df1.iloc[:, idx].values
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
114 y_score = df2.iloc[:, idx].values
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
115
5
c48ffc96fe79 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
bgruening
parents: 4
diff changeset
116 precision, recall, _ = precision_recall_curve(
c48ffc96fe79 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
bgruening
parents: 4
diff changeset
117 y_true, y_score, pos_label=pos_label
c48ffc96fe79 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
bgruening
parents: 4
diff changeset
118 )
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
119 ap = average_precision_score(y_true, y_score, pos_label=pos_label or 1)
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
120
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
121 plt.step(
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
122 recall,
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
123 precision,
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
124 "r-",
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
125 color="black",
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
126 alpha=0.3,
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
127 lw=1,
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
128 where="post",
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
129 label="%s (area = %.3f)" % (idx, ap),
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
130 )
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
131
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
132 plt.xlim([0.0, 1.0])
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
133 plt.ylim([0.0, 1.05])
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
134 plt.xlabel("Recall")
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
135 plt.ylabel("Precision")
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
136 title = title or "Precision-Recall Curve"
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
137 plt.title(title)
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
138 folder = os.getcwd()
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
139 plt.savefig(os.path.join(folder, "output.svg"), format="svg")
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
140 os.rename(os.path.join(folder, "output.svg"), os.path.join(folder, "output"))
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
141
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
142
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
143 def visualize_roc_curve_plotly(df1, df2, pos_label, drop_intermediate=True, title=None):
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
144 """output roc-curve in html using plotly
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
145
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
146 df1 : pandas.DataFrame
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
147 Containing y_true
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
148 df2 : pandas.DataFrame
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
149 Containing y_score
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
150 pos_label : None
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
151 The label of positive class
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
152 drop_intermediate : bool
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
153 Whether to drop some suboptimal thresholds
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
154 title : str
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
155 Plot title
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
156 """
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
157 data = []
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
158 for idx in range(df1.shape[1]):
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
159 y_true = df1.iloc[:, idx].values
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
160 y_score = df2.iloc[:, idx].values
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
161
5
c48ffc96fe79 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
bgruening
parents: 4
diff changeset
162 fpr, tpr, _ = roc_curve(
c48ffc96fe79 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
bgruening
parents: 4
diff changeset
163 y_true, y_score, pos_label=pos_label, drop_intermediate=drop_intermediate
c48ffc96fe79 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
bgruening
parents: 4
diff changeset
164 )
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
165 roc_auc = auc(fpr, tpr)
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
166
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
167 trace = go.Scatter(
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
168 x=fpr,
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
169 y=tpr,
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
170 mode="lines",
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
171 marker=dict(color=default_colors[idx % len(default_colors)]),
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
172 name="%s (area = %.3f)" % (idx, roc_auc),
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
173 )
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
174 data.append(trace)
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
175
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
176 layout = go.Layout(
5
c48ffc96fe79 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
bgruening
parents: 4
diff changeset
177 xaxis=dict(
c48ffc96fe79 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
bgruening
parents: 4
diff changeset
178 title="False Positive Rate", linecolor="lightslategray", linewidth=1
c48ffc96fe79 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
bgruening
parents: 4
diff changeset
179 ),
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
180 yaxis=dict(title="True Positive Rate", linecolor="lightslategray", linewidth=1),
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
181 title=dict(
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
182 text=title or "Receiver Operating Characteristic (ROC) Curve",
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
183 x=0.5,
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
184 y=0.92,
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
185 xanchor="center",
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
186 yanchor="top",
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
187 ),
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
188 font=dict(family="sans-serif", size=11),
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
189 # control backgroud colors
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
190 plot_bgcolor="rgba(255,255,255,0)",
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
191 )
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
192 """
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
193 # legend=dict(
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
194 # x=0.95,
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
195 # y=0,
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
196 # traceorder="normal",
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
197 # font=dict(
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
198 # family="sans-serif",
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
199 # size=9,
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
200 # color="black"
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
201 # ),
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
202 # bgcolor="LightSteelBlue",
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
203 # bordercolor="Black",
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
204 # borderwidth=2
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
205 # ),
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
206 """
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
207
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
208 fig = go.Figure(data=data, layout=layout)
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
209
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
210 plotly.offline.plot(fig, filename="output.html", auto_open=False)
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
211 # to be discovered by `from_work_dir`
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
212 os.rename("output.html", "output")
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
213
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
214
5
c48ffc96fe79 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
bgruening
parents: 4
diff changeset
215 def visualize_roc_curve_matplotlib(
c48ffc96fe79 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
bgruening
parents: 4
diff changeset
216 df1, df2, pos_label, drop_intermediate=True, title=None
c48ffc96fe79 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
bgruening
parents: 4
diff changeset
217 ):
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
218 """visualize roc-curve using matplotlib and output svg image"""
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
219 backend = matplotlib.get_backend()
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
220 if "inline" not in backend:
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
221 matplotlib.use("SVG")
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
222 plt.style.use("seaborn-colorblind")
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
223 plt.figure()
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
224
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
225 for idx in range(df1.shape[1]):
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
226 y_true = df1.iloc[:, idx].values
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
227 y_score = df2.iloc[:, idx].values
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
228
5
c48ffc96fe79 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
bgruening
parents: 4
diff changeset
229 fpr, tpr, _ = roc_curve(
c48ffc96fe79 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
bgruening
parents: 4
diff changeset
230 y_true, y_score, pos_label=pos_label, drop_intermediate=drop_intermediate
c48ffc96fe79 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
bgruening
parents: 4
diff changeset
231 )
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
232 roc_auc = auc(fpr, tpr)
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
233
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
234 plt.step(
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
235 fpr,
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
236 tpr,
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
237 "r-",
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
238 color="black",
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
239 alpha=0.3,
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
240 lw=1,
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
241 where="post",
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
242 label="%s (area = %.3f)" % (idx, roc_auc),
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
243 )
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
244
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
245 plt.xlim([0.0, 1.0])
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
246 plt.ylim([0.0, 1.05])
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
247 plt.xlabel("False Positive Rate")
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
248 plt.ylabel("True Positive Rate")
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
249 title = title or "Receiver Operating Characteristic (ROC) Curve"
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
250 plt.title(title)
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
251 folder = os.getcwd()
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
252 plt.savefig(os.path.join(folder, "output.svg"), format="svg")
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
253 os.rename(os.path.join(folder, "output.svg"), os.path.join(folder, "output"))
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
254
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
255
1
9b70bf3306e5 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 9e28f4466084464d38d3f8db2aff07974be4ba69"
bgruening
parents: 0
diff changeset
256 def get_dataframe(file_path, plot_selection, header_name, column_name):
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
257 header = "infer" if plot_selection[header_name] else None
1
9b70bf3306e5 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 9e28f4466084464d38d3f8db2aff07974be4ba69"
bgruening
parents: 0
diff changeset
258 column_option = plot_selection[column_name]["selected_column_selector_option"]
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
259 if column_option in [
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
260 "by_index_number",
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
261 "all_but_by_index_number",
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
262 "by_header_name",
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
263 "all_but_by_header_name",
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
264 ]:
1
9b70bf3306e5 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 9e28f4466084464d38d3f8db2aff07974be4ba69"
bgruening
parents: 0
diff changeset
265 col = plot_selection[column_name]["col1"]
9b70bf3306e5 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 9e28f4466084464d38d3f8db2aff07974be4ba69"
bgruening
parents: 0
diff changeset
266 else:
9b70bf3306e5 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 9e28f4466084464d38d3f8db2aff07974be4ba69"
bgruening
parents: 0
diff changeset
267 col = None
5
c48ffc96fe79 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
bgruening
parents: 4
diff changeset
268 _, input_df = read_columns(
c48ffc96fe79 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
bgruening
parents: 4
diff changeset
269 file_path,
c48ffc96fe79 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
bgruening
parents: 4
diff changeset
270 c=col,
c48ffc96fe79 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
bgruening
parents: 4
diff changeset
271 c_option=column_option,
c48ffc96fe79 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
bgruening
parents: 4
diff changeset
272 return_df=True,
c48ffc96fe79 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
bgruening
parents: 4
diff changeset
273 sep="\t",
c48ffc96fe79 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
bgruening
parents: 4
diff changeset
274 header=header,
c48ffc96fe79 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
bgruening
parents: 4
diff changeset
275 parse_dates=True,
c48ffc96fe79 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
bgruening
parents: 4
diff changeset
276 )
1
9b70bf3306e5 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 9e28f4466084464d38d3f8db2aff07974be4ba69"
bgruening
parents: 0
diff changeset
277 return input_df
9b70bf3306e5 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 9e28f4466084464d38d3f8db2aff07974be4ba69"
bgruening
parents: 0
diff changeset
278
9b70bf3306e5 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 9e28f4466084464d38d3f8db2aff07974be4ba69"
bgruening
parents: 0
diff changeset
279
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
280 def main(
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
281 inputs,
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
282 infile_estimator=None,
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
283 infile1=None,
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
284 infile2=None,
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
285 outfile_result=None,
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
286 outfile_object=None,
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
287 groups=None,
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
288 ref_seq=None,
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
289 intervals=None,
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
290 targets=None,
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
291 fasta_path=None,
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
292 model_config=None,
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
293 true_labels=None,
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
294 predicted_labels=None,
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
295 plot_color=None,
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
296 title=None,
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
297 ):
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
298 """
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
299 Parameter
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
300 ---------
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
301 inputs : str
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
302 File path to galaxy tool parameter
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
303
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
304 infile_estimator : str, default is None
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
305 File path to estimator
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
306
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
307 infile1 : str, default is None
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
308 File path to dataset containing features or true labels.
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
309
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
310 infile2 : str, default is None
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
311 File path to dataset containing target values or predicted
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
312 probabilities.
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
313
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
314 outfile_result : str, default is None
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
315 File path to save the results, either cv_results or test result
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
316
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
317 outfile_object : str, default is None
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
318 File path to save searchCV object
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
319
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
320 groups : str, default is None
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
321 File path to dataset containing groups labels
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
322
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
323 ref_seq : str, default is None
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
324 File path to dataset containing genome sequence file
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
325
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
326 intervals : str, default is None
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
327 File path to dataset containing interval file
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
328
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
329 targets : str, default is None
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
330 File path to dataset compressed target bed file
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
331
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
332 fasta_path : str, default is None
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
333 File path to dataset containing fasta file
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
334
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
335 model_config : str, default is None
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
336 File path to dataset containing JSON config for neural networks
1
9b70bf3306e5 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 9e28f4466084464d38d3f8db2aff07974be4ba69"
bgruening
parents: 0
diff changeset
337
9b70bf3306e5 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 9e28f4466084464d38d3f8db2aff07974be4ba69"
bgruening
parents: 0
diff changeset
338 true_labels : str, default is None
9b70bf3306e5 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 9e28f4466084464d38d3f8db2aff07974be4ba69"
bgruening
parents: 0
diff changeset
339 File path to dataset containing true labels
9b70bf3306e5 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 9e28f4466084464d38d3f8db2aff07974be4ba69"
bgruening
parents: 0
diff changeset
340
9b70bf3306e5 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 9e28f4466084464d38d3f8db2aff07974be4ba69"
bgruening
parents: 0
diff changeset
341 predicted_labels : str, default is None
9b70bf3306e5 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 9e28f4466084464d38d3f8db2aff07974be4ba69"
bgruening
parents: 0
diff changeset
342 File path to dataset containing true predicted labels
9b70bf3306e5 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 9e28f4466084464d38d3f8db2aff07974be4ba69"
bgruening
parents: 0
diff changeset
343
9b70bf3306e5 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 9e28f4466084464d38d3f8db2aff07974be4ba69"
bgruening
parents: 0
diff changeset
344 plot_color : str, default is None
9b70bf3306e5 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 9e28f4466084464d38d3f8db2aff07974be4ba69"
bgruening
parents: 0
diff changeset
345 Color of the confusion matrix heatmap
9b70bf3306e5 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 9e28f4466084464d38d3f8db2aff07974be4ba69"
bgruening
parents: 0
diff changeset
346
9b70bf3306e5 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 9e28f4466084464d38d3f8db2aff07974be4ba69"
bgruening
parents: 0
diff changeset
347 title : str, default is None
9b70bf3306e5 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 9e28f4466084464d38d3f8db2aff07974be4ba69"
bgruening
parents: 0
diff changeset
348 Title of the confusion matrix heatmap
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
349 """
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
350 warnings.simplefilter("ignore")
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
351
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
352 with open(inputs, "r") as param_handler:
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
353 params = json.load(param_handler)
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
354
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
355 title = params["plotting_selection"]["title"].strip()
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
356 plot_type = params["plotting_selection"]["plot_type"]
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
357 plot_format = params["plotting_selection"]["plot_format"]
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
358
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
359 if plot_type == "feature_importances":
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
360 with open(infile_estimator, "rb") as estimator_handler:
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
361 estimator = load_model(estimator_handler)
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
362
5
c48ffc96fe79 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
bgruening
parents: 4
diff changeset
363 column_option = params["plotting_selection"]["column_selector_options"][
c48ffc96fe79 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
bgruening
parents: 4
diff changeset
364 "selected_column_selector_option"
c48ffc96fe79 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
bgruening
parents: 4
diff changeset
365 ]
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
366 if column_option in [
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
367 "by_index_number",
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
368 "all_but_by_index_number",
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
369 "by_header_name",
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
370 "all_but_by_header_name",
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
371 ]:
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
372 c = params["plotting_selection"]["column_selector_options"]["col1"]
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
373 else:
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
374 c = None
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
375
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
376 _, input_df = read_columns(
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
377 infile1,
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
378 c=c,
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
379 c_option=column_option,
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
380 return_df=True,
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
381 sep="\t",
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
382 header="infer",
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
383 parse_dates=True,
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
384 )
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
385
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
386 feature_names = input_df.columns.values
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
387
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
388 if isinstance(estimator, Pipeline):
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
389 for st in estimator.steps[:-1]:
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
390 if isinstance(st[-1], SelectorMixin):
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
391 mask = st[-1].get_support()
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
392 feature_names = feature_names[mask]
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
393 estimator = estimator.steps[-1][-1]
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
394
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
395 if hasattr(estimator, "coef_"):
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
396 coefs = estimator.coef_
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
397 else:
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
398 coefs = getattr(estimator, "feature_importances_", None)
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
399 if coefs is None:
5
c48ffc96fe79 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
bgruening
parents: 4
diff changeset
400 raise RuntimeError(
c48ffc96fe79 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
bgruening
parents: 4
diff changeset
401 "The classifier does not expose "
c48ffc96fe79 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
bgruening
parents: 4
diff changeset
402 '"coef_" or "feature_importances_" '
c48ffc96fe79 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
bgruening
parents: 4
diff changeset
403 "attributes"
c48ffc96fe79 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
bgruening
parents: 4
diff changeset
404 )
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
405
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
406 threshold = params["plotting_selection"]["threshold"]
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
407 if threshold is not None:
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
408 mask = (coefs > threshold) | (coefs < -threshold)
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
409 coefs = coefs[mask]
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
410 feature_names = feature_names[mask]
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
411
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
412 # sort
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
413 indices = np.argsort(coefs)[::-1]
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
414
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
415 trace = go.Bar(x=feature_names[indices], y=coefs[indices])
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
416 layout = go.Layout(title=title or "Feature Importances")
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
417 fig = go.Figure(data=[trace], layout=layout)
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
418
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
419 plotly.offline.plot(fig, filename="output.html", auto_open=False)
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
420 # to be discovered by `from_work_dir`
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
421 os.rename("output.html", "output")
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
422
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
423 return 0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
424
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
425 elif plot_type in ("pr_curve", "roc_curve"):
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
426 df1 = pd.read_csv(infile1, sep="\t", header="infer")
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
427 df2 = pd.read_csv(infile2, sep="\t", header="infer").astype(np.float32)
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
428
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
429 minimum = params["plotting_selection"]["report_minimum_n_positives"]
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
430 # filter out columns whose n_positives is beblow the threhold
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
431 if minimum:
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
432 mask = df1.sum(axis=0) >= minimum
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
433 df1 = df1.loc[:, mask]
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
434 df2 = df2.loc[:, mask]
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
435
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
436 pos_label = params["plotting_selection"]["pos_label"].strip() or None
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
437
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
438 if plot_type == "pr_curve":
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
439 if plot_format == "plotly_html":
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
440 visualize_pr_curve_plotly(df1, df2, pos_label, title=title)
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
441 else:
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
442 visualize_pr_curve_matplotlib(df1, df2, pos_label, title)
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
443 else: # 'roc_curve'
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
444 drop_intermediate = params["plotting_selection"]["drop_intermediate"]
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
445 if plot_format == "plotly_html":
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
446 visualize_roc_curve_plotly(
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
447 df1,
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
448 df2,
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
449 pos_label,
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
450 drop_intermediate=drop_intermediate,
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
451 title=title,
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
452 )
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
453 else:
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
454 visualize_roc_curve_matplotlib(
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
455 df1,
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
456 df2,
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
457 pos_label,
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
458 drop_intermediate=drop_intermediate,
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
459 title=title,
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
460 )
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
461
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
462 return 0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
463
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
464 elif plot_type == "rfecv_gridscores":
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
465 input_df = pd.read_csv(infile1, sep="\t", header="infer")
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
466 scores = input_df.iloc[:, 0]
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
467 steps = params["plotting_selection"]["steps"].strip()
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
468 steps = safe_eval(steps)
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
469
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
470 data = go.Scatter(
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
471 x=list(range(len(scores))),
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
472 y=scores,
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
473 text=[str(_) for _ in steps] if steps else None,
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
474 mode="lines",
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
475 )
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
476 layout = go.Layout(
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
477 xaxis=dict(title="Number of features selected"),
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
478 yaxis=dict(title="Cross validation score"),
5
c48ffc96fe79 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
bgruening
parents: 4
diff changeset
479 title=dict(
c48ffc96fe79 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
bgruening
parents: 4
diff changeset
480 text=title or None, x=0.5, y=0.92, xanchor="center", yanchor="top"
c48ffc96fe79 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
bgruening
parents: 4
diff changeset
481 ),
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
482 font=dict(family="sans-serif", size=11),
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
483 # control backgroud colors
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
484 plot_bgcolor="rgba(255,255,255,0)",
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
485 )
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
486 """
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
487 # legend=dict(
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
488 # x=0.95,
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
489 # y=0,
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
490 # traceorder="normal",
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
491 # font=dict(
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
492 # family="sans-serif",
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
493 # size=9,
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
494 # color="black"
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
495 # ),
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
496 # bgcolor="LightSteelBlue",
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
497 # bordercolor="Black",
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
498 # borderwidth=2
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
499 # ),
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
500 """
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
501
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
502 fig = go.Figure(data=[data], layout=layout)
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
503 plotly.offline.plot(fig, filename="output.html", auto_open=False)
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
504 # to be discovered by `from_work_dir`
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
505 os.rename("output.html", "output")
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
506
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
507 return 0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
508
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
509 elif plot_type == "learning_curve":
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
510 input_df = pd.read_csv(infile1, sep="\t", header="infer")
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
511 plot_std_err = params["plotting_selection"]["plot_std_err"]
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
512 data1 = go.Scatter(
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
513 x=input_df["train_sizes_abs"],
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
514 y=input_df["mean_train_scores"],
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
515 error_y=dict(array=input_df["std_train_scores"]) if plot_std_err else None,
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
516 mode="lines",
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
517 name="Train Scores",
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
518 )
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
519 data2 = go.Scatter(
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
520 x=input_df["train_sizes_abs"],
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
521 y=input_df["mean_test_scores"],
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
522 error_y=dict(array=input_df["std_test_scores"]) if plot_std_err else None,
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
523 mode="lines",
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
524 name="Test Scores",
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
525 )
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
526 layout = dict(
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
527 xaxis=dict(title="No. of samples"),
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
528 yaxis=dict(title="Performance Score"),
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
529 # modify these configurations to customize image
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
530 title=dict(
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
531 text=title or "Learning Curve",
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
532 x=0.5,
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
533 y=0.92,
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
534 xanchor="center",
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
535 yanchor="top",
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
536 ),
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
537 font=dict(family="sans-serif", size=11),
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
538 # control backgroud colors
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
539 plot_bgcolor="rgba(255,255,255,0)",
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
540 )
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
541 """
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
542 # legend=dict(
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
543 # x=0.95,
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
544 # y=0,
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
545 # traceorder="normal",
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
546 # font=dict(
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
547 # family="sans-serif",
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
548 # size=9,
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
549 # color="black"
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
550 # ),
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
551 # bgcolor="LightSteelBlue",
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
552 # bordercolor="Black",
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
553 # borderwidth=2
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
554 # ),
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
555 """
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
556
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
557 fig = go.Figure(data=[data1, data2], layout=layout)
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
558 plotly.offline.plot(fig, filename="output.html", auto_open=False)
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
559 # to be discovered by `from_work_dir`
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
560 os.rename("output.html", "output")
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
561
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
562 return 0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
563
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
564 elif plot_type == "keras_plot_model":
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
565 with open(model_config, "r") as f:
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
566 model_str = f.read()
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
567 model = model_from_json(model_str)
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
568 plot_model(model, to_file="output.png")
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
569 os.rename("output.png", "output")
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
570
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
571 return 0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
572
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
573 elif plot_type == "classification_confusion_matrix":
1
9b70bf3306e5 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 9e28f4466084464d38d3f8db2aff07974be4ba69"
bgruening
parents: 0
diff changeset
574 plot_selection = params["plotting_selection"]
5
c48ffc96fe79 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
bgruening
parents: 4
diff changeset
575 input_true = get_dataframe(
c48ffc96fe79 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
bgruening
parents: 4
diff changeset
576 true_labels, plot_selection, "header_true", "column_selector_options_true"
c48ffc96fe79 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
bgruening
parents: 4
diff changeset
577 )
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
578 header_predicted = "infer" if plot_selection["header_predicted"] else None
5
c48ffc96fe79 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
bgruening
parents: 4
diff changeset
579 input_predicted = pd.read_csv(
c48ffc96fe79 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
bgruening
parents: 4
diff changeset
580 predicted_labels, sep="\t", parse_dates=True, header=header_predicted
c48ffc96fe79 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
bgruening
parents: 4
diff changeset
581 )
1
9b70bf3306e5 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 9e28f4466084464d38d3f8db2aff07974be4ba69"
bgruening
parents: 0
diff changeset
582 true_classes = input_true.iloc[:, -1].copy()
9b70bf3306e5 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 9e28f4466084464d38d3f8db2aff07974be4ba69"
bgruening
parents: 0
diff changeset
583 predicted_classes = input_predicted.iloc[:, -1].copy()
9b70bf3306e5 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 9e28f4466084464d38d3f8db2aff07974be4ba69"
bgruening
parents: 0
diff changeset
584 axis_labels = list(set(true_classes))
9b70bf3306e5 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 9e28f4466084464d38d3f8db2aff07974be4ba69"
bgruening
parents: 0
diff changeset
585 c_matrix = confusion_matrix(true_classes, predicted_classes)
9b70bf3306e5 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 9e28f4466084464d38d3f8db2aff07974be4ba69"
bgruening
parents: 0
diff changeset
586 fig, ax = plt.subplots(figsize=(7, 7))
9b70bf3306e5 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 9e28f4466084464d38d3f8db2aff07974be4ba69"
bgruening
parents: 0
diff changeset
587 im = plt.imshow(c_matrix, cmap=plot_color)
9b70bf3306e5 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 9e28f4466084464d38d3f8db2aff07974be4ba69"
bgruening
parents: 0
diff changeset
588 for i in range(len(c_matrix)):
9b70bf3306e5 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 9e28f4466084464d38d3f8db2aff07974be4ba69"
bgruening
parents: 0
diff changeset
589 for j in range(len(c_matrix)):
9b70bf3306e5 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 9e28f4466084464d38d3f8db2aff07974be4ba69"
bgruening
parents: 0
diff changeset
590 ax.text(j, i, c_matrix[i, j], ha="center", va="center", color="k")
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
591 ax.set_ylabel("True class labels")
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
592 ax.set_xlabel("Predicted class labels")
1
9b70bf3306e5 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 9e28f4466084464d38d3f8db2aff07974be4ba69"
bgruening
parents: 0
diff changeset
593 ax.set_title(title)
9b70bf3306e5 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 9e28f4466084464d38d3f8db2aff07974be4ba69"
bgruening
parents: 0
diff changeset
594 ax.set_xticks(axis_labels)
9b70bf3306e5 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 9e28f4466084464d38d3f8db2aff07974be4ba69"
bgruening
parents: 0
diff changeset
595 ax.set_yticks(axis_labels)
9b70bf3306e5 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 9e28f4466084464d38d3f8db2aff07974be4ba69"
bgruening
parents: 0
diff changeset
596 fig.colorbar(im, ax=ax)
9b70bf3306e5 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 9e28f4466084464d38d3f8db2aff07974be4ba69"
bgruening
parents: 0
diff changeset
597 fig.tight_layout()
9b70bf3306e5 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 9e28f4466084464d38d3f8db2aff07974be4ba69"
bgruening
parents: 0
diff changeset
598 plt.savefig("output.png", dpi=125)
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
599 os.rename("output.png", "output")
1
9b70bf3306e5 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 9e28f4466084464d38d3f8db2aff07974be4ba69"
bgruening
parents: 0
diff changeset
600
9b70bf3306e5 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 9e28f4466084464d38d3f8db2aff07974be4ba69"
bgruening
parents: 0
diff changeset
601 return 0
9b70bf3306e5 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 9e28f4466084464d38d3f8db2aff07974be4ba69"
bgruening
parents: 0
diff changeset
602
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
603 # save pdf file to disk
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
604 # fig.write_image("image.pdf", format='pdf')
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
605 # fig.write_image("image.pdf", format='pdf', width=340*2, height=226*2)
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
606
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
607
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
608 if __name__ == "__main__":
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
609 aparser = argparse.ArgumentParser()
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
610 aparser.add_argument("-i", "--inputs", dest="inputs", required=True)
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
611 aparser.add_argument("-e", "--estimator", dest="infile_estimator")
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
612 aparser.add_argument("-X", "--infile1", dest="infile1")
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
613 aparser.add_argument("-y", "--infile2", dest="infile2")
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
614 aparser.add_argument("-O", "--outfile_result", dest="outfile_result")
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
615 aparser.add_argument("-o", "--outfile_object", dest="outfile_object")
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
616 aparser.add_argument("-g", "--groups", dest="groups")
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
617 aparser.add_argument("-r", "--ref_seq", dest="ref_seq")
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
618 aparser.add_argument("-b", "--intervals", dest="intervals")
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
619 aparser.add_argument("-t", "--targets", dest="targets")
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
620 aparser.add_argument("-f", "--fasta_path", dest="fasta_path")
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
621 aparser.add_argument("-c", "--model_config", dest="model_config")
1
9b70bf3306e5 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 9e28f4466084464d38d3f8db2aff07974be4ba69"
bgruening
parents: 0
diff changeset
622 aparser.add_argument("-tl", "--true_labels", dest="true_labels")
9b70bf3306e5 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 9e28f4466084464d38d3f8db2aff07974be4ba69"
bgruening
parents: 0
diff changeset
623 aparser.add_argument("-pl", "--predicted_labels", dest="predicted_labels")
9b70bf3306e5 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 9e28f4466084464d38d3f8db2aff07974be4ba69"
bgruening
parents: 0
diff changeset
624 aparser.add_argument("-pc", "--plot_color", dest="plot_color")
9b70bf3306e5 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 9e28f4466084464d38d3f8db2aff07974be4ba69"
bgruening
parents: 0
diff changeset
625 aparser.add_argument("-pt", "--title", dest="title")
0
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
626 args = aparser.parse_args()
13226b2ddfb4 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 756f8be9c3cd437e131e6410cd625c24fe078e8c"
bgruening
parents:
diff changeset
627
3
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
628 main(
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
629 args.inputs,
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
630 args.infile_estimator,
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
631 args.infile1,
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
632 args.infile2,
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
633 args.outfile_result,
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
634 outfile_object=args.outfile_object,
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
635 groups=args.groups,
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
636 ref_seq=args.ref_seq,
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
637 intervals=args.intervals,
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
638 targets=args.targets,
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
639 fasta_path=args.fasta_path,
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
640 model_config=args.model_config,
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
641 true_labels=args.true_labels,
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
642 predicted_labels=args.predicted_labels,
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
643 plot_color=args.plot_color,
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
644 title=args.title,
c3bafda50176 "planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
bgruening
parents: 1
diff changeset
645 )