I updated the Measurable gem yesterday with documentation and corrections to the methods.
It’s a module packed with lots of methods that calculate the distance between two vectors,
v. They’re pretty useful for machine learning tasks and can be used in various apps whenever you need to estimate the similarity of two things — strings, sets, etc.
Just a reminder that some of the methods aren’t metrics in the mathematical sense, that is, given a function d(x, y), it is a metric if and only if the following properties hold:
- Symmetry: d(x, y) == d(y, x).
- Non-negative: d(x, y) >= 0, for every (x, y).
- Coincidence axiom: d(x, y) == 0 if, and only if, x == y.
- Triangular inequality: d(x, y) <= d(x, z) + d(z, y).
In any case, there are still many methods that I want to add to Measurable (which you can find in the README). As I’m learning about them while I write this gem, it’s hard to know in advance what’s useful and what isn’t. Any help with references and examples (and feature requests) are appreciated.
Another point is that I want to rewrite some methods in C (e.g. Euclidean distance) to get to know Ruby’s C API and to speed some things up. This would be a pretty good reason to use the gem also — speed — as most of the methods are very straightforward and succint to write.
I plan on releasing versions 0.0.6 up to 0.1 very rapidly, just by adding new method definitions, updating documentation and probably adding some examples.
Well, that’s it.