@datagrok/eda 1.4.10 → 1.4.12
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 +22 -0
- package/README.md +10 -0
- package/css/pareto.css +5 -0
- package/css/pmpo.css +26 -0
- package/dist/package-test.js.map +1 -1
- package/dist/package.js +1 -1
- package/dist/package.js.map +1 -1
- package/eslintrc.json +46 -0
- package/files/drugs-props-test.csv +126 -0
- package/files/drugs-props-train.csv +664 -0
- package/files/mpo-done.ipynb +2123 -0
- package/icons/pareto-front-viewer.svg +15 -0
- package/package.json +3 -1
- package/src/anova/anova-tools.ts +1 -1
- package/src/anova/anova-ui.ts +1 -1
- package/src/package-api.ts +28 -0
- package/src/package.g.ts +33 -4
- package/src/package.ts +261 -253
- package/src/pareto-optimization/defs.ts +45 -0
- package/src/pareto-optimization/pareto-computations.ts +65 -0
- package/src/pareto-optimization/pareto-front-viewer.ts +490 -0
- package/src/pareto-optimization/pareto-optimizer.ts +272 -0
- package/src/pareto-optimization/utils.ts +41 -0
- package/src/probabilistic-scoring/pmpo-defs.ts +108 -0
- package/src/probabilistic-scoring/pmpo-utils.ts +580 -0
- package/src/probabilistic-scoring/prob-scoring.ts +637 -0
- package/src/probabilistic-scoring/stat-tools.ts +168 -0
- package/src/softmax-classifier.ts +1 -1
- package/test-console-output-1.log +70 -50
- package/test-record-1.mp4 +0 -0
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
<svg width="36" height="36" viewBox="0 0 36 36" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<line stroke-linecap="undefined" stroke-linejoin="undefined" id="svg_14" y2="33" x2="4" y1="3" x1="4" stroke="#666666" fill="none"/>
|
|
3
|
+
<line stroke="#666666" stroke-linecap="undefined" stroke-linejoin="undefined" id="svg_15" y2="33" x2="32" y1="33" x1="4" fill="none"/>
|
|
4
|
+
<ellipse ry="2" rx="2" id="svg_75" cy="18" cx="9" stroke="#b2b2b2" fill="#e5e5e5"/>
|
|
5
|
+
<ellipse ry="2" rx="2" id="svg_76" cy="27" cx="11" stroke="#b2b2b2" fill="#e5e5e5"/>
|
|
6
|
+
<ellipse ry="2" rx="2" id="svg_77" cy="21" cx="17" stroke="#b2b2b2" fill="#e5e5e5"/>
|
|
7
|
+
<ellipse ry="2" rx="2" id="svg_81" cy="27" cx="21" stroke="#b2b2b2" fill="#e5e5e5"/>
|
|
8
|
+
<ellipse ry="2" rx="2" id="svg_85" cy="9" cx="9" stroke="#00bf00" fill="#aaffaa"/>
|
|
9
|
+
<ellipse ry="2" rx="2" id="svg_87" cy="13" cx="18" stroke="#00bf00" fill="#aaffaa"/>
|
|
10
|
+
<ellipse ry="2" rx="2" id="svg_88" cy="19" cx="25" stroke="#00bf00" fill="#aaffaa"/>
|
|
11
|
+
<ellipse ry="2" rx="2" id="svg_89" cy="28" cx="29" stroke="#00bf00" fill="#aaffaa"/>
|
|
12
|
+
<path id="svg_92" d="m-13.10396,3.53545l0.19963,-0.34574l0.34574,-0.19963l0.39926,0l0.34574,0.19963l0.19963,0.34574l0,0.39926l-0.19963,0.34574l-0.34574,0.19963l-0.39926,0l-0.34574,-0.19963l-0.19963,-0.34574l0,-0.39926z" stroke="#00bf00" fill="none"/>
|
|
13
|
+
<path id="svg_93" d="m-19.82017,1.91858l0.19963,-0.34574l0.34574,-0.19963l0.39926,0l0.34574,0.19963l0.19963,0.34574l0,0.39926l-0.19963,0.34574l-0.34574,0.19963l-0.39926,0l-0.34574,-0.19963l-0.19963,-0.34574l0,-0.39926z" stroke="#00bf00" fill="none"/>
|
|
14
|
+
<path id="svg_94" d="m17.119,45.07648l0.19963,-0.34574l0.34574,-0.19963l0.39926,0l0.34574,0.19963l0.19963,0.34574l0,0.39926l-0.19963,0.34574l-0.34574,0.19963l-0.39926,0l-0.34574,-0.19963l-0.19963,-0.34574l0,-0.39926z" stroke="#00bf00" fill="none"/>
|
|
15
|
+
</svg>
|
package/package.json
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@datagrok/eda",
|
|
3
3
|
"friendlyName": "EDA",
|
|
4
|
-
"version": "1.4.
|
|
4
|
+
"version": "1.4.12",
|
|
5
5
|
"description": "Exploratory Data Analysis Tools",
|
|
6
6
|
"dependencies": {
|
|
7
7
|
"@datagrok-libraries/math": "^1.2.6",
|
|
8
8
|
"@datagrok-libraries/ml": "^6.10.8",
|
|
9
|
+
"@datagrok-libraries/statistics": "^1.10.0",
|
|
9
10
|
"@datagrok-libraries/tutorials": "^1.7.4",
|
|
10
11
|
"@datagrok-libraries/utils": "^4.6.5",
|
|
11
12
|
"@keckelt/tsne": "^1.0.2",
|
|
@@ -14,6 +15,7 @@
|
|
|
14
15
|
"datagrok-api": "^1.26.3",
|
|
15
16
|
"dayjs": "^1.11.9",
|
|
16
17
|
"jstat": "^1.9.6",
|
|
18
|
+
"mathjs": "^15.1.0",
|
|
17
19
|
"source-map-loader": "^4.0.1",
|
|
18
20
|
"umap-js": "^1.3.3",
|
|
19
21
|
"worker-loader": "^3.0.8",
|
package/src/anova/anova-tools.ts
CHANGED
package/src/anova/anova-ui.ts
CHANGED
package/src/package-api.ts
CHANGED
|
@@ -260,4 +260,32 @@ export namespace funcs {
|
|
|
260
260
|
export async function isApplicableXGBooster(df: DG.DataFrame , predictColumn: DG.Column ): Promise<boolean> {
|
|
261
261
|
return await grok.functions.call('EDA:IsApplicableXGBooster', { df, predictColumn });
|
|
262
262
|
}
|
|
263
|
+
|
|
264
|
+
/**
|
|
265
|
+
Perform optimization across multiple objectives: analyze trade-offs between conflicting objectives and identify Pareto-optimal points.
|
|
266
|
+
*/
|
|
267
|
+
export async function paretoFront(): Promise<void> {
|
|
268
|
+
return await grok.functions.call('EDA:ParetoFront', {});
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
/**
|
|
272
|
+
Pareto front viewer
|
|
273
|
+
*/
|
|
274
|
+
export async function paretoFrontViewer(): Promise<any> {
|
|
275
|
+
return await grok.functions.call('EDA:ParetoFrontViewer', {});
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
/**
|
|
279
|
+
Train probabilistic multi-parameter optimization (pMPO) model
|
|
280
|
+
*/
|
|
281
|
+
export async function trainPmpo(): Promise<void> {
|
|
282
|
+
return await grok.functions.call('EDA:TrainPmpo', {});
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
/**
|
|
286
|
+
Apply trained probabilistic multi-parameter optimization (pMPO) model to score samples
|
|
287
|
+
*/
|
|
288
|
+
export async function applyPmpo(table: DG.DataFrame , file: DG.FileInfo ): Promise<void> {
|
|
289
|
+
return await grok.functions.call('EDA:ApplyPmpo', { table, file });
|
|
290
|
+
}
|
|
263
291
|
}
|
package/src/package.g.ts
CHANGED
|
@@ -37,34 +37,34 @@ export async function PCA(table: DG.DataFrame, features: DG.ColumnList, componen
|
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
//name: DBSCAN clustering
|
|
40
|
-
//tags: dim-red-postprocessing-function
|
|
41
40
|
//input: column col1
|
|
42
41
|
//input: column col2
|
|
43
42
|
//input: double epsilon = 0.01 { description: Minimum distance between two points to be considered as in the same neighborhood. }
|
|
44
43
|
//input: int minimumPoints = 5 { description: Minimum number of points to form a dense region. }
|
|
45
44
|
//meta.defaultPostProcessingFunction: true
|
|
45
|
+
//meta.role: dimRedPostprocessingFunction
|
|
46
46
|
export async function dbscanPostProcessingFunction(col1: DG.Column, col2: DG.Column, epsilon: number, minimumPoints: number) : Promise<void> {
|
|
47
47
|
await PackageFunctions.dbscanPostProcessingFunction(col1, col2, epsilon, minimumPoints);
|
|
48
48
|
}
|
|
49
49
|
|
|
50
50
|
//name: None (number)
|
|
51
|
-
//tags: dim-red-preprocessing-function
|
|
52
51
|
//input: column col
|
|
53
52
|
//input: string _metric { optional: true }
|
|
54
53
|
//output: object result
|
|
55
54
|
//meta.supportedTypes: int,float,double,qnum
|
|
56
55
|
//meta.supportedDistanceFunctions: Difference
|
|
56
|
+
//meta.role: dimRedPreprocessingFunction
|
|
57
57
|
export function numberPreprocessingFunction(col: DG.Column, _metric: string) {
|
|
58
58
|
return PackageFunctions.numberPreprocessingFunction(col, _metric);
|
|
59
59
|
}
|
|
60
60
|
|
|
61
61
|
//name: None (string)
|
|
62
|
-
//tags: dim-red-preprocessing-function
|
|
63
62
|
//input: column col
|
|
64
63
|
//input: string _metric { optional: true }
|
|
65
64
|
//output: object result
|
|
66
65
|
//meta.supportedTypes: string
|
|
67
66
|
//meta.supportedDistanceFunctions: One-Hot,Levenshtein,Hamming
|
|
67
|
+
//meta.role: dimRedPreprocessingFunction
|
|
68
68
|
export function stringPreprocessingFunction(col: DG.Column, _metric: string) {
|
|
69
69
|
return PackageFunctions.stringPreprocessingFunction(col, _metric);
|
|
70
70
|
}
|
|
@@ -102,9 +102,9 @@ export async function MCLClustering(df: DG.DataFrame, cols: DG.Column[], metrics
|
|
|
102
102
|
|
|
103
103
|
//name: MCL
|
|
104
104
|
//description: Markov clustering viewer
|
|
105
|
-
//tags: viewer
|
|
106
105
|
//output: viewer result
|
|
107
106
|
//meta.showInGallery: false
|
|
107
|
+
//meta.role: viewer
|
|
108
108
|
export function markovClusteringViewer() : any {
|
|
109
109
|
return PackageFunctions.markovClusteringViewer();
|
|
110
110
|
}
|
|
@@ -522,3 +522,32 @@ export function isInteractiveXGBooster(df: DG.DataFrame, predictColumn: DG.Colum
|
|
|
522
522
|
export function isApplicableXGBooster(df: DG.DataFrame, predictColumn: DG.Column) : boolean {
|
|
523
523
|
return PackageFunctions.isApplicableXGBooster(df, predictColumn);
|
|
524
524
|
}
|
|
525
|
+
|
|
526
|
+
//name: Pareto Front
|
|
527
|
+
//description: Perform optimization across multiple objectives: analyze trade-offs between conflicting objectives and identify Pareto-optimal points.
|
|
528
|
+
//top-menu: ML | Pareto Front...
|
|
529
|
+
export function paretoFront() : void {
|
|
530
|
+
PackageFunctions.paretoFront();
|
|
531
|
+
}
|
|
532
|
+
|
|
533
|
+
//name: Pareto front
|
|
534
|
+
//description: Pareto front viewer
|
|
535
|
+
//output: viewer result
|
|
536
|
+
//meta.icon: icons/pareto-front-viewer.svg
|
|
537
|
+
//meta.role: viewer
|
|
538
|
+
export function paretoFrontViewer() : any {
|
|
539
|
+
return PackageFunctions.paretoFrontViewer();
|
|
540
|
+
}
|
|
541
|
+
|
|
542
|
+
//description: Train probabilistic multi-parameter optimization (pMPO) model
|
|
543
|
+
//top-menu: Chem | Calculate | Train pMPO...
|
|
544
|
+
export function trainPmpo() : void {
|
|
545
|
+
PackageFunctions.trainPmpo();
|
|
546
|
+
}
|
|
547
|
+
|
|
548
|
+
//description: Apply trained probabilistic multi-parameter optimization (pMPO) model to score samples
|
|
549
|
+
//input: dataframe table
|
|
550
|
+
//input: file file
|
|
551
|
+
export async function applyPmpo(table: DG.DataFrame, file: DG.FileInfo) : Promise<void> {
|
|
552
|
+
await PackageFunctions.applyPmpo(table, file);
|
|
553
|
+
}
|