
Product
Announcing Socket Fix 2.0
Socket Fix 2.0 brings targeted CVE remediation, smarter upgrade planning, and broader ecosystem support to help developers get to zero alerts.
compute-cosine-similarity
Advanced tools
The compute-cosine-similarity npm package is used to calculate the cosine similarity between two vectors. Cosine similarity is a measure of similarity between two non-zero vectors of an inner product space that measures the cosine of the angle between them. This is commonly used in various applications such as text analysis, recommendation systems, and clustering.
Calculate Cosine Similarity
This feature allows you to calculate the cosine similarity between two vectors. The code sample demonstrates how to use the package to compute the similarity between two example vectors, vectorA and vectorB.
const cosineSimilarity = require('compute-cosine-similarity');
const vectorA = [1, 2, 3];
const vectorB = [4, 5, 6];
const similarity = cosineSimilarity(vectorA, vectorB);
console.log(similarity); // Output: 0.9746318461970762
The cosine-similarity package provides a simple way to calculate the cosine similarity between two vectors. It is similar to compute-cosine-similarity in functionality but may have different performance characteristics or additional features.
The ml-distance package offers a variety of distance and similarity measures, including cosine similarity. It is more comprehensive than compute-cosine-similarity as it provides multiple distance metrics, making it suitable for broader applications in machine learning.
The similarity package is a general-purpose library for calculating various similarity metrics, including cosine similarity. It is more versatile than compute-cosine-similarity, as it supports multiple similarity measures, which can be useful for different types of data analysis.
Computes the cosine similarity between two arrays.
Cosine similarity defines vector similarity in terms of the angle separating two vectors.
$ npm install compute-cosine-similarity
For use in the browser, use browserify.
var similarity = require( 'compute-cosine-similarity' );
Computes the cosine similarity between two arrays
.
var x = [ 5, 23, 2, 5, 9 ],
y = [ 3, 21, 2, 5, 14 ];
var s = similarity( x, y );
// returns ~0.975
For object arrays
, provide an accessor function
for accessing numeric
values.
var x = [
{'x':2},
{'x':4},
{'x':5}
];
var y = [
[1,3],
[2,1],
[3,5]
];
function getValue( d, i, j ) {
if ( j === 0 ) {
return d.x;
}
return d[ 1 ];
}
var s = similarity( x, y, getValue );
// returns ~0.882
The accessor function
is provided three arguments:
x
has index 0
, and array y
has index 1
.If provided empty arrays
, the function returns null
.
var similarity = require( 'compute-cosine-similarity' );
var x = new Array( 100 ),
y = new Array( 100 ),
s;
for ( var i = 0; i < x.length; i++ ) {
x[ i ] = Math.round( Math.random()*100 );
y[ i ] = Math.round( Math.random()*100 );
}
s = similarity( x, y );
console.log( s );
To run the example code from the top-level application directory,
$ node ./examples/index.js
Unit tests use the Mocha test framework with Chai assertions. To run the tests, execute the following command in the top-level application directory:
$ make test
All new feature development should have corresponding unit tests to validate correct functionality.
This repository uses Istanbul as its code coverage tool. To generate a test coverage report, execute the following command in the top-level application directory:
$ make test-cov
Istanbul creates a ./reports/coverage
directory. To access an HTML version of the report,
$ make view-cov
Copyright © 2015. The Compute.io Authors. All rights reserved.
FAQs
Computes the cosine similarity between two arrays.
The npm package compute-cosine-similarity receives a total of 162,857 weekly downloads. As such, compute-cosine-similarity popularity was classified as popular.
We found that compute-cosine-similarity demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Socket Fix 2.0 brings targeted CVE remediation, smarter upgrade planning, and broader ecosystem support to help developers get to zero alerts.
Security News
Socket CEO Feross Aboukhadijeh joins Risky Business Weekly to unpack recent npm phishing attacks, their limited impact, and the risks if attackers get smarter.
Product
Socket’s new Tier 1 Reachability filters out up to 80% of irrelevant CVEs, so security teams can focus on the vulnerabilities that matter.