@elaraai/east-py-datascience 0.0.2-beta.1

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.
Files changed (56) hide show
  1. package/LICENSE.md +18 -0
  2. package/README.md +104 -0
  3. package/dist/gp/gp.d.ts +398 -0
  4. package/dist/gp/gp.d.ts.map +1 -0
  5. package/dist/gp/gp.js +170 -0
  6. package/dist/gp/gp.js.map +1 -0
  7. package/dist/index.d.ts +27 -0
  8. package/dist/index.d.ts.map +1 -0
  9. package/dist/index.js +39 -0
  10. package/dist/index.js.map +1 -0
  11. package/dist/lightgbm/lightgbm.d.ts +494 -0
  12. package/dist/lightgbm/lightgbm.d.ts.map +1 -0
  13. package/dist/lightgbm/lightgbm.js +155 -0
  14. package/dist/lightgbm/lightgbm.js.map +1 -0
  15. package/dist/mads/mads.d.ts +413 -0
  16. package/dist/mads/mads.d.ts.map +1 -0
  17. package/dist/mads/mads.js +221 -0
  18. package/dist/mads/mads.js.map +1 -0
  19. package/dist/ngboost/ngboost.d.ts +433 -0
  20. package/dist/ngboost/ngboost.d.ts.map +1 -0
  21. package/dist/ngboost/ngboost.js +178 -0
  22. package/dist/ngboost/ngboost.js.map +1 -0
  23. package/dist/optuna/optuna.d.ts +797 -0
  24. package/dist/optuna/optuna.d.ts.map +1 -0
  25. package/dist/optuna/optuna.js +268 -0
  26. package/dist/optuna/optuna.js.map +1 -0
  27. package/dist/scipy/scipy.d.ts +954 -0
  28. package/dist/scipy/scipy.d.ts.map +1 -0
  29. package/dist/scipy/scipy.js +287 -0
  30. package/dist/scipy/scipy.js.map +1 -0
  31. package/dist/shap/shap.d.ts +657 -0
  32. package/dist/shap/shap.d.ts.map +1 -0
  33. package/dist/shap/shap.js +241 -0
  34. package/dist/shap/shap.js.map +1 -0
  35. package/dist/simanneal/simanneal.d.ts +531 -0
  36. package/dist/simanneal/simanneal.d.ts.map +1 -0
  37. package/dist/simanneal/simanneal.js +231 -0
  38. package/dist/simanneal/simanneal.js.map +1 -0
  39. package/dist/sklearn/sklearn.d.ts +1272 -0
  40. package/dist/sklearn/sklearn.d.ts.map +1 -0
  41. package/dist/sklearn/sklearn.js +307 -0
  42. package/dist/sklearn/sklearn.js.map +1 -0
  43. package/dist/torch/torch.d.ts +658 -0
  44. package/dist/torch/torch.d.ts.map +1 -0
  45. package/dist/torch/torch.js +233 -0
  46. package/dist/torch/torch.js.map +1 -0
  47. package/dist/tsconfig.tsbuildinfo +1 -0
  48. package/dist/types.d.ts +80 -0
  49. package/dist/types.d.ts.map +1 -0
  50. package/dist/types.js +81 -0
  51. package/dist/types.js.map +1 -0
  52. package/dist/xgboost/xgboost.d.ts +504 -0
  53. package/dist/xgboost/xgboost.d.ts.map +1 -0
  54. package/dist/xgboost/xgboost.js +177 -0
  55. package/dist/xgboost/xgboost.js.map +1 -0
  56. package/package.json +82 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"optuna.d.ts","sourceRoot":"","sources":["../../src/optuna/optuna.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,268 @@
1
+ /**
2
+ * Copyright (c) 2025 Elara AI Pty Ltd
3
+ * Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
4
+ */
5
+ /**
6
+ * Bayesian optimization using Optuna's TPE sampler.
7
+ *
8
+ * Provides parameter optimization for blackbox functions with mixed parameter
9
+ * types (categorical, integer, continuous). Useful for:
10
+ * - Hyperparameter tuning for ML models
11
+ * - Design optimization
12
+ * - Any blackbox optimization with structured parameter spaces
13
+ *
14
+ * @packageDocumentation
15
+ */
16
+ import { East, StructType, VariantType, OptionType, ArrayType, IntegerType, FloatType, StringType, BooleanType, FunctionType, NullType, } from "@elaraai/east";
17
+ // ===========================================
18
+ // Parameter Types
19
+ // ===========================================
20
+ /**
21
+ * Parameter value type (can be int, float, string, or bool).
22
+ */
23
+ export const ParamValueType = VariantType({
24
+ int: IntegerType,
25
+ float: FloatType,
26
+ string: StringType,
27
+ bool: BooleanType,
28
+ });
29
+ /**
30
+ * Parameter space kind for defining search spaces.
31
+ */
32
+ export const ParamSpaceKindType = VariantType({
33
+ /** Integer parameter with low/high bounds */
34
+ int: NullType,
35
+ /** Float parameter with low/high bounds */
36
+ float: NullType,
37
+ /** Categorical parameter with choices */
38
+ categorical: NullType,
39
+ /** Log-uniform float parameter (for learning rates, etc.) */
40
+ log_uniform: NullType,
41
+ });
42
+ /**
43
+ * Parameter search space definition.
44
+ *
45
+ * Defines a single parameter's name, type, and valid range/choices.
46
+ */
47
+ export const ParamSpaceType = StructType({
48
+ /** Parameter name */
49
+ name: StringType,
50
+ /** Parameter kind (int, float, categorical, log_uniform) */
51
+ kind: ParamSpaceKindType,
52
+ /** Lower bound (for int, float, log_uniform) */
53
+ low: OptionType(FloatType),
54
+ /** Upper bound (for int, float, log_uniform) */
55
+ high: OptionType(FloatType),
56
+ /** Choices (for categorical) */
57
+ choices: OptionType(ArrayType(ParamValueType)),
58
+ });
59
+ /**
60
+ * Named parameter (name + value pair).
61
+ *
62
+ * Represents a single parameter with its suggested/best value.
63
+ */
64
+ export const NamedParamType = StructType({
65
+ /** Parameter name */
66
+ name: StringType,
67
+ /** Parameter value */
68
+ value: ParamValueType,
69
+ });
70
+ // ===========================================
71
+ // Optimization Config Types
72
+ // ===========================================
73
+ /**
74
+ * Optimization direction (minimize or maximize).
75
+ */
76
+ export const OptimizationDirectionType = VariantType({
77
+ minimize: NullType,
78
+ maximize: NullType,
79
+ });
80
+ /**
81
+ * Pruner type for early stopping of unpromising trials.
82
+ */
83
+ export const PrunerType = VariantType({
84
+ /** No pruning */
85
+ none: NullType,
86
+ /** Median pruner - prune if below median of previous trials */
87
+ median: NullType,
88
+ /** Hyperband pruner - aggressive early stopping */
89
+ hyperband: NullType,
90
+ });
91
+ /**
92
+ * Optuna study configuration.
93
+ */
94
+ export const OptunaStudyConfigType = StructType({
95
+ /** Optimization direction (default: minimize) */
96
+ direction: OptionType(OptimizationDirectionType),
97
+ /** Number of trials to run */
98
+ n_trials: IntegerType,
99
+ /** Random seed for reproducibility */
100
+ random_state: OptionType(IntegerType),
101
+ /** Pruner for early stopping (default: none) */
102
+ pruner: OptionType(PrunerType),
103
+ });
104
+ // ===========================================
105
+ // Result Types
106
+ // ===========================================
107
+ /**
108
+ * Single trial result.
109
+ */
110
+ export const TrialResultType = StructType({
111
+ /** Trial ID */
112
+ trial_id: IntegerType,
113
+ /** Parameters used in this trial */
114
+ params: ArrayType(NamedParamType),
115
+ /** Objective score */
116
+ score: FloatType,
117
+ });
118
+ /**
119
+ * Optimization study result.
120
+ */
121
+ export const StudyResultType = StructType({
122
+ /** Best parameters found */
123
+ best_params: ArrayType(NamedParamType),
124
+ /** Best objective score */
125
+ best_score: FloatType,
126
+ /** All completed trials */
127
+ trials: ArrayType(TrialResultType),
128
+ });
129
+ // ===========================================
130
+ // Objective Function Type
131
+ // ===========================================
132
+ /**
133
+ * Objective function type: takes named params, returns score.
134
+ *
135
+ * The objective function is an East function that receives suggested
136
+ * parameters and returns a scalar score to minimize/maximize.
137
+ */
138
+ export const ObjectiveFunctionType = FunctionType([ArrayType(NamedParamType)], FloatType);
139
+ // ===========================================
140
+ // Platform Functions
141
+ // ===========================================
142
+ /**
143
+ * Run Bayesian optimization with Optuna.
144
+ *
145
+ * Uses TPE (Tree-structured Parzen Estimator) to efficiently search
146
+ * the parameter space, balancing exploration and exploitation.
147
+ *
148
+ * @param search_space - Array of parameter space definitions
149
+ * @param objective - East function that takes params and returns score
150
+ * @param config - Study configuration (n_trials, direction, etc.)
151
+ * @returns Study result with best params, best score, and all trials
152
+ *
153
+ * @example
154
+ * ```ts
155
+ * import { East, FloatType, variant } from "@elaraai/east";
156
+ * import { Optuna } from "@elaraai/east-py-datascience";
157
+ *
158
+ * // Define objective: minimize (x - 2)^2 + (y - 3)^2
159
+ * const objective = East.function(
160
+ * [ArrayType(Optuna.Types.NamedParamType)],
161
+ * FloatType,
162
+ * ($, params) => {
163
+ * // Extract params by name
164
+ * const x = $.let(params.get(0n).value); // First param
165
+ * const y = $.let(params.get(1n).value); // Second param
166
+ * // Compute objective (assuming float params)
167
+ * return $.return(
168
+ * x.match({ float: v => v }).subtract(2.0).multiply(
169
+ * x.match({ float: v => v }).subtract(2.0)
170
+ * ).add(
171
+ * y.match({ float: v => v }).subtract(3.0).multiply(
172
+ * y.match({ float: v => v }).subtract(3.0)
173
+ * )
174
+ * )
175
+ * );
176
+ * }
177
+ * );
178
+ *
179
+ * const optimize = East.function([], Optuna.Types.StudyResultType, $ => {
180
+ * const search_space = $.let([
181
+ * { name: "x", kind: variant("float", null), low: variant("some", 0.0), high: variant("some", 5.0), choices: variant("none", null) },
182
+ * { name: "y", kind: variant("float", null), low: variant("some", 0.0), high: variant("some", 5.0), choices: variant("none", null) },
183
+ * ]);
184
+ * const config = $.let({
185
+ * direction: variant("some", variant("minimize", null)),
186
+ * n_trials: 50n,
187
+ * random_state: variant("some", 42n),
188
+ * pruner: variant("none", null),
189
+ * });
190
+ * return $.return(Optuna.optimize(search_space, objective, config));
191
+ * });
192
+ * ```
193
+ */
194
+ export const optuna_optimize = East.platform("optuna_optimize", [
195
+ ArrayType(ParamSpaceType),
196
+ ObjectiveFunctionType,
197
+ OptunaStudyConfigType,
198
+ ], StudyResultType);
199
+ // ===========================================
200
+ // Grouped Export
201
+ // ===========================================
202
+ /**
203
+ * Type definitions for Optuna optimization.
204
+ */
205
+ export const OptunaTypes = {
206
+ /** Parameter value variant type */
207
+ ParamValueType,
208
+ /** Parameter space kind type */
209
+ ParamSpaceKindType,
210
+ /** Parameter space definition type */
211
+ ParamSpaceType,
212
+ /** Named parameter type */
213
+ NamedParamType,
214
+ /** Optimization direction type */
215
+ OptimizationDirectionType,
216
+ /** Pruner type */
217
+ PrunerType,
218
+ /** Study config type */
219
+ StudyConfigType: OptunaStudyConfigType,
220
+ /** Trial result type */
221
+ TrialResultType,
222
+ /** Study result type */
223
+ StudyResultType,
224
+ /** Objective function type */
225
+ ObjectiveFunctionType,
226
+ };
227
+ /**
228
+ * Bayesian optimization using Optuna.
229
+ *
230
+ * Provides efficient parameter optimization using TPE (Tree-structured
231
+ * Parzen Estimator) for blackbox functions with mixed parameter types.
232
+ *
233
+ * Supports:
234
+ * - Integer, float, and categorical parameters
235
+ * - Log-uniform sampling for learning rates
236
+ * - Minimization and maximization
237
+ * - Early stopping with pruners
238
+ *
239
+ * @example
240
+ * ```ts
241
+ * import { East, FloatType, variant } from "@elaraai/east";
242
+ * import { Optuna } from "@elaraai/east-py-datascience";
243
+ *
244
+ * const objective = East.function(
245
+ * [ArrayType(Optuna.Types.NamedParamType)],
246
+ * FloatType,
247
+ * ($, params) => {
248
+ * // Your objective function here
249
+ * return $.return(score);
250
+ * }
251
+ * );
252
+ *
253
+ * const result = Optuna.optimize(search_space, objective, config);
254
+ * ```
255
+ */
256
+ export const Optuna = {
257
+ /**
258
+ * Run Bayesian optimization.
259
+ *
260
+ * Efficiently searches the parameter space using TPE.
261
+ */
262
+ optimize: optuna_optimize,
263
+ /**
264
+ * Type definitions for Optuna functions.
265
+ */
266
+ Types: OptunaTypes,
267
+ };
268
+ //# sourceMappingURL=optuna.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"optuna.js","sourceRoot":"","sources":["../../src/optuna/optuna.ts"],"names":[],"mappings":"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"}