Class: DataMining::KNearestNeighbor
- Inherits:
-
Object
- Object
- DataMining::KNearestNeighbor
- Defined in:
- lib/data_mining/knn.rb
Overview
k-Nearest Neighbor Classifier
Instance Method Summary collapse
- #classify(point) ⇒ Object
-
#initialize(training_data, k) ⇒ KNearestNeighbor
constructor
Find nearest neighbors class.
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 |