blob: 69bc31ddfd176ecce4d6ecea99cea8736106da47 (
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
|
#!/usr/bin/env ruby
require "./config.rb"
require "bundler"
Bundler.require
res = YAML.load("---
- :min_sim: 0.0
:min_train: 0.0
:cv: http://localhost:8087/validation/crossvalidation/54
:r_square: 0.45370176424121433
:unpredicted: '0'
- :min_sim: 0.1
:min_train: 0.0
:cv: http://localhost:8087/validation/crossvalidation/55
:r_square: 0.4595956327160562
:unpredicted: '0'
- :min_sim: 0.2
:min_train: 0.0
:cv: http://localhost:8087/validation/crossvalidation/56
:r_square: 0.4277448070809924
:unpredicted: '0'
- :min_sim: 0.3
:min_train: 0.0
:cv: http://localhost:8087/validation/crossvalidation/57
:r_square: 0.44307217405529253
:unpredicted: '0'
- :min_sim: 0.4
:min_train: 0.0
:cv: http://localhost:8087/validation/crossvalidation/58
:r_square: 0.4536563787494641
:unpredicted: '0'
- :min_sim: 0.5
:min_train: 0.0
:cv: http://localhost:8087/validation/crossvalidation/59
:r_square: 0.4461298986550688
:unpredicted: '0'
- :min_sim: 0.6
:min_train: 0.0
:cv: http://localhost:8087/validation/crossvalidation/60
:r_square: 0.4720263367371236
:unpredicted: '1'
- :min_sim: 0.7
:min_train: 0.0
:cv: http://localhost:8087/validation/crossvalidation/61
:r_square: 0.5057497593073133
:unpredicted: '15'
- :min_sim: 0.8
:min_train: 0.0
:cv: http://localhost:8087/validation/crossvalidation/62
:r_square: 0.5505636328364947
:unpredicted: '65'
")
all=182
min_train = [nil,0.1,0.2,0.3,0.4,0.5]
s = [ "sim\\train" ]
min_train.each do |m|
s << (m==nil ? 0.0 : m).to_s
end
out = [s]
res.each do |r|
s = [ r[:min_sim].to_s ]
stats = OpenTox::Crossvalidation.find(r[:cv]).statistics
min_train.each do |m|
data = (m==nil ? stats.metadata : stats.filter(m))
v = sprintf("%.3f",data[RDF::OT.regressionStatistics.to_s][RDF::OT.rSquare.to_s])
v << "("
v << sprintf("%2d",(all - (data[RDF::OT.numInstances.to_s].to_i-data[RDF::OT.numUnpredicted.to_s].to_i)))
v << ")"
s << v
end
out << s
end
def print_2d_array(a, cs=10)
report = []
report << a.enum_for(:each_with_index).map { |ia, i|
ia.map{|e| "%#{cs}s" % e}.join(" | ") }
puts report.join("\n")
end
print_2d_array out
|