Class: DataMining::KNearestNeighbor

Inherits:
Object
  • Object
show all
Defined in:
lib/data_mining/knn.rb

Overview

k-Nearest Neighbor Classifier

Instance Method Summary collapse

Constructor Details

#initialize(training_data, k) ⇒ KNearestNeighbor

Find nearest neighbors class

Arguments:

training_data: (array of arrays, like [[:c1, value], [:c2, value] .. ])
k: (integer)


9
10
11
12
# File 'lib/data_mining/knn.rb', line 9

def initialize(training_data, k)
  @data = training_data.map { |i, v| DataMining::Point.new(i, v) }
  @k    = k
end

Instance Method Details

#classify(point) ⇒ Object



14
15
16
# File 'lib/data_mining/knn.rb', line 14

def classify(point)
  count_classes(k_nearest_points(point)).max_by { |_, v| v }.first
end