Published
Edited
Aug 2, 2020
5 stars
Hello, A5Hello, PGLiteINSEE ParquetHello, apcachDruidJS workerHello, OrbitWord Tour: 40k words and their friendsHello, spectral.jsHello, petite-vueHello, @thi.ng/grid-iteratorsHello, thumbhashHello, SwissGLHello, QOI (and glitches)Hello, orbHello, cosmographHello, TabulatorUsing d3.blur with PlotMath.cbrtHello debounceColorcetHello, gliiHello, Open MeteoHello, PyWaveletsHello, typesenseHello, libgifHello, kmeans-engineHappy anniversary, Project Gutenberg!Hello, fflateHello, ArchieML!Hello, d3-bboxCollideHello, jsgeoda!Hello, EDTF!Hello, protovis!Hello, placekeyHello, fuse.jsHello, Reorder.jsHello, shadow DOMjszipHello, procedural-glHello, qhullHello, genetic-jsDruidJSHello, Tippy.jsHello, paintWorkletBig π
Hello, Autoencoder
Hello, Shakespearean UUIDsHello, ccwt.jsHello, constrainautorHello, talismanHello, polygon-offsetHello p-queueHello async-poolHello rollup-plugin-asciiHello, algebra.jsHello, pixi.jsHello, d3-renderHello zip/unzipCumulative Wikipedia DonationsHTML <details>regl textureHello, npyjsHello protobufHello, pencil touchHello, LOESSHello html2canvaslegra mapscolor2cssHello, ecsy2D point distributionsHello, delatinThe gpu.js loopDijkstra’s shortest-path treeHello nojacko/Dijkstras-jsHello, tcort/dijkstrajsHello, lambdabaa/dijkstraHello, gpu.js v2Hello jsqrHello qrcodeHello SharedArrayBufferHello GamePad APIHello vtk.jsHello nd4jsHello BiofabricTravelling with a self-organizing mapHello glitchHello UMAP-jsHello pandemoniumHello iocaneHello JSON-editorHello d3-griddingHello mljs/knnWorkerHello lalolibImage to GPU.jsImage to blink.jsTissot's indicatrixVega projectionsHello WebCLGLUsing d3-inertia with observableVideo contouring 3ngraph: pagerank, louvain…Union-FindPerceptron (simple statistics)mljsHello h3-jsEmoji FlagsHello, poisson-disk-sampling
Also listed in…
Clustering
Algorithms
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