summaryrefslogtreecommitdiff
path: root/views/model_details.haml
diff options
context:
space:
mode:
Diffstat (limited to 'views/model_details.haml')
-rw-r--r--views/model_details.haml121
1 files changed, 121 insertions, 0 deletions
diff --git a/views/model_details.haml b/views/model_details.haml
new file mode 100644
index 0000000..f539a70
--- /dev/null
+++ b/views/model_details.haml
@@ -0,0 +1,121 @@
+%b Model:
+%br
+Source:
+%a{:href=>model.source, :target=>"external"}
+ = model.source
+%br
+= "Algorithm:\tLAZAR"
+%br
+- model.classification? ? type = "Classification" : type = "Regression"
+= "Type:\t"
+= type
+%br
+- training_dataset = OpenTox::Dataset.find model.training_dataset.id
+= "Training dataset:\t"
+= training_dataset.source.split("/").last
+%br
+= "Training compounds:\t"
+= training_dataset.compounds.size
+
+%p
+%b Validation (repeated):
+%div.row{:id=>"validations#{model.id}", :style=>"background-color:#f5f5f5;"}
+ - model.crossvalidations.each do |crossvalidation|
+ %span.col-xs-4.col-sm-4.col-md-4.col-lg-4
+ - cv = OpenTox::CrossValidation.find crossvalidation.id
+ = "Num folds:\t"
+ = cv.folds
+ %br
+ = "Num instances:\t"
+ = cv.nr_instances
+ %br
+ = "Num unpredicted"
+ = cv.nr_unpredicted
+ - if model.classification?
+ %br
+ = "Accuracy:\t"
+ = cv.accuracy.round(3) if cv.accuracy
+ %br
+ = "Weighted Accuracy:\t"
+ = cv.weighted_accuracy.round(3) if cv.weighted_accuracy
+ %br
+ = "True positive rate:\t"
+ = cv.true_rate["active"].round(3) if cv.true_rate["active"]
+ %br
+ = "True negative rate:\t"
+ = cv.true_rate["inactive"].round(3) if cv.true_rate["inactive"]
+ %br
+ = "Positive predictive value:\t"
+ = cv.predictivity["active"].round(3) if cv.predictivity["active"]
+ %br
+ = "Negative predictive value:\t"
+ = cv.predictivity["inactive"].round(3) if cv.predictivity["inactive"]
+ %p
+ %b Confusion Matrix:
+ %table.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
+ =cv.confusion_matrix[0][0]
+ %td
+ =cv.confusion_matrix[0][1]
+ -#%td
+ =cv.confusion_matrix[0][0]+cv.confusion_matrix[0][1]
+ %tr
+ %td
+ %td inactive
+ %td
+ =cv.confusion_matrix[1][0]
+ %td
+ =cv.confusion_matrix[1][1]
+ -#%td
+ =cv.confusion_matrix[1][0]+cv.confusion_matrix[1][1]
+ -#%tr
+ %td
+ %td total
+ %td
+ =cv.confusion_matrix[0][0]+cv.confusion_matrix[1][0]
+ %td
+ =cv.confusion_matrix[0][1]+cv.confusion_matrix[1][1]
+ %td
+ -#= "Confusion Matrix:\t"
+ -#= cv.confusion_matrix
+ - if model.regression?
+ %br
+ = "Root mean squared error:\t"
+ = cv.rmse.round(3) if cv.rmse
+ %br
+ = "Weighted root mean squared error:\t"
+ = cv.weighted_rmse.round(3) if cv.weighted_rmse
+ %br
+ = "Mean absolute error:\t"
+ = cv.mae.round(3) if cv.mae
+ %br
+ = "Weighted mean absolute error:\t"
+ = cv.weighted_mae.round(3) if cv.weighted_mae
+ %br
+ = "R square:\t"
+ = cv.r_squared.round(3) if cv.r_squared
+ /%br
+ /= "Correlation plot"
+ /= cv.correlation_plot
+ /%br
+ /= "Confidence plot:"
+ /= cv.confidence_plot
+%br