summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrautenberg <rautenberg@in-silico.ch>2016-09-14 15:45:34 +0200
committerrautenberg <rautenberg@in-silico.ch>2016-09-14 15:45:34 +0200
commit6c48f5e40457ed0b363b82606fd8c68282e41cbb (patch)
tree403183085a374271604656ffe6b2ed65148f4a30
parent35d2994404febf980395c50dcc82f30cf5c10948 (diff)
refine validation results to available html tags
-rw-r--r--views/model_details.haml174
1 files changed, 84 insertions, 90 deletions
diff --git a/views/model_details.haml b/views/model_details.haml
index 34f4de8..42cf693 100644
--- a/views/model_details.haml
+++ b/views/model_details.haml
@@ -2,116 +2,111 @@
%head
%body
%b Model:
- %br
+
Source:
- %a{:href=>model.source, :target=>"external"}
- = model.source
- %br
+ = model.source
+
- 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
- %p
- if type == "Classification"
%b Independent crossvalidations:
- else
%b Independent crossvalidations (-log10 transformed):
- %div.row{:id=>"validations#{model.id}", :style=>"background-color:#f5f5f5;"}
- - model.crossvalidations.each do |crossvalidation|
- %span
- - cv = OpenTox::CrossValidation.find crossvalidation.id
- = "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"]
-
- %p
- %b Confusion Matrix:
- %table{: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
- %br
- /= "Confidence plot:"
+ - model.crossvalidations.each do |crossvalidation|
+ = "Num folds:\t"
+ = crossvalidation.folds
+
+ = "Num instances:\t"
+ = crossvalidation.nr_instances
+
+ = "Num unpredicted"
+ = crossvalidation.nr_unpredicted
+ - if model.classification?
+
+ = "Accuracy:\t"
+ = crossvalidation.accuracy.round(3) if crossvalidation.accuracy
+
+ - if crossvalidation.true_rate
+ = "True positive rate:\t"
+ = crossvalidation.true_rate["active"].round(3) if crossvalidation.true_rate["active"]
+
+ = "True negative rate:\t"
+ = crossvalidation.true_rate["inactive"].round(3) if crossvalidation.true_rate["inactive"]
+
+ - if crossvalidation.predictivity
+ = "Positive predictive value:\t"
+ = crossvalidation.predictivity["active"].round(3) if crossvalidation.predictivity["active"]
+
+ = "Negative predictive value:\t"
+ = crossvalidation.predictivity["inactive"].round(3) if crossvalidation.predictivity["inactive"]
+
+
+ %b Confusion Matrix:
+ %table{: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"}
@@ -120,4 +115,3 @@
/%p.plot
/ %img{:src=>"/corrp#{crossvalidation.id}.svg"}
- %br \ No newline at end of file