blob: 224de137d3df08fb2fea571631056ea16ca0eb43 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
|
%html
%head
%body
%b Model:
%br
Source:
%a{:href => model.source}
= model.source
%br
- model.classification? ? type = "Classification" : type = "Regression"
= "Type:\t"
= type
%br
- training_dataset = OpenTox::Dataset.find model.training_dataset.id
= "Training compounds:\t"
= training_dataset.compounds.size
%br
%p
- if type == "Classification"
%b Independent crossvalidations:
- else
%b Independent crossvalidations (-log10 transformed):
- model.crossvalidations.each do |crossvalidation|
%br
= "Num folds:\t"
= crossvalidation.folds
%br
= "Num instances:\t"
= crossvalidation.nr_instances
%br
= "Num unpredicted"
= crossvalidation.nr_unpredicted
- if model.classification?
%br
= "Accuracy:\t"
= crossvalidation.accuracy.round(3) if crossvalidation.accuracy
%br
- if crossvalidation.true_rate
= "True positive rate:\t"
= crossvalidation.true_rate["active"].round(3) if crossvalidation.true_rate["active"]
%br
= "True negative rate:\t"
= crossvalidation.true_rate["inactive"].round(3) if crossvalidation.true_rate["inactive"]
%br
- if crossvalidation.predictivity
= "Positive predictive value:\t"
= crossvalidation.predictivity["active"].round(3) if crossvalidation.predictivity["active"]
%br
= "Negative predictive value:\t"
= crossvalidation.predictivity["inactive"].round(3) if crossvalidation.predictivity["inactive"]
%br
%br
%b Confusion Matrix:
%table{:class => "table table-condensed table-borderless", :style=>"width:20%;"}
%tbody
%tr
%td
%td
%td
%b actual
%td
%td
%tr
%td
%td
%td active
%td inactive
-#%td total
%tr
%td
%b predicted
%td active
%td
=crossvalidation.confusion_matrix[0][0]
%td
=crossvalidation.confusion_matrix[0][1]
-#%td
=crossvalidation.confusion_matrix[0][0]+crossvalidation.confusion_matrix[0][1]
%tr
%td
%td inactive
%td
=crossvalidation.confusion_matrix[1][0]
%td
=crossvalidation.confusion_matrix[1][1]
-#%td
=crossvalidation.confusion_matrix[1][0]+crossvalidation.confusion_matrix[1][1]
-#%tr
%td
%td total
%td
=crossvalidation.confusion_matrix[0][0]+crossvalidation.confusion_matrix[1][0]
%td
=crossvalidation.confusion_matrix[0][1]+crossvalidation.confusion_matrix[1][1]
%td
-#= "Confusion Matrix:\t"
-#= crossvalidation.confusion_matrix
/= "Confidence plot:"
/%p.plot
/ %img{:src=>"confp#{crossvalidation.id}.svg"}
- if model.regression?
%br
= "Root mean squared error:\t"
= crossvalidation.rmse.round(3) if crossvalidation.rmse
%br
= "Mean absolute error:\t"
= crossvalidation.mae.round(3) if crossvalidation.mae
%br
= "R square:\t"
= crossvalidation.r_squared.round(3) if crossvalidation.r_squared
%br
/= "Confidence plot:"
/%p.plot
/ %img{:src=>"/confp#{crossvalidation.id}.svg"}
/%br
/= "Correlation plot"
/%p.plot
/ %img{:src=>"/corrp#{crossvalidation.id}.svg"}
|