From 5b6f908b11bd6ec783199c63868c8b69d4f98977 Mon Sep 17 00:00:00 2001 From: gebele Date: Mon, 19 Oct 2015 10:01:41 +0000 Subject: fixed regression/classification round;line up repeated cv;removed total in cv matrix; --- views/predict.haml | 201 ++++++++++++++++++++++++++--------------------------- 1 file changed, 100 insertions(+), 101 deletions(-) (limited to 'views/predict.haml') diff --git a/views/predict.haml b/views/predict.haml index 0e6b3cc..1d75723 100644 --- a/views/predict.haml +++ b/views/predict.haml @@ -144,7 +144,7 @@ %br = "Algorithm:\tLAZAR" %br - - model.classification? ? type = "classification" : type = "regression" + - model.classification? ? type = "Classification" : type = "Regression" = "Type:\t" = type %br @@ -155,108 +155,107 @@ = "Training compounds:\t" = training_dataset.compounds.size - %p %b Validation (repeated): - %p - - model.crossvalidations.each do |crossvalidation| - - 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 - %hr + %div.row{: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 %fieldset#bottom.well -- cgit v1.2.3