Project

## measurable

0.01
Repository is archived
No commit activity in last 3 years
No release in over 3 years
A Ruby gem with a lot of distance measures for your projects.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
Dependencies

>= 12.3.3
>= 6.0.0
~> 3.2

# Measurable

A gem to test what metric is best for certain kinds of datasets in machine learning. Besides the `Array` class, I also want to support NMatrix.

This is a fork of the gem Distance Measure, which has a similar objective, but isn't actively maintained and doesn't support NMatrix. Thank you, @reddavis. :)

## Installation

`gem install measurable`

I test this gem (via Travis CI) on Ruby MRI 2.5, 2.6 and 2.7.

## Available distance measures

I'm using the term "distance measure" without much concern for the strict mathematical definition of a metric. If the documentation for one of the methods isn't clear about it being or not a metric, please open an issue.

The following are the similarity measures supported at the moment:

## How to use

The API I intend to support is something like this:

```require 'measurable'

# Calculate the distance between two points in space.
Measurable.euclidean([1, 1], [0, 0]) # => 1.41421

# Calculate the norm of a vector, i.e. its distance from the origin.
Measurable.euclidean([1, 1]) # => 1.4142135623730951

# Get the cosine distance between
Measurable.cosine_distance([1, 2], [2, 3]) # => 0.007722123286332261

# Calculate sum of squares directly.
Measurable.euclidean_squared([3, 4]) # => 25```

Most of the methods accept arbitrary enumerable objects instead of Arrays. For example, it's possible to use NMatrix.

## Documentation

The documentation is hosted on rubydoc.

The original `distance_measures` gem is copyrighted by @reddavis.