summaryrefslogtreecommitdiff
path: root/views/model_details.haml
blob: 470f5b0923e0d1e775de1fd7049571714684227e (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
%html
  %head
  %body 
    %b Model:
    %br
    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
    - if type == "Classification"
      %b Independent crossvalidations:
    - else
      %b Independent crossvalidations (-log10 transformed):
    - model.crossvalidations.each do |crossvalidation|
      = "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

        %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"}