Skip to content

Commit 9f1c22e

Browse files
authored
Conversion of Whitening Transform to estimator with pigstensions (dotnet#1452)
1 parent 0b32579 commit 9f1c22e

File tree

10 files changed

+634
-645
lines changed

10 files changed

+634
-645
lines changed

src/Microsoft.ML.Transforms/ProjectionCatalog.cs

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,5 +32,30 @@ public static RandomFourierFeaturizingEstimator CreateRandomFourierFeatures(this
3232
/// <param name="columns">The input columns to use for the transformation.</param>
3333
public static RandomFourierFeaturizingEstimator CreateRandomFourierFeatures(this TransformsCatalog.ProjectionTransforms catalog, params RffTransform.ColumnInfo[] columns)
3434
=> new RandomFourierFeaturizingEstimator(CatalogUtils.GetEnvironment(catalog), columns);
35+
36+
/// <summary>
37+
/// Initializes a new instance of <see cref="VectorWhiteningEstimator"/>.
38+
/// </summary>
39+
/// <param name="catalog">The transform's catalog.</param>
40+
/// <param name="inputColumn">Name of the input column.</param>
41+
/// <param name="outputColumn">Name of the column resulting from the transformation of <paramref name="inputColumn"/>. Null means <paramref name="inputColumn"/> is replaced. </param>
42+
/// <param name="kind">Whitening kind (PCA/ZCA).</param>
43+
/// <param name="eps">Whitening constant, prevents division by zero.</param>
44+
/// <param name="maxRows">Maximum number of rows used to train the transform.</param>
45+
/// <param name="pcaNum">In case of PCA whitening, indicates the number of components to retain.</param>
46+
public static VectorWhiteningEstimator VectorWhiten(this TransformsCatalog.ProjectionTransforms catalog, string inputColumn, string outputColumn,
47+
WhiteningKind kind = VectorWhiteningTransform.Defaults.Kind,
48+
float eps = VectorWhiteningTransform.Defaults.Eps,
49+
int maxRows = VectorWhiteningTransform.Defaults.MaxRows,
50+
int pcaNum = VectorWhiteningTransform.Defaults.PcaNum)
51+
=> new VectorWhiteningEstimator(CatalogUtils.GetEnvironment(catalog), inputColumn, outputColumn, kind, eps, maxRows, pcaNum);
52+
53+
/// <summary>
54+
/// Initializes a new instance of <see cref="VectorWhiteningEstimator"/>.
55+
/// </summary>
56+
/// <param name="catalog">The transform's catalog.</param>
57+
/// <param name="columns"> Describes the parameters of the whitening process for each column pair.</param>
58+
public static VectorWhiteningEstimator VectorWhiten(this TransformsCatalog.ProjectionTransforms catalog, params VectorWhiteningTransform.ColumnInfo[] columns)
59+
=> new VectorWhiteningEstimator(CatalogUtils.GetEnvironment(catalog), columns);
3560
}
3661
}

src/Microsoft.ML.Transforms/WhiteningTransform.cs

Lines changed: 531 additions & 289 deletions
Large diffs are not rendered by default.

src/Microsoft.ML.Transforms/WrappedWhiteningTransformer.cs

Lines changed: 0 additions & 167 deletions
This file was deleted.
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
#@ TextLoader{
2+
#@ sep=tab
3+
#@ col=whitened1:R4:0-10
4+
#@ col=whitened2:R4:11-15
5+
#@ }
6+
-2.604605 0.829638362 -0.5992434 0.19860521 1.33247662 0.369197041 -0.5760094 -0.5490271 -1.94509208 -0.393351972 0.507488966 1.75005662 -0.546613038 2.462052 1.32538271 -0.57087183
7+
-0.5923902 -0.324390084 -0.114805378 0.6855182 -1.055579 0.8767955 -0.0392023772 1.21807373 -0.160801888 -0.47570774 -2.22817 0.7284955 -0.8200103 0.4638015 -1.0152092 0.3444226
8+
-0.9132714 -0.911281645 1.814283 0.07471426 -0.8969923 -1.44387519 -1.19571114 -0.6542767 0.887983143 -0.4604767 -0.17543222 0.0112341344 0.913079262 -0.134250313 -0.118262529 -1.16476536
9+
0.236966148 1.004758 -0.233154371 0.3862052 -1.02724624 0.240614042 0.299898773 -1.03102541 -1.13852251 -0.6675951 0.766793966 0.490669161 -0.489173561 -0.5981086 1.18466234 1.05758965

0 commit comments

Comments
 (0)