From efbc414e5f7adfdf1d5551bea7b71021f1dd3fa7 Mon Sep 17 00:00:00 2001 From: julien2512 Date: Sun, 29 Apr 2018 18:28:15 +0200 Subject: [PATCH 1/3] Add another regression sample : maximum --- index.html | 3 +++ package.json | 1 + src/dataset.ts | 18 ++++++++++++++++++ src/state.ts | 1 + 4 files changed, 23 insertions(+) diff --git a/index.html b/index.html index 759cf924..778720f8 100644 --- a/index.html +++ b/index.html @@ -163,6 +163,9 @@

+
+ +
diff --git a/package.json b/package.json index 213a39c6..ba6664b0 100644 --- a/package.json +++ b/package.json @@ -31,6 +31,7 @@ "http-server": "^0.9.0" }, "dependencies": { + "browserify": "^16.2.0", "catw": "^1.0.1", "d3": "^3.5.16", "material-design-lite": "^1.1.3", diff --git a/src/dataset.ts b/src/dataset.ts index b1d693af..37d253e3 100644 --- a/src/dataset.ts +++ b/src/dataset.ts @@ -70,6 +70,24 @@ export function classifyTwoGaussData(numSamples: number, noise: number): return points; } +export function regressMaximum(numSamples: number, noise: number): + Example2D[] { + let radius = 6; + let labelScale = d3.scale.linear() + .domain([-10, 10]) + .range([-1, 1]); + let getLabel = (x, y) => Math.max(x,y); + + let points: Example2D[] = []; + for (let i = 0; i < numSamples; i++) { + let x = randUniform(-radius, radius); + let y = randUniform(-radius, radius); + let label = getLabel(x , y); + points.push({x, y, label}); + } + return points; +} + export function regressPlane(numSamples: number, noise: number): Example2D[] { let radius = 6; diff --git a/src/state.ts b/src/state.ts index 42dc8154..223adb44 100644 --- a/src/state.ts +++ b/src/state.ts @@ -44,6 +44,7 @@ export let datasets: {[key: string]: dataset.DataGenerator} = { /** A map between dataset names and functions that generate regression data. */ export let regDatasets: {[key: string]: dataset.DataGenerator} = { + "reg-maximum": dataset.regressMaximum, "reg-plane": dataset.regressPlane, "reg-gauss": dataset.regressGaussian }; From 28d53062a4a37da3ae5da5b45e57397545735784 Mon Sep 17 00:00:00 2001 From: julien2512 Date: Sun, 29 Apr 2018 18:51:55 +0200 Subject: [PATCH 2/3] Adding new regression sample : regmax --- index.html | 3 +++ src/dataset.ts | 18 ++++++++++++++++++ src/state.ts | 1 + 3 files changed, 22 insertions(+) diff --git a/index.html b/index.html index 778720f8..4c701e5c 100644 --- a/index.html +++ b/index.html @@ -166,6 +166,9 @@

+
+ +
diff --git a/src/dataset.ts b/src/dataset.ts index 37d253e3..38152b1f 100644 --- a/src/dataset.ts +++ b/src/dataset.ts @@ -70,6 +70,24 @@ export function classifyTwoGaussData(numSamples: number, noise: number): return points; } +export function regressArgMax(numSamples: number, noise: number): + Example2D[] { + let radius = 6; + let labelScale = d3.scale.linear() + .domain([-10, 10]) + .range([-1, 1]); + let getLabel = (x, y) => Math.max(x,y)==x?0:1; + + let points: Example2D[] = []; + for (let i = 0; i < numSamples; i++) { + let x = randUniform(-radius, radius); + let y = randUniform(-radius, radius); + let label = getLabel(x , y); + points.push({x, y, label}); + } + return points; +} + export function regressMaximum(numSamples: number, noise: number): Example2D[] { let radius = 6; diff --git a/src/state.ts b/src/state.ts index 223adb44..ca23c8bc 100644 --- a/src/state.ts +++ b/src/state.ts @@ -45,6 +45,7 @@ export let datasets: {[key: string]: dataset.DataGenerator} = { /** A map between dataset names and functions that generate regression data. */ export let regDatasets: {[key: string]: dataset.DataGenerator} = { "reg-maximum": dataset.regressMaximum, + "reg-argmax": dataset.regressArgMax, "reg-plane": dataset.regressPlane, "reg-gauss": dataset.regressGaussian }; From e3c3561906e8652438eee04e814eb388ad8cb6d2 Mon Sep 17 00:00:00 2001 From: julien2512 Date: Sun, 29 Apr 2018 19:33:09 +0200 Subject: [PATCH 3/3] Thumbnails are no longer reversed top to bottom --- src/playground.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/playground.ts b/src/playground.ts index a61c72a1..07144c78 100644 --- a/src/playground.ts +++ b/src/playground.ts @@ -999,7 +999,7 @@ function drawDatasetThumbnails() { let data = dataGenerator(200, 0); data.forEach(function(d) { context.fillStyle = colorScale(d.label); - context.fillRect(w * (d.x + 6) / 12, h * (d.y + 6) / 12, 4, 4); + context.fillRect(w * (d.x + 6) / 12, h - h * (d.y + 6) / 12 - 4, 4, 4); }); d3.select(canvas.parentNode).style("display", null); }