Published
Edited
Aug 2, 2020
5 stars
Hello, A5Chandrupatla’s root-finding methodSidi’s root-finding methodRegular numbersDruidJS workerNatural breaksDistance to a segmentRay out of a convex hullWord Tour: 40k words and their friendsHello, @thi.ng/grid-iteratorsHead/tail breaksPseudo-blue noise shaderHow fast does walk-on-spheres converge?AoC 12: shortest path under constraintsKDE estimationPlot: Correlation heatmapPoisson Finish 2Poisson disk sampling functionsWoS with transportSimple and surprising sortLocal medianTime series topological subsamplingUnion-FindLevel set experiment 1Mean value coordinatesPoisson potentialMiddle-squareWorld of squares (spherical)World of squaresLargest Inscribed SquareHello, PyWaveletsGeothmetic meandianHello, Reorder.jsGeometric MedianImage FFTTransport to a mapDisc TransportTP3: Power Diagram and Semi-Discrete Optimal TransportThe blue waveHello, genetic-jsSliced Optimal TransportDruidJSSelf-Organizing Maps meet DelaunayHello, polygon-clippingseedrandom, minimalWalk on Spheres 2Walk on Spheres
Hello, Autoencoder
Kaprekar’s numberVoronoiMap2DHello, ccwt.jsPolygon TriangulationQuantile.invert?Linear congruential generatorHue blurNeedle in a haystackMoving average blurApollo 11 implementation of trigonometric functions, by Margaret H. Hamilton (march 1969)2D curves intersectionThe 2D approximate Newton-Raphson methodInverting Lee’s Tetrahedral projectionLinde–Buzo–Gray stipplingMean shift clustering with kd-tree2D point distributionsShortest pathKahan SummationHello, delatinDijkstra’s algorithm in gpu.jsLloyd’s relaxation on a graphManhattan DiameterManhattan VoronoiMobility landscapes — an introductionDijkstra’s shortest-path treeH3 odditiesProtein MatrixConvex Spectral WeightsSort stuff by similarityKrigingDelaunay.findTrianglen-dimensions binning?Travelling with a self-organizing mapUMAP-o-MaticMNIST & UMAP-jsHello UMAP-jsMean shift clusteringLevenshtein transitionRd quasi-random sequencesAutomated label placement (countries)Phyllotaxis explainedMotionrugsPlanar hull (Andrew’s monotone chain algorithm)South Africa’s medial axisTravelling salesperson approximation with t-SNEDistance to shoreWorkerngraph: pagerank, louvain…t-SNE VoronoiCloud ContoursCircular function drawingKruskal MazeMyceliumTravelling salesperson approximation on the globe, with t-SNEtsne.jstsne.js & worker
Also listed in…
Clustering
Hello
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Autoencoder = require('https://bundle.run/autoencoder@0.0.2')
Insert cell
data = require("@observablehq/iris").then(l =>
l.map(d =>
Object.assign([d.sepalLength, d.sepalWidth, d.petalLength, d.petalWidth], {
color: classify(d.species)
})
)
)
Insert cell
classify = d3.scaleOrdinal(d3.schemeAccent)
Insert cell
ae = {
replay;
const ae = new Autoencoder({
nInputs: data[0].length,
nHidden: 4,
scale: true,
activation
});
ae.fit(data, {
batchSize: 50,
iterations: 2000,
method,
stepSize: 0.05
});
return ae;
}
Insert cell
Y = ae.encode(data)
Insert cell
ae.decode(Y)
Insert cell
ae.predict(data) // same as decode(encode(data))
Insert cell
distances = ae
.predict(data)
.map((predicted, i) => Math.hypot(...predicted.map((d, j) => d - data[i][j])))
Insert cell
score = d3.quantile(distances, .9)
Insert cell
d3 = require("d3@6.0.0-rc.2")
Insert cell
import { select } from "@jashkenas/inputs"
Insert cell

Purpose-built for displays of data

Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.
Learn more