blob: 43cf7e933ca2f8ac37bae72c78c013908fcaae27 (
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
|
module OpenTox
class Feature
field :string, type: Boolean, default: false
field :nominal, type: Boolean, default: false
field :numeric, type: Boolean, default: false
field :accept_values, type: Array
# Find out feature type
# Classification takes precedence
# @return [String] Feature type
def feature_type
if nominal
"classification"
elsif numeric
"regression"
else
"unknown"
end
end
# Get accept values
#
# @return[Array] Accept values
#def accept_values
#self[RDF::OT.acceptValue] ? self[RDF::OT.acceptValue].sort : nil
#end
# Create value map
# @param [OpenTox::Feature] Feature
# @return [Hash] A hash with keys 1...feature.training_classes.size and values training classes
def value_map
unless defined? @value_map
accept_values ? @value_map = accept_values.each_index.inject({}) { |h,idx| h[idx+1]=accept_values[idx]; h } : @value_map = nil
end
@value_map
end
end
end
|