|
1 | 1 | import LaplacianEigenmaps from '../../lib/model/laplacian_eigenmaps.js' |
2 | 2 | import Controller from '../controller.js' |
3 | 3 |
|
4 | | -var dispLE = function (elm, platform) { |
| 4 | +export default function (platform) { |
| 5 | + platform.setting.ml.usage = 'Click and add data point. Next, click "Fit" button.' |
5 | 6 | const controller = new Controller(platform) |
6 | 7 |
|
7 | | - const method = controller |
8 | | - .select({ |
9 | | - values: ['rbf', 'knn'], |
10 | | - name: 'method', |
11 | | - }) |
12 | | - .on('change', () => { |
13 | | - const value = method.value |
14 | | - paramSpan.selectAll('*').style('display', 'none') |
15 | | - paramSpan.selectAll(`.${value}`).style('display', 'inline') |
16 | | - }) |
17 | | - const paramSpan = elm.append('span') |
18 | | - paramSpan.append('span').classed('rbf', true).text('s =') |
19 | | - paramSpan |
20 | | - .append('input') |
21 | | - .attr('type', 'number') |
22 | | - .attr('name', 'sigma') |
23 | | - .classed('rbf', true) |
24 | | - .attr('min', 0.01) |
25 | | - .attr('max', 100) |
26 | | - .attr('step', 0.01) |
27 | | - .property('value', 1) |
28 | | - const k = controller.input.number({ |
29 | | - label: 'k =', |
30 | | - name: 'k_nearest', |
31 | | - min: 1, |
32 | | - max: 100, |
33 | | - value: 10, |
| 8 | + const method = controller.select({ values: ['rbf', 'knn'], name: 'method' }).on('change', () => { |
| 9 | + const value = method.value |
| 10 | + paramSpan.selectAll('*').style('display', 'none') |
| 11 | + paramSpan.selectAll(`.${value}`).style('display', 'inline') |
34 | 12 | }) |
| 13 | + const paramSpan = controller.span() |
| 14 | + paramSpan.element.classList.add('rbf') |
| 15 | + const sigma = paramSpan.input.number({ label: 's =', min: 0.01, max: 100, step: 0.01, value: 1 }) |
| 16 | + const k = controller.input.number({ label: 'k =', name: 'k_nearest', min: 1, max: 100, value: 10 }) |
35 | 17 | controller.input.button('Fit').on('click', () => { |
36 | | - const sigma = +paramSpan.select('[name=sigma]').property('value') |
37 | 18 | const dim = platform.dimension |
38 | | - const model = new LaplacianEigenmaps(method.value, k.value, sigma) |
39 | | - const pred = model.predict(platform.trainInput, dim) |
| 19 | + const model = new LaplacianEigenmaps(dim, method.value, k.value, sigma.value) |
| 20 | + const pred = model.predict(platform.trainInput) |
40 | 21 | platform.trainResult = pred |
41 | 22 | }) |
42 | 23 | } |
43 | | - |
44 | | -export default function (platform) { |
45 | | - platform.setting.ml.usage = 'Click and add data point. Next, click "Fit" button.' |
46 | | - dispLE(platform.setting.ml.configElement, platform) |
47 | | -} |
0 commit comments