@datagrok/eda 1.4.4 → 1.4.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +11 -0
- package/dist/111.js +2 -0
- package/dist/111.js.map +1 -0
- package/dist/128.js +2 -0
- package/dist/128.js.map +1 -0
- package/dist/153.js +2 -0
- package/dist/153.js.map +1 -0
- package/dist/23.js +2 -0
- package/dist/23.js.map +1 -0
- package/dist/234.js +2 -0
- package/dist/234.js.map +1 -0
- package/dist/242.js +2 -0
- package/dist/242.js.map +1 -0
- package/dist/260.js +2 -0
- package/dist/260.js.map +1 -0
- package/dist/33.js +2 -0
- package/dist/33.js.map +1 -0
- package/dist/348.js +2 -0
- package/dist/348.js.map +1 -0
- package/dist/377.js +2 -0
- package/dist/377.js.map +1 -0
- package/dist/412.js +2 -0
- package/dist/412.js.map +1 -0
- package/dist/415.js +2 -0
- package/dist/415.js.map +1 -0
- package/dist/501.js +2 -0
- package/dist/501.js.map +1 -0
- package/dist/531.js +2 -0
- package/dist/531.js.map +1 -0
- package/dist/583.js +2 -0
- package/dist/583.js.map +1 -0
- package/dist/589.js +2 -0
- package/dist/589.js.map +1 -0
- package/dist/603.js +2 -0
- package/dist/603.js.map +1 -0
- package/dist/656.js +2 -0
- package/dist/656.js.map +1 -0
- package/dist/682.js +2 -0
- package/dist/682.js.map +1 -0
- package/dist/705.js +2 -0
- package/dist/705.js.map +1 -0
- package/dist/727.js +2 -0
- package/dist/727.js.map +1 -0
- package/dist/731.js +2 -0
- package/dist/731.js.map +1 -0
- package/dist/738.js +3 -0
- package/dist/738.js.LICENSE.txt +51 -0
- package/dist/738.js.map +1 -0
- package/dist/763.js +2 -0
- package/dist/763.js.map +1 -0
- package/dist/778.js +2 -0
- package/dist/778.js.map +1 -0
- package/dist/783.js +2 -0
- package/dist/783.js.map +1 -0
- package/dist/793.js +2 -0
- package/dist/793.js.map +1 -0
- package/dist/801.js +2 -0
- package/dist/801.js.map +1 -0
- package/dist/810.js +2 -0
- package/dist/810.js.map +1 -0
- package/dist/860.js +2 -0
- package/dist/860.js.map +1 -0
- package/dist/907.js +2 -0
- package/dist/907.js.map +1 -0
- package/dist/950.js +2 -0
- package/dist/950.js.map +1 -0
- package/dist/980.js +2 -0
- package/dist/980.js.map +1 -0
- package/dist/990.js +2 -0
- package/dist/990.js.map +1 -0
- package/dist/package-test.js +1 -26140
- package/dist/package-test.js.map +1 -1
- package/dist/package.js +1 -30337
- package/dist/package.js.map +1 -1
- package/package.json +2 -2
- package/src/anova/anova-ui.ts +39 -24
- package/src/package-api.ts +4 -0
- package/src/package.g.ts +33 -32
- package/src/package.ts +2 -2
- package/test-console-output-1.log +72 -93
- package/test-record-1.mp4 +0 -0
- package/webpack.config.js +1 -1
- package/dist/_d4c0.js +0 -279
- package/dist/_d4c0.js.map +0 -1
- package/dist/node_modules_datagrok-libraries_math_src_dbscan_wasm_clustering-worker_js.js +0 -279
- package/dist/node_modules_datagrok-libraries_math_src_dbscan_wasm_clustering-worker_js.js.map +0 -1
- package/dist/node_modules_datagrok-libraries_ml_src_MCL_mcl-sparse-matrix-mult-worker_js.js +0 -59
- package/dist/node_modules_datagrok-libraries_ml_src_MCL_mcl-sparse-matrix-mult-worker_js.js.map +0 -1
- package/dist/node_modules_datagrok-libraries_ml_src_distance-matrix_distance-matrix-worker_js.js +0 -284
- package/dist/node_modules_datagrok-libraries_ml_src_distance-matrix_distance-matrix-worker_js.js.map +0 -1
- package/dist/node_modules_datagrok-libraries_ml_src_distance-matrix_single-value-knn-worker_js.js +0 -265
- package/dist/node_modules_datagrok-libraries_ml_src_distance-matrix_single-value-knn-worker_js.js.map +0 -1
- package/dist/node_modules_datagrok-libraries_ml_src_distance-matrix_sparse-matrix-worker_js.js +0 -287
- package/dist/node_modules_datagrok-libraries_ml_src_distance-matrix_sparse-matrix-worker_js.js.map +0 -1
- package/dist/src_workers_softmax-worker_ts.js +0 -154
- package/dist/src_workers_softmax-worker_ts.js.map +0 -1
- package/dist/src_workers_tsne-worker_ts.js +0 -244
- package/dist/src_workers_tsne-worker_ts.js.map +0 -1
- package/dist/src_workers_umap-worker_ts.js +0 -252
- package/dist/src_workers_umap-worker_ts.js.map +0 -1
- package/dist/vendors-node_modules_datagrok-libraries_math_src_dbscan_wasm_dbscan_js.js +0 -1253
- package/dist/vendors-node_modules_datagrok-libraries_math_src_dbscan_wasm_dbscan_js.js.map +0 -1
- package/dist/vendors-node_modules_datagrok-libraries_math_src_hierarchical-clustering_wasm_clustering-worker_js.js +0 -942
- package/dist/vendors-node_modules_datagrok-libraries_math_src_hierarchical-clustering_wasm_clustering-worker_js.js.map +0 -1
- package/dist/vendors-node_modules_datagrok-libraries_math_src_webGPU_sparse-matrix_webGPU-sparse-matrix_js-07693f.js +0 -1525
- package/dist/vendors-node_modules_datagrok-libraries_math_src_webGPU_sparse-matrix_webGPU-sparse-matrix_js-07693f.js.map +0 -1
- package/dist/vendors-node_modules_datagrok-libraries_ml_src_MCL_mcl-worker_js-node_modules_datagrok-librar-e4203d.js +0 -2244
- package/dist/vendors-node_modules_datagrok-libraries_ml_src_MCL_mcl-worker_js-node_modules_datagrok-librar-e4203d.js.map +0 -1
- package/dist/vendors-node_modules_datagrok-libraries_ml_src_distance-matrix_knn-threshold-worker_js.js +0 -286
- package/dist/vendors-node_modules_datagrok-libraries_ml_src_distance-matrix_knn-threshold-worker_js.js.map +0 -1
- package/dist/vendors-node_modules_datagrok-libraries_ml_src_distance-matrix_knn-worker_js.js +0 -280
- package/dist/vendors-node_modules_datagrok-libraries_ml_src_distance-matrix_knn-worker_js.js.map +0 -1
- package/dist/vendors-node_modules_datagrok-libraries_ml_src_distance-matrix_sparse-matrix-threshold-worker_js.js +0 -282
- package/dist/vendors-node_modules_datagrok-libraries_ml_src_distance-matrix_sparse-matrix-threshold-worker_js.js.map +0 -1
- package/dist/vendors-node_modules_datagrok-libraries_ml_src_distance-matrix_utils_js-node_modules_datagrok-72c7b2.js +0 -1821
- package/dist/vendors-node_modules_datagrok-libraries_ml_src_distance-matrix_utils_js-node_modules_datagrok-72c7b2.js.map +0 -1
- package/dist/vendors-node_modules_datagrok-libraries_ml_src_multi-column-dimensionality-reduction_mulit-co-3800a0.js +0 -7776
- package/dist/vendors-node_modules_datagrok-libraries_ml_src_multi-column-dimensionality-reduction_mulit-co-3800a0.js.map +0 -1
- package/dist/vendors-node_modules_keckelt_tsne_lib_index_js.js +0 -379
- package/dist/vendors-node_modules_keckelt_tsne_lib_index_js.js.map +0 -1
- package/dist/vendors-node_modules_ml-matrix_matrix_mjs.js +0 -5946
- package/dist/vendors-node_modules_ml-matrix_matrix_mjs.js.map +0 -1
- package/dist/vendors-node_modules_umap-js_dist_index_js.js +0 -2284
- package/dist/vendors-node_modules_umap-js_dist_index_js.js.map +0 -1
- package/dist/wasm_EDAForWebWorker_js-wasm_callWasmForWebWorker_js.js +0 -779
- package/dist/wasm_EDAForWebWorker_js-wasm_callWasmForWebWorker_js.js.map +0 -1
- package/dist/wasm_workers_errorWorker_js.js +0 -267
- package/dist/wasm_workers_errorWorker_js.js.map +0 -1
- package/dist/wasm_workers_fitLinearRegressionParamsWithDataNormalizingWorker_js.js +0 -267
- package/dist/wasm_workers_fitLinearRegressionParamsWithDataNormalizingWorker_js.js.map +0 -1
- package/dist/wasm_workers_fitLinearRegressionParamsWorker_js.js +0 -267
- package/dist/wasm_workers_fitLinearRegressionParamsWorker_js.js.map +0 -1
- package/dist/wasm_workers_fitSoftmaxWorker_js.js +0 -267
- package/dist/wasm_workers_fitSoftmaxWorker_js.js.map +0 -1
- package/dist/wasm_workers_generateDatasetWorker_js.js +0 -267
- package/dist/wasm_workers_generateDatasetWorker_js.js.map +0 -1
- package/dist/wasm_workers_normalizeDatasetWorker_js.js +0 -267
- package/dist/wasm_workers_normalizeDatasetWorker_js.js.map +0 -1
- package/dist/wasm_workers_partialLeastSquareRegressionWorker_js.js +0 -267
- package/dist/wasm_workers_partialLeastSquareRegressionWorker_js.js.map +0 -1
- package/dist/wasm_workers_predictByLSSVMWorker_js.js +0 -267
- package/dist/wasm_workers_predictByLSSVMWorker_js.js.map +0 -1
- package/dist/wasm_workers_principalComponentAnalysisNipalsWorker_js.js +0 -267
- package/dist/wasm_workers_principalComponentAnalysisNipalsWorker_js.js.map +0 -1
- package/dist/wasm_workers_principalComponentAnalysisWorkerUpd_js.js +0 -271
- package/dist/wasm_workers_principalComponentAnalysisWorkerUpd_js.js.map +0 -1
- package/dist/wasm_workers_trainAndAnalyzeLSSVMWorker_js.js +0 -267
- package/dist/wasm_workers_trainAndAnalyzeLSSVMWorker_js.js.map +0 -1
- package/dist/wasm_workers_trainLSSVMWorker_js.js +0 -267
- package/dist/wasm_workers_trainLSSVMWorker_js.js.map +0 -1
- package/dist/wasm_workers_xgboostWorker_js.js +0 -279
- package/dist/wasm_workers_xgboostWorker_js.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@datagrok/eda",
|
|
3
3
|
"friendlyName": "EDA",
|
|
4
|
-
"version": "1.4.
|
|
4
|
+
"version": "1.4.6",
|
|
5
5
|
"description": "Exploratory Data Analysis Tools",
|
|
6
6
|
"dependencies": {
|
|
7
7
|
"@datagrok-libraries/math": "^1.2.6",
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
"@typescript-eslint/eslint-plugin": "^5.32.0",
|
|
27
27
|
"@typescript-eslint/parser": "^5.32.0",
|
|
28
28
|
"css-loader": "^7.1.2",
|
|
29
|
-
"datagrok-tools": "^4.14.
|
|
29
|
+
"datagrok-tools": "^4.14.55",
|
|
30
30
|
"eslint": "^8.21.0",
|
|
31
31
|
"eslint-config-google": "^0.14.0",
|
|
32
32
|
"style-loader": "^4.0.0",
|
package/src/anova/anova-ui.ts
CHANGED
|
@@ -27,31 +27,36 @@ enum DEFAULT {
|
|
|
27
27
|
};
|
|
28
28
|
|
|
29
29
|
/** Add one-way ANOVA results */
|
|
30
|
-
function addVizualization(df: DG.DataFrame, factorsName: string, featuresName: string, report: OneWayAnovaReport) {
|
|
30
|
+
function addVizualization(df: DG.DataFrame, factorsName: string, featuresName: string, report: OneWayAnovaReport): void {
|
|
31
|
+
const view = grok.shell.getTableView(df.name);
|
|
32
|
+
grok.shell.v = view;
|
|
33
|
+
|
|
31
34
|
const test = report.anovaTable.fStat > report.fCritical;
|
|
32
|
-
|
|
33
35
|
const shortConclusion = test ?
|
|
34
36
|
`"${factorsName}" affects the "${featuresName}"` :
|
|
35
37
|
`"${factorsName}" doesn't affect the "${featuresName}"`;
|
|
36
38
|
|
|
37
|
-
const
|
|
38
|
-
const boxPlot = DG.Viewer.boxPlot(df, {
|
|
39
|
+
const chart = DG.Viewer.boxPlot(df, {
|
|
39
40
|
categoryColumnNames: [factorsName],
|
|
40
41
|
valueColumnName: featuresName,
|
|
41
42
|
showPValue: false,
|
|
42
43
|
showStatistics: false,
|
|
43
44
|
description: shortConclusion,
|
|
44
45
|
showColorSelector: false,
|
|
46
|
+
autoLayout: false,
|
|
45
47
|
});
|
|
46
|
-
const boxPlotNode = view.dockManager.dock(boxPlot.root, DG.DOCK_TYPE.RIGHT, null, 'ANOVA');
|
|
47
48
|
|
|
48
|
-
|
|
49
|
-
factor does not produce a significant difference in the "${featuresName}" feature.`);
|
|
50
|
-
ui.tooltip.bind(hypoMd, 'Null hypothesis');
|
|
49
|
+
let node = view.dockManager.dock(chart, DG.DOCK_TYPE.RIGHT, null, 'ANOVA');
|
|
51
50
|
|
|
52
|
-
const
|
|
53
|
-
|
|
54
|
-
|
|
51
|
+
const nullHypoMd = ui.markdown(`**Null Hypothesis:** all group means are equal.`);
|
|
52
|
+
ui.tooltip.bind(nullHypoMd, `The "${factorsName}" factor does not produce a significant difference in the "${featuresName}" feature.`);
|
|
53
|
+
|
|
54
|
+
const altHypoMd = ui.markdown(`**Alternative Hypothesis:** at least one group mean differs significantly.`);
|
|
55
|
+
ui.tooltip.bind(altHypoMd, `The "${factorsName}" factor produces a significant difference in the "${featuresName}" feature.`);
|
|
56
|
+
|
|
57
|
+
const testMd = ui.markdown(`**Conclusion:** ${test ?
|
|
58
|
+
'significant differences exist between groups.' :
|
|
59
|
+
'no significant differences detected.'}`,
|
|
55
60
|
);
|
|
56
61
|
|
|
57
62
|
const tooltipDiv = test ?
|
|
@@ -69,20 +74,30 @@ function addVizualization(df: DG.DataFrame, factorsName: string, featuresName: s
|
|
|
69
74
|
ui.tooltip.bind(testMd, () => tooltipDiv);
|
|
70
75
|
|
|
71
76
|
const divResult = ui.divV([
|
|
72
|
-
|
|
77
|
+
nullHypoMd,
|
|
78
|
+
altHypoMd,
|
|
73
79
|
testMd,
|
|
74
80
|
ui.link('Learn more',
|
|
75
81
|
() => window.open('https://en.wikipedia.org/wiki/F-test', '_blank'),
|
|
76
|
-
'Click to open in a new tab',
|
|
82
|
+
'Click to open in a new tab.',
|
|
77
83
|
),
|
|
78
84
|
]);
|
|
79
85
|
divResult.style.marginLeft = '20px';
|
|
80
86
|
|
|
81
|
-
const
|
|
87
|
+
const reportViewer = getAnovaGrid(report);
|
|
88
|
+
const tabControl = ui.tabControl({
|
|
89
|
+
'Analysis': ui.panel([reportViewer.root]),
|
|
90
|
+
'F-test': ui.panel([divResult]),
|
|
91
|
+
});
|
|
82
92
|
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
93
|
+
ui.tooltip.bind(tabControl.getPane('Analysis').header, 'ANOVA results summary.');
|
|
94
|
+
ui.tooltip.bind(tabControl.getPane('F-test').header, 'Null hypothesis testing.');
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
view.dockManager.dock(tabControl.root, DG.DOCK_TYPE.DOWN, node, '', 0.25);
|
|
98
|
+
|
|
99
|
+
reportViewer.root.style.width = '100%';
|
|
100
|
+
} // addVizualization
|
|
86
101
|
|
|
87
102
|
/** Create dataframe with one-way ANOVA results. */
|
|
88
103
|
function getAnovaGrid(report: OneWayAnovaReport): DG.Grid {
|
|
@@ -99,13 +114,13 @@ function getAnovaGrid(report: OneWayAnovaReport): DG.Grid {
|
|
|
99
114
|
]));
|
|
100
115
|
|
|
101
116
|
const tooltip = new Map([
|
|
102
|
-
['Source of variance', 'List of the explored variation sources'],
|
|
103
|
-
['SS', 'Sum of squares (SS)'],
|
|
104
|
-
['DF', 'Degrees of freedom (DF)'],
|
|
105
|
-
['MS', 'Mean square (MS)'],
|
|
106
|
-
['F', 'F-statistics (F)'],
|
|
107
|
-
['F-critical', `${report.significance}-critical value of F-statistics
|
|
108
|
-
['p-value', `Probability
|
|
117
|
+
['Source of variance', 'List of the explored variation sources.'],
|
|
118
|
+
['SS', 'Sum of squares (SS). Measure of total variation in the data.'],
|
|
119
|
+
['DF', 'Degrees of freedom (DF). Number of independent values that can vary.'],
|
|
120
|
+
['MS', 'Mean square (MS). Sum of squares divided by degrees of freedom.'],
|
|
121
|
+
['F', 'F-statistics (F). Ratio of between-group to within-group variance.'],
|
|
122
|
+
['F-critical', `${report.significance}-critical value of F-statistics.`],
|
|
123
|
+
['p-value', `Probability of observing this result if groups have equal means.`],
|
|
109
124
|
]);
|
|
110
125
|
|
|
111
126
|
grid.onCellTooltip(function(cell, x, y) {
|
package/src/package-api.ts
CHANGED
|
@@ -8,6 +8,10 @@ import * as DG from 'datagrok-api/dg';
|
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
export namespace funcs {
|
|
11
|
+
export async function info(): Promise<void> {
|
|
12
|
+
return await grok.functions.call('EDA:Info', {});
|
|
13
|
+
}
|
|
14
|
+
|
|
11
15
|
export async function init(): Promise<void> {
|
|
12
16
|
return await grok.functions.call('EDA:Init', {});
|
|
13
17
|
}
|
package/src/package.g.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import {PackageFunctions} from './package';
|
|
2
2
|
import * as DG from 'datagrok-api/dg';
|
|
3
3
|
|
|
4
|
+
//name: info
|
|
4
5
|
export function info() : void {
|
|
5
6
|
PackageFunctions.info();
|
|
6
7
|
}
|
|
@@ -15,8 +16,8 @@ export async function init() : Promise<void> {
|
|
|
15
16
|
//input: dataframe df
|
|
16
17
|
//input: column xCol { type: numerical }
|
|
17
18
|
//input: column yCol { type: numerical }
|
|
18
|
-
//input: double epsilon { caption: Epsilon;
|
|
19
|
-
//input: int minPts { caption: Minimum points;
|
|
19
|
+
//input: double epsilon = 0.02 { caption: Epsilon; description: The maximum distance between two samples for them to be considered as in the same neighborhood. }
|
|
20
|
+
//input: int minPts = 4 { caption: Minimum points; description: The number of samples (or total weight) in a neighborhood for a point to be considered as a core point. }
|
|
20
21
|
//output: column result
|
|
21
22
|
//top-menu: ML | Cluster | DBSCAN...
|
|
22
23
|
export async function dbScan(df: DG.DataFrame, xCol: DG.Column, yCol: DG.Column, epsilon: number, minPts: number) : Promise<any> {
|
|
@@ -26,9 +27,9 @@ export async function dbScan(df: DG.DataFrame, xCol: DG.Column, yCol: DG.Column,
|
|
|
26
27
|
//description: Principal component analysis (PCA)
|
|
27
28
|
//input: dataframe table { caption: Table }
|
|
28
29
|
//input: column_list features { type: numerical; nullable: false }
|
|
29
|
-
//input: int components { showPlusMinus: true; caption: Components; nullable: false; min: 1;
|
|
30
|
-
//input: bool center { caption: Center;
|
|
31
|
-
//input: bool scale { caption: Scale;
|
|
30
|
+
//input: int components = 2 { showPlusMinus: true; caption: Components; nullable: false; min: 1; description: Number of components. }
|
|
31
|
+
//input: bool center = false { caption: Center; description: Indicating whether the variables should be shifted to be zero centered. }
|
|
32
|
+
//input: bool scale = false { caption: Scale; description: Indicating whether the variables should be scaled to have unit variance. }
|
|
32
33
|
//top-menu: ML | Analyze | PCA...
|
|
33
34
|
//help-url: /help/explore/dim-reduction#pca
|
|
34
35
|
export async function PCA(table: DG.DataFrame, features: DG.ColumnList, components: number, center: boolean, scale: boolean) : Promise<void> {
|
|
@@ -39,8 +40,8 @@ export async function PCA(table: DG.DataFrame, features: DG.ColumnList, componen
|
|
|
39
40
|
//tags: dim-red-postprocessing-function
|
|
40
41
|
//input: column col1
|
|
41
42
|
//input: column col2
|
|
42
|
-
//input: double epsilon
|
|
43
|
-
//input: int minimumPoints
|
|
43
|
+
//input: double epsilon = 0.01 { description: Minimum distance between two points to be considered as in the same neighborhood. }
|
|
44
|
+
//input: int minimumPoints = 5 { description: Minimum number of points to form a dense region. }
|
|
44
45
|
//meta.defaultPostProcessingFunction: true
|
|
45
46
|
export async function dbscanPostProcessingFunction(col1: DG.Column, col2: DG.Column, epsilon: number, minimumPoints: number) : Promise<void> {
|
|
46
47
|
await PackageFunctions.dbscanPostProcessingFunction(col1, col2, epsilon, minimumPoints);
|
|
@@ -88,11 +89,11 @@ export function GetMCLEditor(call: DG.FuncCall) : void {
|
|
|
88
89
|
//input: string aggregationMethod
|
|
89
90
|
//input: list<func> preprocessingFuncs
|
|
90
91
|
//input: object preprocessingFuncArgs
|
|
91
|
-
//input: int threshold
|
|
92
|
-
//input: int maxIterations
|
|
93
|
-
//input: bool useWebGPU
|
|
94
|
-
//input: double inflate
|
|
95
|
-
//input: int minClusterSize
|
|
92
|
+
//input: int threshold = 80
|
|
93
|
+
//input: int maxIterations = 10
|
|
94
|
+
//input: bool useWebGPU = false
|
|
95
|
+
//input: double inflate = 2
|
|
96
|
+
//input: int minClusterSize = 5
|
|
96
97
|
//top-menu: ML | Cluster | MCL...
|
|
97
98
|
//editor: EDA:GetMCLEditor
|
|
98
99
|
export async function MCLClustering(df: DG.DataFrame, cols: DG.Column[], metrics: any, weights: number[], aggregationMethod: any, preprocessingFuncs: any[], preprocessingFuncArgs: any[], threshold: number, maxIterations: number, useWebGPU: boolean, inflate: number, minClusterSize: number) : Promise<any> {
|
|
@@ -111,7 +112,7 @@ export function markovClusteringViewer() : any {
|
|
|
111
112
|
//input: dataframe table
|
|
112
113
|
//input: column_list features { type: numerical }
|
|
113
114
|
//input: column predict { type: numerical }
|
|
114
|
-
//input: int components
|
|
115
|
+
//input: int components = 3
|
|
115
116
|
//input: column names { type: string }
|
|
116
117
|
//output: object plsResults
|
|
117
118
|
export async function PLS(table: DG.DataFrame, features: DG.ColumnList, predict: DG.Column, components: number, names: DG.Column) : Promise<any> {
|
|
@@ -140,7 +141,7 @@ export async function demoMultivariateAnalysis() : Promise<void> {
|
|
|
140
141
|
|
|
141
142
|
//input: dataframe df
|
|
142
143
|
//input: column predictColumn
|
|
143
|
-
//input: double gamma { category: Hyperparameters
|
|
144
|
+
//input: double gamma = 1.0 { category: Hyperparameters }
|
|
144
145
|
//output: dynamic result
|
|
145
146
|
//meta.mlname: linear kernel LS-SVM
|
|
146
147
|
//meta.mlrole: train
|
|
@@ -188,8 +189,8 @@ export async function visualizeLinearKernelSVM(df: DG.DataFrame, targetColumn: D
|
|
|
188
189
|
|
|
189
190
|
//input: dataframe df
|
|
190
191
|
//input: column predictColumn
|
|
191
|
-
//input: double gamma { category: Hyperparameters
|
|
192
|
-
//input: double sigma { category: Hyperparameters
|
|
192
|
+
//input: double gamma = 1.0 { category: Hyperparameters }
|
|
193
|
+
//input: double sigma = 1.5 { category: Hyperparameters }
|
|
193
194
|
//output: dynamic result
|
|
194
195
|
//meta.mlname: RBF-kernel LS-SVM
|
|
195
196
|
//meta.mlrole: train
|
|
@@ -237,9 +238,9 @@ export async function visualizeRBFkernelSVM(df: DG.DataFrame, targetColumn: DG.C
|
|
|
237
238
|
|
|
238
239
|
//input: dataframe df
|
|
239
240
|
//input: column predictColumn
|
|
240
|
-
//input: double gamma { category: Hyperparameters
|
|
241
|
-
//input: double c { category: Hyperparameters
|
|
242
|
-
//input: double d { category: Hyperparameters
|
|
241
|
+
//input: double gamma = 1.0 { category: Hyperparameters }
|
|
242
|
+
//input: double c = 1 { category: Hyperparameters }
|
|
243
|
+
//input: double d = 2 { category: Hyperparameters }
|
|
243
244
|
//output: dynamic result
|
|
244
245
|
//meta.mlname: polynomial kernel LS-SVM
|
|
245
246
|
//meta.mlrole: train
|
|
@@ -287,9 +288,9 @@ export async function visualizePolynomialKernelSVM(df: DG.DataFrame, targetColum
|
|
|
287
288
|
|
|
288
289
|
//input: dataframe df
|
|
289
290
|
//input: column predictColumn
|
|
290
|
-
//input: double gamma { category: Hyperparameters
|
|
291
|
-
//input: double kappa { category: Hyperparameters
|
|
292
|
-
//input: double theta { category: Hyperparameters
|
|
291
|
+
//input: double gamma = 1.0 { category: Hyperparameters }
|
|
292
|
+
//input: double kappa = 1 { category: Hyperparameters }
|
|
293
|
+
//input: double theta = 1 { category: Hyperparameters }
|
|
293
294
|
//output: dynamic result
|
|
294
295
|
//meta.mlname: sigmoid kernel LS-SVM
|
|
295
296
|
//meta.mlrole: train
|
|
@@ -394,10 +395,10 @@ export function isInteractiveLinearRegression(df: DG.DataFrame, predictColumn: D
|
|
|
394
395
|
|
|
395
396
|
//input: dataframe df
|
|
396
397
|
//input: column predictColumn
|
|
397
|
-
//input: double rate { category: Hyperparameters;
|
|
398
|
-
//input: double iterations { category: Hyperparameters;
|
|
399
|
-
//input: double penalty { category: Hyperparameters;
|
|
400
|
-
//input: double tolerance { category: Hyperparameters;
|
|
398
|
+
//input: double rate = 1.0 { category: Hyperparameters; min: 0.001; max: 20; description: Learning rate. }
|
|
399
|
+
//input: double iterations = 100 { category: Hyperparameters; min: 1; max: 10000; step: 10; description: Fitting iterations count }
|
|
400
|
+
//input: double penalty = 0.1 { category: Hyperparameters; min: 0.0001; max: 1; description: Regularization rate. }
|
|
401
|
+
//input: double tolerance = 0.001 { category: Hyperparameters; min: 0.00001; max: 0.1; description: Fitting tolerance. }
|
|
401
402
|
//output: dynamic model
|
|
402
403
|
//meta.mlname: Softmax
|
|
403
404
|
//meta.mlrole: train
|
|
@@ -434,7 +435,7 @@ export function isInteractiveSoftmax(df: DG.DataFrame, predictColumn: DG.Column)
|
|
|
434
435
|
|
|
435
436
|
//input: dataframe df
|
|
436
437
|
//input: column predictColumn
|
|
437
|
-
//input: int components { min: 1; max: 10;
|
|
438
|
+
//input: int components = 3 { min: 1; max: 10; description: Number of latent components. }
|
|
438
439
|
//output: dynamic model
|
|
439
440
|
//meta.mlname: PLS Regression
|
|
440
441
|
//meta.mlrole: train
|
|
@@ -482,11 +483,11 @@ export function isInteractivePLSRegression(df: DG.DataFrame, predictColumn: DG.C
|
|
|
482
483
|
|
|
483
484
|
//input: dataframe df
|
|
484
485
|
//input: column predictColumn
|
|
485
|
-
//input: int iterations { min: 1; max: 100;
|
|
486
|
-
//input: double eta { caption: Rate; min: 0; max: 1;
|
|
487
|
-
//input: int maxDepth { min: 0; max: 20;
|
|
488
|
-
//input: double lambda { min: 0; max: 100;
|
|
489
|
-
//input: double alpha { min: 0; max: 100;
|
|
486
|
+
//input: int iterations = 20 { min: 1; max: 100; description: Number of training iterations. }
|
|
487
|
+
//input: double eta = 0.3 { caption: Rate; min: 0; max: 1; description: Learning rate. }
|
|
488
|
+
//input: int maxDepth = 6 { min: 0; max: 20; description: Maximum depth of a tree. }
|
|
489
|
+
//input: double lambda = 1 { min: 0; max: 100; description: L2 regularization term. }
|
|
490
|
+
//input: double alpha = 0 { min: 0; max: 100; description: L1 regularization term. }
|
|
490
491
|
//output: dynamic model
|
|
491
492
|
//meta.mlname: XGBoost
|
|
492
493
|
//meta.mlrole: train
|
package/src/package.ts
CHANGED
|
@@ -65,8 +65,8 @@ export class PackageFunctions {
|
|
|
65
65
|
})
|
|
66
66
|
static async dbScan(
|
|
67
67
|
df: DG.DataFrame,
|
|
68
|
-
@grok.decorators.param({'options':{'type':'numerical'}}) xCol: DG.Column,
|
|
69
|
-
@grok.decorators.param({'options':{'type':'numerical'}}) yCol: DG.Column,
|
|
68
|
+
@grok.decorators.param({type: 'column', 'options':{'type':'numerical'}}) xCol: DG.Column,
|
|
69
|
+
@grok.decorators.param({type: 'column', 'options':{'type':'numerical'}}) yCol: DG.Column,
|
|
70
70
|
@grok.decorators.param({'options':{'caption':'Epsilon','initialValue':'0.02', description: 'The maximum distance between two samples for them to be considered as in the same neighborhood.'}}) epsilon: number,
|
|
71
71
|
@grok.decorators.param({'type':'int','options':{'caption':'Minimum points','initialValue':'4', description: 'The number of samples (or total weight) in a neighborhood for a point to be considered as a core point.'}}) minPts: number) : Promise<DG.Column> {
|
|
72
72
|
|