DruidJS
DruidJS copied to clipboard
A JavaScript Library for Dimensionality Reduction
The current implementation of the singular value decomposition is naive and in most circumstances infeasible to use, since it computes for an input matrix $X$ both, the covariance matrix $X^\top...
> RangeError: Array buffer allocation failed this is the error I get if I try to pass more than 30k points to UMAP. (I suppose that DruidJS should accept and...
With the current API, if one wants to project in d=3, one has to know the exact number *n* of optional arguments before specifying 3 as the *n+1*th argument. This...
I took UMAP as an example, but note that many methods crash or return garbage on small datasets. We could probably limit the number of neighbors to *n*-1, etc?
If I understand correctly, the current approach learns and transforms at the same time. As a consequence you can't learn on a subset (train set), then transform the whole dataset....
I'm not sure if self-organizing maps are in the scope of this tool, but the algorithm is simple enough to consider. See https://observablehq.com/@fil/som-delaunay for an example. (I might do a...
```js const data = [[0, 0], [1, 1], [2, 1], [2, 2], [1, 2.5]]; const dr = new druid.FASTMAP(data); dr.transform(); // [[2.828…, 0.707…], [1.414…, 0.707…]… dr.transform(); // [[0, 0], [0,...
It would be really nice if declaration types will be added so that the package could be compatible with TypeScript.
Hi, in NPM I see the license as BSD, but in the repo not. Could you please clarify?