Class: Libsvm::Problem

Inherits:
Object
  • Object
show all
Defined in:
lib/jrb-libsvm/problem.rb

Instance Method Summary collapse

Instance Method Details

#examplesObject



31
32
33
# File 'lib/jrb-libsvm/problem.rb', line 31

def examples
  return self.y, self.x
end

#set_examples(labels, features) ⇒ Object



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
  # -- add in the training data
  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

  # -- add in the labels
  self.y = Java::double[labels.size].new
  labels.each.with_index do |label, i| 
    self.y[i] = label
  end

  return labels.size
end