deepbox 0.1.0 → 0.2.0

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 (165) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +39 -37
  3. package/dist/{CSRMatrix-KzNt6QpS.d.ts → CSRMatrix-B7XtUAZO.d.cts} +3 -3
  4. package/dist/{CSRMatrix-CwGwQRea.d.cts → CSRMatrix-CtD23fRM.d.ts} +3 -3
  5. package/dist/{Tensor-BQLk1ltW.d.cts → Tensor-BORFp_zt.d.ts} +27 -7
  6. package/dist/{Tensor-g8mUClel.d.ts → Tensor-fxBg-TFZ.d.cts} +27 -7
  7. package/dist/{chunk-FJYLIGJX.js → chunk-3AX37GPK.js} +33 -7
  8. package/dist/chunk-3AX37GPK.js.map +1 -0
  9. package/dist/{chunk-PR647I7R.js → chunk-3YFEYDHN.js} +21 -4
  10. package/dist/chunk-3YFEYDHN.js.map +1 -0
  11. package/dist/{chunk-XMWVME2W.js → chunk-6SX26MAJ.js} +4 -4
  12. package/dist/{chunk-XMWVME2W.js.map → chunk-6SX26MAJ.js.map} +1 -1
  13. package/dist/{chunk-C4PKXY74.cjs → chunk-6X7XFNDO.cjs} +94 -77
  14. package/dist/chunk-6X7XFNDO.cjs.map +1 -0
  15. package/dist/{chunk-6AE5FKKQ.cjs → chunk-724CXHFH.cjs} +1211 -919
  16. package/dist/chunk-724CXHFH.cjs.map +1 -0
  17. package/dist/{chunk-AU7XHGKJ.js → chunk-AJTKVBY5.js} +4 -4
  18. package/dist/{chunk-AU7XHGKJ.js.map → chunk-AJTKVBY5.js.map} +1 -1
  19. package/dist/{chunk-ZB75FESB.cjs → chunk-AV6WGSYX.cjs} +130 -104
  20. package/dist/chunk-AV6WGSYX.cjs.map +1 -0
  21. package/dist/{chunk-ZLW62TJG.cjs → chunk-BWOSU234.cjs} +142 -141
  22. package/dist/chunk-BWOSU234.cjs.map +1 -0
  23. package/dist/{chunk-4S73VUBD.js → chunk-CZOMBUI7.js} +3 -3
  24. package/dist/chunk-CZOMBUI7.js.map +1 -0
  25. package/dist/{chunk-QERHVCHC.cjs → chunk-EUZHJDZ6.cjs} +419 -364
  26. package/dist/chunk-EUZHJDZ6.cjs.map +1 -0
  27. package/dist/{chunk-AD436M45.js → chunk-G2G55ATL.js} +120 -58
  28. package/dist/chunk-G2G55ATL.js.map +1 -0
  29. package/dist/{chunk-5R4S63PF.js → chunk-G3WNLNYS.js} +119 -64
  30. package/dist/chunk-G3WNLNYS.js.map +1 -0
  31. package/dist/{chunk-XEG44RF6.cjs → chunk-G7KXZHG6.cjs} +105 -95
  32. package/dist/chunk-G7KXZHG6.cjs.map +1 -0
  33. package/dist/{chunk-MLBMYKCG.js → chunk-H3JR7SV2.js} +255 -113
  34. package/dist/chunk-H3JR7SV2.js.map +1 -0
  35. package/dist/{chunk-PHV2DKRS.cjs → chunk-HDKMIG6E.cjs} +107 -107
  36. package/dist/{chunk-PHV2DKRS.cjs.map → chunk-HDKMIG6E.cjs.map} +1 -1
  37. package/dist/{chunk-ALS7ETWZ.cjs → chunk-HI2EZHCJ.cjs} +111 -102
  38. package/dist/chunk-HI2EZHCJ.cjs.map +1 -0
  39. package/dist/{chunk-OX6QXFMV.cjs → chunk-IT4BZUYE.cjs} +490 -428
  40. package/dist/chunk-IT4BZUYE.cjs.map +1 -0
  41. package/dist/{chunk-E3EU5FZO.cjs → chunk-JTZPRV6E.cjs} +123 -123
  42. package/dist/{chunk-E3EU5FZO.cjs.map → chunk-JTZPRV6E.cjs.map} +1 -1
  43. package/dist/{chunk-PL7TAYKI.js → chunk-K2L5C5YH.js} +8 -7
  44. package/dist/chunk-K2L5C5YH.js.map +1 -0
  45. package/dist/{chunk-BCR7G3A6.js → chunk-KCF6P34A.js} +356 -64
  46. package/dist/chunk-KCF6P34A.js.map +1 -0
  47. package/dist/{chunk-ZXKBDFP3.js → chunk-LZHVHD62.js} +15 -6
  48. package/dist/chunk-LZHVHD62.js.map +1 -0
  49. package/dist/{chunk-LWECRCW2.cjs → chunk-MTJF52AJ.cjs} +141 -141
  50. package/dist/{chunk-LWECRCW2.cjs.map → chunk-MTJF52AJ.cjs.map} +1 -1
  51. package/dist/{chunk-B5TNKUEY.js → chunk-NDDTUFKK.js} +16 -6
  52. package/dist/chunk-NDDTUFKK.js.map +1 -0
  53. package/dist/{chunk-DWZY6PIP.cjs → chunk-NOQI6OFL.cjs} +615 -473
  54. package/dist/chunk-NOQI6OFL.cjs.map +1 -0
  55. package/dist/{chunk-F3JWBINJ.js → chunk-OEXDJFHA.js} +4 -4
  56. package/dist/{chunk-F3JWBINJ.js.map → chunk-OEXDJFHA.js.map} +1 -1
  57. package/dist/{chunk-JSCDE774.cjs → chunk-Z6BGACIH.cjs} +3 -3
  58. package/dist/chunk-Z6BGACIH.cjs.map +1 -0
  59. package/dist/core/index.cjs +50 -50
  60. package/dist/core/index.d.cts +2 -2
  61. package/dist/core/index.d.ts +2 -2
  62. package/dist/core/index.js +1 -1
  63. package/dist/dataframe/index.cjs +6 -6
  64. package/dist/dataframe/index.d.cts +3 -3
  65. package/dist/dataframe/index.d.ts +3 -3
  66. package/dist/dataframe/index.js +3 -3
  67. package/dist/datasets/index.cjs +34 -34
  68. package/dist/datasets/index.d.cts +3 -3
  69. package/dist/datasets/index.d.ts +3 -3
  70. package/dist/datasets/index.js +3 -3
  71. package/dist/{index-C1mfVYoo.d.ts → index-B18dHc8q.d.ts} +81 -46
  72. package/dist/{index-GFAVyOWO.d.ts → index-BHHX0qTY.d.cts} +14 -12
  73. package/dist/{index-tk4lSYod.d.ts → index-BI6QOUvV.d.ts} +106 -80
  74. package/dist/{index-DIp_RrRt.d.ts → index-BKvK21lf.d.ts} +13 -35
  75. package/dist/{index-BJY2SI4i.d.ts → index-BL8jLf3K.d.cts} +12 -11
  76. package/dist/{index-Cn3SdB0O.d.ts → index-BNbX167d.d.cts} +16 -10
  77. package/dist/{index-BWGhrDlr.d.ts → index-BT2ofL7Z.d.cts} +35 -35
  78. package/dist/{index-BbA2Gxfl.d.ts → index-BqcfIcL4.d.ts} +15 -15
  79. package/dist/{index-ZtI1Iy4L.d.ts → index-BrgrECM2.d.ts} +41 -38
  80. package/dist/{index-CDw5CnOU.d.ts → index-BtYKI9yJ.d.ts} +10 -8
  81. package/dist/{index-DIT_OO9C.d.cts → index-C7nLsAOC.d.cts} +10 -8
  82. package/dist/{index-D9Loo1_A.d.cts → index-CNj2Mxwf.d.cts} +81 -46
  83. package/dist/{index-DmEg_LCm.d.cts → index-CYlxeNW1.d.cts} +5 -3
  84. package/dist/{index-D61yaSMY.d.cts → index-CiTd61a5.d.ts} +12 -11
  85. package/dist/{index-BndMbqsM.d.ts → index-Cjnn0KeN.d.cts} +35 -21
  86. package/dist/{index-9oQx1HgV.d.cts → index-CkGGAn69.d.cts} +41 -38
  87. package/dist/{index-74AB8Cyh.d.cts → index-D4URSgqA.d.ts} +16 -10
  88. package/dist/{index-DoPWVxPo.d.cts → index-D4pn5zLT.d.ts} +35 -21
  89. package/dist/{index-DuCxd-8d.d.ts → index-D9ztTlDr.d.ts} +60 -42
  90. package/dist/{index-BgHYAoSS.d.cts → index-DF28ZPB5.d.cts} +60 -42
  91. package/dist/{index-eJgeni9c.d.cts → index-DLdiQzf0.d.cts} +106 -80
  92. package/dist/{index-WHQLn0e8.d.cts → index-DN4omPQw.d.ts} +35 -35
  93. package/dist/{index-CrqLlS-a.d.ts → index-DUnFq1WV.d.ts} +5 -3
  94. package/dist/{index-DbultU6X.d.cts → index-DgaYshkF.d.ts} +14 -12
  95. package/dist/{index-B_DK4FKY.d.cts → index-GUHYEhxs.d.cts} +13 -35
  96. package/dist/{index-CCvlwAmL.d.cts → index-TP--4irE.d.cts} +16 -14
  97. package/dist/{index-Dx42TZaY.d.ts → index-x0z_sanT.d.ts} +16 -14
  98. package/dist/{index-DyZ4QQf5.d.cts → index-xWH7ujWa.d.cts} +15 -15
  99. package/dist/index.cjs +26 -26
  100. package/dist/index.d.cts +17 -17
  101. package/dist/index.d.ts +17 -17
  102. package/dist/index.js +13 -13
  103. package/dist/linalg/index.cjs +22 -22
  104. package/dist/linalg/index.d.cts +3 -3
  105. package/dist/linalg/index.d.ts +3 -3
  106. package/dist/linalg/index.js +3 -3
  107. package/dist/metrics/index.cjs +40 -40
  108. package/dist/metrics/index.d.cts +3 -3
  109. package/dist/metrics/index.d.ts +3 -3
  110. package/dist/metrics/index.js +3 -3
  111. package/dist/ml/index.cjs +23 -23
  112. package/dist/ml/index.d.cts +3 -3
  113. package/dist/ml/index.d.ts +3 -3
  114. package/dist/ml/index.js +4 -4
  115. package/dist/ndarray/index.cjs +125 -125
  116. package/dist/ndarray/index.d.cts +5 -5
  117. package/dist/ndarray/index.d.ts +5 -5
  118. package/dist/ndarray/index.js +2 -2
  119. package/dist/nn/index.cjs +36 -36
  120. package/dist/nn/index.d.cts +6 -6
  121. package/dist/nn/index.d.ts +6 -6
  122. package/dist/nn/index.js +3 -3
  123. package/dist/optim/index.cjs +19 -19
  124. package/dist/optim/index.d.cts +4 -4
  125. package/dist/optim/index.d.ts +4 -4
  126. package/dist/optim/index.js +2 -2
  127. package/dist/plot/index.cjs +29 -29
  128. package/dist/plot/index.d.cts +6 -6
  129. package/dist/plot/index.d.ts +6 -6
  130. package/dist/plot/index.js +3 -3
  131. package/dist/preprocess/index.cjs +21 -21
  132. package/dist/preprocess/index.d.cts +4 -4
  133. package/dist/preprocess/index.d.ts +4 -4
  134. package/dist/preprocess/index.js +3 -3
  135. package/dist/random/index.cjs +19 -19
  136. package/dist/random/index.d.cts +3 -3
  137. package/dist/random/index.d.ts +3 -3
  138. package/dist/random/index.js +3 -3
  139. package/dist/stats/index.cjs +36 -36
  140. package/dist/stats/index.d.cts +3 -3
  141. package/dist/stats/index.d.ts +3 -3
  142. package/dist/stats/index.js +3 -3
  143. package/dist/{tensor-B96jjJLQ.d.cts → tensor-IlVTF0bz.d.cts} +16 -3
  144. package/dist/{tensor-B96jjJLQ.d.ts → tensor-IlVTF0bz.d.ts} +16 -3
  145. package/package.json +3 -2
  146. package/dist/chunk-4S73VUBD.js.map +0 -1
  147. package/dist/chunk-5R4S63PF.js.map +0 -1
  148. package/dist/chunk-6AE5FKKQ.cjs.map +0 -1
  149. package/dist/chunk-AD436M45.js.map +0 -1
  150. package/dist/chunk-ALS7ETWZ.cjs.map +0 -1
  151. package/dist/chunk-B5TNKUEY.js.map +0 -1
  152. package/dist/chunk-BCR7G3A6.js.map +0 -1
  153. package/dist/chunk-C4PKXY74.cjs.map +0 -1
  154. package/dist/chunk-DWZY6PIP.cjs.map +0 -1
  155. package/dist/chunk-FJYLIGJX.js.map +0 -1
  156. package/dist/chunk-JSCDE774.cjs.map +0 -1
  157. package/dist/chunk-MLBMYKCG.js.map +0 -1
  158. package/dist/chunk-OX6QXFMV.cjs.map +0 -1
  159. package/dist/chunk-PL7TAYKI.js.map +0 -1
  160. package/dist/chunk-PR647I7R.js.map +0 -1
  161. package/dist/chunk-QERHVCHC.cjs.map +0 -1
  162. package/dist/chunk-XEG44RF6.cjs.map +0 -1
  163. package/dist/chunk-ZB75FESB.cjs.map +0 -1
  164. package/dist/chunk-ZLW62TJG.cjs.map +0 -1
  165. package/dist/chunk-ZXKBDFP3.js.map +0 -1
@@ -1,6 +1,16 @@
1
- import { T as Tensor } from './Tensor-g8mUClel.js';
2
- import { C as CSRMatrix } from './CSRMatrix-KzNt6QpS.js';
1
+ import { T as Tensor } from './Tensor-BORFp_zt.js';
2
+ import { C as CSRMatrix } from './CSRMatrix-CtD23fRM.js';
3
3
 
4
+ /**
5
+ * Input type accepted by 1D encoder methods (LabelEncoder, LabelBinarizer).
6
+ * Accepts a Tensor directly or a plain JavaScript array of strings, numbers, or booleans.
7
+ */
8
+ type EncoderInput1D = Tensor | readonly (string | number | bigint | boolean)[];
9
+ /**
10
+ * Input type accepted by 2D encoder methods (OneHotEncoder, OrdinalEncoder).
11
+ * Accepts a Tensor directly or a plain JavaScript array of arrays.
12
+ */
13
+ type EncoderInput2D = Tensor | readonly (readonly (string | number | bigint)[])[];
4
14
  /**
5
15
  * Type representing a category value that can be a string, number, or bigint.
6
16
  * Used for categorical encoding operations.
@@ -33,7 +43,7 @@ type CategoriesOption = "auto" | ReadonlyArray<ReadonlyArray<Category>>;
33
43
  * const yDecoded = encoder.inverseTransform(yEncoded); // ['cat', 'dog', 'cat', 'bird']
34
44
  * ```
35
45
  *
36
- * @see {@link https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.LabelEncoder.html | Scikit-learn LabelEncoder}
46
+ * @see {@link https://deepbox.dev/docs/preprocess-encoders | Deepbox Encoders}
37
47
  */
38
48
  declare class LabelEncoder {
39
49
  /** Indicates whether the encoder has been fitted to data */
@@ -50,7 +60,7 @@ declare class LabelEncoder {
50
60
  * @returns this - Returns self for method chaining
51
61
  * @throws {InvalidParameterError} If y is empty
52
62
  */
53
- fit(y: Tensor): this;
63
+ fit(y: EncoderInput1D): this;
54
64
  /**
55
65
  * Transform labels to normalized encoding.
56
66
  * Each unique label is mapped to an integer in [0, n_classes-1].
@@ -60,7 +70,7 @@ declare class LabelEncoder {
60
70
  * @throws {NotFittedError} If encoder is not fitted
61
71
  * @throws {InvalidParameterError} If y contains labels not seen during fit
62
72
  */
63
- transform(y: Tensor): Tensor;
73
+ transform(y: EncoderInput1D): Tensor;
64
74
  /**
65
75
  * Fit label encoder and return encoded labels in one step.
66
76
  * Convenience method equivalent to calling fit(y).transform(y).
@@ -68,17 +78,17 @@ declare class LabelEncoder {
68
78
  * @param y - Target labels (1D tensor)
69
79
  * @returns Encoded labels as integer tensor
70
80
  */
71
- fitTransform(y: Tensor): Tensor;
81
+ fitTransform(y: EncoderInput1D): Tensor;
72
82
  /**
73
83
  * Transform integer labels back to original encoding.
74
84
  * Reverses the encoding performed by transform().
75
85
  *
76
- * @param y - Encoded labels (1D integer tensor)
86
+ * @param y - Encoded labels (1D integer tensor or number array)
77
87
  * @returns Original labels (strings or numbers)
78
88
  * @throws {NotFittedError} If encoder is not fitted
79
89
  * @throws {InvalidParameterError} If y contains invalid indices
80
90
  */
81
- inverseTransform(y: Tensor): Tensor;
91
+ inverseTransform(y: EncoderInput1D): Tensor;
82
92
  }
83
93
  /**
84
94
  * Encode categorical features as one-hot numeric array.
@@ -105,7 +115,7 @@ declare class LabelEncoder {
105
115
  * // Result: [[1,0,1,0,0], [0,1,0,1,0], [1,0,0,0,1]]
106
116
  * ```
107
117
  *
108
- * @see {@link https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.OneHotEncoder.html | Scikit-learn OneHotEncoder}
118
+ * @see {@link https://deepbox.dev/docs/preprocess-encoders | Deepbox Encoders}
109
119
  */
110
120
  declare class OneHotEncoder {
111
121
  /** Indicates whether the encoder has been fitted to data */
@@ -150,7 +160,7 @@ declare class OneHotEncoder {
150
160
  * @throws {ShapeError} If X is not a 2D tensor
151
161
  * @throws {InvalidParameterError} If X is empty
152
162
  */
153
- fit(X: Tensor): this;
163
+ fit(X: EncoderInput2D): this;
154
164
  /**
155
165
  * Transform X using one-hot encoding.
156
166
  * Each categorical value is converted to a binary vector.
@@ -160,8 +170,8 @@ declare class OneHotEncoder {
160
170
  * @throws {NotFittedError} If encoder is not fitted
161
171
  * @throws {InvalidParameterError} If X contains unknown categories
162
172
  */
163
- transform(X: Tensor): Tensor | CSRMatrix;
164
- fitTransform(X: Tensor): Tensor | CSRMatrix;
173
+ transform(X: EncoderInput2D): Tensor | CSRMatrix;
174
+ fitTransform(X: EncoderInput2D): Tensor | CSRMatrix;
165
175
  inverseTransform(X: Tensor | CSRMatrix): Tensor;
166
176
  }
167
177
  /**
@@ -187,7 +197,7 @@ declare class OneHotEncoder {
187
197
  * // Result: [[1, 1], [0, 0], [2, 1]] (alphabetically sorted)
188
198
  * ```
189
199
  *
190
- * @see {@link https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.OrdinalEncoder.html | Scikit-learn OrdinalEncoder}
200
+ * @see {@link https://deepbox.dev/docs/preprocess-encoders | Deepbox Encoders}
191
201
  */
192
202
  declare class OrdinalEncoder {
193
203
  /** Indicates whether the encoder has been fitted to data */
@@ -223,7 +233,7 @@ declare class OrdinalEncoder {
223
233
  * @returns this - Returns self for method chaining
224
234
  * @throws {InvalidParameterError} If X is empty
225
235
  */
226
- fit(X: Tensor): this;
236
+ fit(X: EncoderInput2D): this;
227
237
  /**
228
238
  * Transform X using ordinal encoding.
229
239
  * Each category is mapped to its index in the sorted categories array.
@@ -233,7 +243,7 @@ declare class OrdinalEncoder {
233
243
  * @throws {NotFittedError} If encoder is not fitted
234
244
  * @throws {InvalidParameterError} If X contains unknown categories
235
245
  */
236
- transform(X: Tensor): Tensor;
246
+ transform(X: EncoderInput2D): Tensor;
237
247
  /**
238
248
  * Fit encoder and transform X in one step.
239
249
  * Convenience method equivalent to calling fit(X).transform(X).
@@ -241,7 +251,7 @@ declare class OrdinalEncoder {
241
251
  * @param X - Training data (2D tensor)
242
252
  * @returns Encoded data
243
253
  */
244
- fitTransform(X: Tensor): Tensor;
254
+ fitTransform(X: EncoderInput2D): Tensor;
245
255
  /**
246
256
  * Transform ordinal integers back to original categories.
247
257
  * Reverses the encoding performed by transform().
@@ -251,7 +261,7 @@ declare class OrdinalEncoder {
251
261
  * @throws {NotFittedError} If encoder is not fitted
252
262
  * @throws {InvalidParameterError} If X contains invalid indices
253
263
  */
254
- inverseTransform(X: Tensor): Tensor;
264
+ inverseTransform(X: EncoderInput2D): Tensor;
255
265
  }
256
266
  /**
257
267
  * Binarize labels in a one-vs-all fashion.
@@ -274,7 +284,7 @@ declare class OrdinalEncoder {
274
284
  * // Result shape: [5, 3] with one-hot encoding
275
285
  * ```
276
286
  *
277
- * @see {@link https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.LabelBinarizer.html | Scikit-learn LabelBinarizer}
287
+ * @see {@link https://deepbox.dev/docs/preprocess-encoders | Deepbox Encoders}
278
288
  */
279
289
  declare class LabelBinarizer {
280
290
  /** Indicates whether the binarizer has been fitted to data */
@@ -312,7 +322,7 @@ declare class LabelBinarizer {
312
322
  * @returns this - Returns self for method chaining
313
323
  * @throws {InvalidParameterError} If y is empty
314
324
  */
315
- fit(y: Tensor): this;
325
+ fit(y: EncoderInput1D): this;
316
326
  /**
317
327
  * Transform labels to binary matrix.
318
328
  * Each label is converted to a binary vector with a single 1.
@@ -322,7 +332,7 @@ declare class LabelBinarizer {
322
332
  * @throws {NotFittedError} If binarizer is not fitted
323
333
  * @throws {InvalidParameterError} If y contains unknown labels
324
334
  */
325
- transform(y: Tensor): Tensor | CSRMatrix;
335
+ transform(y: EncoderInput1D): Tensor | CSRMatrix;
326
336
  /**
327
337
  * Fit binarizer and transform labels in one step.
328
338
  * Convenience method equivalent to calling fit(y).transform(y).
@@ -330,7 +340,7 @@ declare class LabelBinarizer {
330
340
  * @param y - Target labels (1D tensor)
331
341
  * @returns Binary matrix (Tensor or CSRMatrix)
332
342
  */
333
- fitTransform(y: Tensor): Tensor | CSRMatrix;
343
+ fitTransform(y: EncoderInput1D): Tensor | CSRMatrix;
334
344
  /**
335
345
  * Transform binary matrix back to labels.
336
346
  * Finds the column with maximum value for each row.
@@ -364,7 +374,7 @@ declare class LabelBinarizer {
364
374
  * // Each row can have multiple 1s
365
375
  * ```
366
376
  *
367
- * @see {@link https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.MultiLabelBinarizer.html | Scikit-learn MultiLabelBinarizer}
377
+ * @see {@link https://deepbox.dev/docs/preprocess-encoders | Deepbox Encoders}
368
378
  */
369
379
  declare class MultiLabelBinarizer {
370
380
  /** Indicates whether the binarizer has been fitted to data */
@@ -449,7 +459,7 @@ declare class MultiLabelBinarizer {
449
459
  * const XScaled = scaler.transform(X);
450
460
  * ```
451
461
  *
452
- * @see {@link https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.StandardScaler.html | Scikit-learn StandardScaler}
462
+ * @see {@link https://deepbox.dev/docs/preprocess-scalers | Deepbox Scalers}
453
463
  */
454
464
  declare class StandardScaler {
455
465
  private fitted;
@@ -480,7 +490,7 @@ declare class StandardScaler {
480
490
  *
481
491
  * **Formula**: X_scaled = (X - X.min) / (X.max - X.min) * (max - min) + min
482
492
  *
483
- * @see {@link https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.MinMaxScaler.html | Scikit-learn MinMaxScaler}
493
+ * @see {@link https://deepbox.dev/docs/preprocess-scalers | Deepbox Scalers}
484
494
  */
485
495
  declare class MinMaxScaler {
486
496
  private fitted;
@@ -511,7 +521,7 @@ declare class MinMaxScaler {
511
521
  *
512
522
  * Scales to range [-1, 1]. Suitable for data that is already centered at zero.
513
523
  *
514
- * @see {@link https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.MaxAbsScaler.html | Scikit-learn MaxAbsScaler}
524
+ * @see {@link https://deepbox.dev/docs/preprocess-scalers | Deepbox Scalers}
515
525
  */
516
526
  declare class MaxAbsScaler {
517
527
  private fitted;
@@ -535,7 +545,7 @@ declare class MaxAbsScaler {
535
545
  *
536
546
  * Robust to outliers.
537
547
  *
538
- * @see {@link https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.RobustScaler.html | Scikit-learn RobustScaler}
548
+ * @see {@link https://deepbox.dev/docs/preprocess-scalers | Deepbox Scalers}
539
549
  */
540
550
  declare class RobustScaler {
541
551
  private fitted;
@@ -572,7 +582,7 @@ declare class RobustScaler {
572
582
  *
573
583
  * Scales each sample (row) to have unit norm.
574
584
  *
575
- * @see {@link https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.Normalizer.html | Scikit-learn Normalizer}
585
+ * @see {@link https://deepbox.dev/docs/preprocess-scalers | Deepbox Scalers}
576
586
  */
577
587
  declare class Normalizer {
578
588
  private norm;
@@ -596,7 +606,7 @@ declare class Normalizer {
596
606
  *
597
607
  * Maps to uniform or normal distribution.
598
608
  *
599
- * @see {@link https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.QuantileTransformer.html | Scikit-learn QuantileTransformer}
609
+ * @see {@link https://deepbox.dev/docs/preprocess-scalers | Deepbox Scalers}
600
610
  */
601
611
  declare class QuantileTransformer {
602
612
  private fitted;
@@ -648,7 +658,7 @@ declare class QuantileTransformer {
648
658
  *
649
659
  * Supports Box-Cox and Yeo-Johnson transforms, with optional standardization.
650
660
  *
651
- * @see {@link https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.PowerTransformer.html | Scikit-learn PowerTransformer}
661
+ * @see {@link https://deepbox.dev/docs/preprocess-scalers | Deepbox Scalers}
652
662
  */
653
663
  declare class PowerTransformer {
654
664
  private fitted;
@@ -690,6 +700,13 @@ declare class PowerTransformer {
690
700
  fitTransform(X: Tensor): Tensor;
691
701
  }
692
702
 
703
+ /**
704
+ * Represents a single train/test split with named index arrays.
705
+ */
706
+ type SplitResult = {
707
+ readonly trainIndex: number[];
708
+ readonly testIndex: number[];
709
+ };
693
710
  /**
694
711
  * Split arrays into random train and test subsets.
695
712
  *
@@ -712,7 +729,7 @@ declare class PowerTransformer {
712
729
  * const [XTrain, XTest, yTrain, yTest] = trainTestSplit(X, y, { testSize: 0.25 });
713
730
  * ```
714
731
  *
715
- * @see {@link https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.train_test_split.html | Scikit-learn train_test_split}
732
+ * @see {@link https://deepbox.dev/docs/preprocess-splitting | Deepbox Data Splitting}
716
733
  */
717
734
  declare function trainTestSplit(X: Tensor, y?: Tensor, options?: {
718
735
  testSize?: number;
@@ -726,7 +743,7 @@ declare function trainTestSplit(X: Tensor, y?: Tensor, options?: {
726
743
  *
727
744
  * Provides train/test indices to split data in train/test sets.
728
745
  *
729
- * @see {@link https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.KFold.html | Scikit-learn KFold}
746
+ * @see {@link https://deepbox.dev/docs/preprocess-splitting | Deepbox Data Splitting}
730
747
  */
731
748
  declare class KFold {
732
749
  private nSplits;
@@ -737,7 +754,7 @@ declare class KFold {
737
754
  shuffle?: boolean;
738
755
  randomState?: number;
739
756
  });
740
- split(X: Tensor): Array<[number[], number[]]>;
757
+ split(X: Tensor): SplitResult[];
741
758
  getNSplits(): number;
742
759
  }
743
760
  /**
@@ -745,7 +762,7 @@ declare class KFold {
745
762
  *
746
763
  * Provides train/test indices while preserving class distribution.
747
764
  *
748
- * @see {@link https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.StratifiedKFold.html | Scikit-learn StratifiedKFold}
765
+ * @see {@link https://deepbox.dev/docs/preprocess-splitting | Deepbox Data Splitting}
749
766
  */
750
767
  declare class StratifiedKFold {
751
768
  private nSplits;
@@ -756,7 +773,7 @@ declare class StratifiedKFold {
756
773
  shuffle?: boolean;
757
774
  randomState?: number;
758
775
  });
759
- split(X: Tensor, y: Tensor): Array<[number[], number[]]>;
776
+ split(X: Tensor, y: Tensor): SplitResult[];
760
777
  getNSplits(): number;
761
778
  }
762
779
  /**
@@ -764,34 +781,34 @@ declare class StratifiedKFold {
764
781
  *
765
782
  * Ensures same group is not in both train and test.
766
783
  *
767
- * @see {@link https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.GroupKFold.html | Scikit-learn GroupKFold}
784
+ * @see {@link https://deepbox.dev/docs/preprocess-splitting | Deepbox Data Splitting}
768
785
  */
769
786
  declare class GroupKFold {
770
787
  private nSplits;
771
788
  constructor(options?: {
772
789
  nSplits?: number;
773
790
  });
774
- split(X: Tensor, _y: Tensor | undefined, groups: Tensor): Array<[number[], number[]]>;
791
+ split(X: Tensor, _y: Tensor | undefined, groups: Tensor): SplitResult[];
775
792
  getNSplits(): number;
776
793
  }
777
794
  /**
778
795
  * Leave-One-Out cross-validator.
779
796
  *
780
- * @see {@link https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.LeaveOneOut.html | Scikit-learn LeaveOneOut}
797
+ * @see {@link https://deepbox.dev/docs/preprocess-splitting | Deepbox Data Splitting}
781
798
  */
782
799
  declare class LeaveOneOut {
783
- split(X: Tensor): Array<[number[], number[]]>;
800
+ split(X: Tensor): SplitResult[];
784
801
  getNSplits(X: Tensor): number;
785
802
  }
786
803
  /**
787
804
  * Leave-P-Out cross-validator.
788
805
  *
789
- * @see {@link https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.LeavePOut.html | Scikit-learn LeavePOut}
806
+ * @see {@link https://deepbox.dev/docs/preprocess-splitting | Deepbox Data Splitting}
790
807
  */
791
808
  declare class LeavePOut {
792
809
  private p;
793
810
  constructor(p: number);
794
- split(X: Tensor): Array<[number[], number[]]>;
811
+ split(X: Tensor): SplitResult[];
795
812
  getNSplits(X: Tensor): number;
796
813
  }
797
814
 
@@ -825,13 +842,14 @@ type index_QuantileTransformer = QuantileTransformer;
825
842
  declare const index_QuantileTransformer: typeof QuantileTransformer;
826
843
  type index_RobustScaler = RobustScaler;
827
844
  declare const index_RobustScaler: typeof RobustScaler;
845
+ type index_SplitResult = SplitResult;
828
846
  type index_StandardScaler = StandardScaler;
829
847
  declare const index_StandardScaler: typeof StandardScaler;
830
848
  type index_StratifiedKFold = StratifiedKFold;
831
849
  declare const index_StratifiedKFold: typeof StratifiedKFold;
832
850
  declare const index_trainTestSplit: typeof trainTestSplit;
833
851
  declare namespace index {
834
- export { index_GroupKFold as GroupKFold, index_KFold as KFold, index_LabelBinarizer as LabelBinarizer, index_LabelEncoder as LabelEncoder, index_LeaveOneOut as LeaveOneOut, index_LeavePOut as LeavePOut, index_MaxAbsScaler as MaxAbsScaler, index_MinMaxScaler as MinMaxScaler, index_MultiLabelBinarizer as MultiLabelBinarizer, index_Normalizer as Normalizer, index_OneHotEncoder as OneHotEncoder, index_OrdinalEncoder as OrdinalEncoder, index_PowerTransformer as PowerTransformer, index_QuantileTransformer as QuantileTransformer, index_RobustScaler as RobustScaler, index_StandardScaler as StandardScaler, index_StratifiedKFold as StratifiedKFold, index_trainTestSplit as trainTestSplit };
852
+ export { index_GroupKFold as GroupKFold, index_KFold as KFold, index_LabelBinarizer as LabelBinarizer, index_LabelEncoder as LabelEncoder, index_LeaveOneOut as LeaveOneOut, index_LeavePOut as LeavePOut, index_MaxAbsScaler as MaxAbsScaler, index_MinMaxScaler as MinMaxScaler, index_MultiLabelBinarizer as MultiLabelBinarizer, index_Normalizer as Normalizer, index_OneHotEncoder as OneHotEncoder, index_OrdinalEncoder as OrdinalEncoder, index_PowerTransformer as PowerTransformer, index_QuantileTransformer as QuantileTransformer, index_RobustScaler as RobustScaler, type index_SplitResult as SplitResult, index_StandardScaler as StandardScaler, index_StratifiedKFold as StratifiedKFold, index_trainTestSplit as trainTestSplit };
835
853
  }
836
854
 
837
- export { GroupKFold as G, KFold as K, LabelBinarizer as L, MultiLabelBinarizer as M, Normalizer as N, OneHotEncoder as O, PowerTransformer as P, QuantileTransformer as Q, RobustScaler as R, StandardScaler as S, LabelEncoder as a, OrdinalEncoder as b, MaxAbsScaler as c, MinMaxScaler as d, LeaveOneOut as e, LeavePOut as f, StratifiedKFold as g, index as i, trainTestSplit as t };
855
+ export { GroupKFold as G, KFold as K, LabelBinarizer as L, MultiLabelBinarizer as M, Normalizer as N, OneHotEncoder as O, PowerTransformer as P, QuantileTransformer as Q, RobustScaler as R, StandardScaler as S, LabelEncoder as a, OrdinalEncoder as b, MaxAbsScaler as c, MinMaxScaler as d, LeaveOneOut as e, LeavePOut as f, type SplitResult as g, StratifiedKFold as h, index as i, trainTestSplit as t };