You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
/// <param name="timeSeriesColumn">Column representing the time series. Should be of type <see cref="long"/></param>
50
+
/// <param name="timeSeriesColumn">Column representing the time series. Should be of type <see cref="long"/> or <see cref="System.DateTime"/></param>
50
51
/// <param name="grainColumns">List of columns to use as grains</param>
51
52
/// <param name="filterColumns">List of columns to filter. If <paramref name="filterMode"/> is <see cref="TimeSeriesImputerEstimator.FilterMode.Exclude"/> than columns in the list will be ignored.
52
53
/// If <paramref name="filterMode"/> is <see cref="TimeSeriesImputerEstimator.FilterMode.Include"/> than values in the list are the only columns imputed.</param>
@@ -61,15 +62,7 @@ public static TimeSeriesImputerEstimator ReplaceMissingTimeSeriesValues(this Tra
61
62
}
62
63
63
64
/// <summary>
64
-
/// Imputes missing rows and column data per grain, based on the dates in the date column. This operation needs to happen to every column in the IDataView,
65
-
/// If you "filter" a column using the filterColumns and filterMode parameters, if a row is imputed the default value for that type will be used.
66
-
/// Currently only float/double/string columns are supported for imputation strategies, and an empty string is considered "missing" for the
67
-
/// purpose of this estimator. A new column is added to the schema after this operation is run. The column is called "IsRowImputed" and is a
68
-
/// boolean value representing if the row was created as a result of this operation or not.
69
-
///
70
-
/// NOTE: It is not recommended to chain this multiple times. If a column is filtered, the default value is placed when a row is imputed, and the
71
-
/// default value is not null. Thus any other TimeSeriesImputers will not be able to replace those values anymore causing essentially a very
72
-
/// computationally expensive NO-OP.
65
+
/// Imputes missing rows and column data per grain, based on the dates in the date column.
73
66
///
74
67
/// </summary>
75
68
/// <remarks>
@@ -83,8 +76,18 @@ public static TimeSeriesImputerEstimator ReplaceMissingTimeSeriesValues(this Tra
83
76
/// | Output column data type | All Types |
84
77
/// | Exportable to ONNX | No |
85
78
///
86
-
/// The <xref:Microsoft.ML.Transforms.TimeSeriesImputerEstimator> is not a trivial estimator and needs training.
79
+
/// The TimeSeriesImputer imputes missing rows and column data per grain (category), based on the dates in the date column. This operation needs to happen to every column in the IDataView,
80
+
/// If you "filter" a column using the filterColumns and filterMode parameters, if a row is imputed the default value for that type will be used.
81
+
/// Currently only float/double/string columns are supported for imputation strategies, and an empty string is considered "missing" for the
82
+
/// purpose of this estimator. A new column is added to the schema after this operation is run. The column is called "IsRowImputed" and is a
83
+
/// boolean value representing if the row was created as a result of this operation or not.
87
84
///
85
+
/// The imputation strategies that are currently supported are ForwardFill, where the last good value is propagated forward, Backfill, where the next good value is propagated backwards,
86
+
/// and Median, where the mathmatical median is used to fill in missing values.
87
+
///
88
+
/// NOTE: It is not recommended to chain this multiple times. If a column is filtered, the default value is placed when a row is imputed, and the
89
+
/// default value is not null. Thus any other TimeSeriesImputers will not be able to replace those values anymore causing essentially a very
90
+
/// computationally expensive NO-OP.
88
91
///
89
92
/// ]]>
90
93
/// </format>
@@ -98,7 +101,7 @@ public sealed class TimeSeriesImputerEstimator : IEstimator<TimeSeriesImputerTra
@@ -127,18 +130,52 @@ internal sealed class Options : TransformInputBase
127
130
128
131
#region Class Enums
129
132
133
+
/// <summary>
134
+
/// This is the representation of which Imputation Strategy to use.
135
+
/// ForwardFill takes the value from the last good row and propagates it forward anytime a row is imputed or a missing value is found.
136
+
/// BackFill is the same as ForwardFill, except it takes from the next good row and propagates backwards.
137
+
/// Median only supports float/double, takes the median value found during training and uses that to replace missing values
138
+
/// </summary>
130
139
publicenumImputationStrategy:byte
131
140
{
141
+
/// <summary>
142
+
/// Takes the value from the last good row and propagates it forward anytime a row is imputed or a missing value is found.
143
+
/// </summary>
132
144
ForwardFill=1,
145
+
146
+
/// <summary>
147
+
/// Takes the value from the next good row and propagates it backwards anytime a row is imputed or a missing value is found.
148
+
/// </summary>
133
149
BackFill=2,
150
+
151
+
/// <summary>
152
+
/// Takes the median found during training and propagates that anytime a row is imputed or a missing value is found.
153
+
/// </summary>
134
154
Median=3,
135
155
// Interpolate = 4, interpolate not currently supported in the native code.
136
156
};
137
157
158
+
/// <summary>
159
+
/// Method by which columns are selected for imputing values.
160
+
/// NoFilter takes all of the columns so you dont have to specify anything.
161
+
/// Include only does the specified ImputationStrategy on the columns you specify. The other columns will get a default value.
162
+
/// Exclude is the exact opposite of Include, and does the ImputationStrategy on all columns but the ones you specify, which will get the default value.
163
+
/// </summary>
138
164
publicenumFilterMode:byte
139
165
{
166
+
/// <summary>
167
+
/// Takes all of the columns so you dont have to specify anything.
168
+
/// </summary>
140
169
NoFilter=1,
170
+
171
+
/// <summary>
172
+
/// Only does the specified ImputationStrategy on the columns you specify. The other columns will get a default value.
173
+
/// </summary>
141
174
Include=2,
175
+
176
+
/// <summary>
177
+
/// Does the ImputationStrategy on all columns but the ones you specify, which will get the default value.
0 commit comments