AntonAntonov/ MonadicGeometricNearestNeighbors

Software monad for Geometric Nearest Neighbors workflows

Contributed by: Anton Antonov

Software monad for Geometric Nearest Neighbors (GNN) workflows: data rescaling, fast anomalies finding, similarity matrices derivation.

Installation Instructions

To install this paclet in your Wolfram Language environment, evaluate this code:
PacletInstall["AntonAntonov/MonadicGeometricNearestNeighbors"]


To load the code after installation, evaluate this code:
Needs["AntonAntonov`MonadicGeometricNearestNeighbors`"]

Details

The Geometric Nearest Neighbors Monad (GNNMon) has a fast anomalies finding algorithm based on nearest neighbor functions and 1D outlier finding.
GNNMon uses Nearest and the 1D outlier identifiers in the paclet "AntonAntonov/OutlierIdentifiers".

Paclet Guide

Examples

Basic Examples (3) 

Here is a dataset of random points:

In[1]:=
SeedRandom[2323];
dsPoints = ResourceFunction["RandomTabularDataset"][{30, {"X", "Y"}}, "Generators" -> <|1 -> NormalDistribution[0, 5], 2 -> NormalDistribution[12, 3]|>, "RowKeys" -> True];
dsPoints[[1 ;; 4]]
Out[3]=

Here is a summary and a plot:

In[4]:=
Row[{Labeled[ResourceFunction["RecordsSummary"][dsPoints], "Data summary", Top], Spacer[5], ListPlot[dsPoints[Values, Values], PlotTheme -> "Detailed", PlotLabel -> "Data points", ImageSize -> Medium]}]
Out[4]=

Here is a monadic Geometric Nearest Neighbors Monad (GNNMon) pipeline for finding outliers:

In[5]:=
(* Evaluate this cell to get the example input *) CloudGet["https://www.wolframcloud.com/obj/31925922-53e2-443b-97bd-ba53d10d4015"]

Scope (1) 

GNNMon objects have "boxed" representation:

In[6]:=
gnnObj
Out[6]=

Publisher

Anton Antonov

Disclosures

Compatibility

Wolfram Language Version 13.3

Version History

  • 1.0.3 – 15 April 2024
  • 1.0.1 – 24 March 2024
  • 1.0.0 – 12 September 2023

License Information

MIT License

Paclet Source

Source Metadata

See Also