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
|
# File 'lib/jrb-libsvm/problem.rb', line 3
def set_examples(labels, features)
unless features.size == labels.size
raise ArgumentError.new "Number of features must equal number of labels"
end
unless features.size > 0
raise ArgumentError.new "There must be at least one feature."
end
unless features.collect {|i| i.size}.min == features.collect {|i| i.size}.max
raise ArgumentError.new "All features must have the same size"
end
self.l = labels.size
self.x = Node[features.size, features[0].size].new
features.each.with_index do |feature, i|
feature.each.with_index do |node, j|
self.x[i][j] = node
end
end
self.y = Java::double[labels.size].new
labels.each.with_index do |label, i|
self.y[i] = label
end
return labels.size
end
|