LearnKit

Installation

Add this line to your application's Gemfile:

gem 'learn_kit'

And then execute:

$ bundle

Or install it yourself as:

$ gem install learn_kit

K-Nearest Neighbors

Initialize classificator with data set consists from labels and features:

  data_set = { label1: [[-1, -1], [-2, -1], [-3, -2]], label2: [[1, 1], [2, 1], [3, 2], [-2, -2]] }
  clf = LearnKit::Knn.new(data_set: data_set)

Predict label for new feature:

  clf.predict(k: 3, algorithm: 'brute', weight: 'uniform', point: [-1, -2])
k - number of nearest neighbors
algorithm - algorithm for calculation of distances, one of the [brute]
weight - method of weighted neighbors, one of the [uniform|distance]
point - new feature for prediction

Naive Bayes

Gaussian

Initialize classificator with data set consists from labels and features:

  data_set = { label1: [[-1, -1], [-2, -1], [-3, -2]], label2: [[1, 1], [2, 1], [3, 2], [-2, -2]] }
  clf = LearnKit::NaiveBayes::Gaussian.new(data_set: data_set)

Make fit of test data:

  clf.fit

Predict label for new feature:

  clf.predict([-1, -2])

Or show probability for all labels:

  clf.predict_proba([-1, -2])

Calculate accuracy for test data:

  clf.score