Skip to content

Commit 3d9eb10

Browse files
authored
Make validation data param mandatory; remove GetFirstPipeline sample (dotnet#10)
* Make validation data param mandatory; remove GetFirstPipeline sample * remove deprecated todo
1 parent f1e7617 commit 3d9eb10

File tree

3 files changed

+10
-31
lines changed

3 files changed

+10
-31
lines changed

src/AutoML/API/MLContextAutoFitExtensions.cs

+7-8
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ public static class RegressionExtensions
1111
public static RegressionResult AutoFit(this RegressionContext context,
1212
IDataView trainData,
1313
string label,
14-
IDataView validationData = null,
14+
IDataView validationData,
1515
AutoFitSettings settings = null,
1616
IEnumerable<(string, ColumnPurpose)> purposeOverrides = null,
1717
CancellationToken cancellationToken = default,
@@ -20,12 +20,11 @@ public static RegressionResult AutoFit(this RegressionContext context,
2020
return AutoFit(context, trainData, label, validationData, settings,
2121
purposeOverrides, cancellationToken, iterationCallback, null);
2222
}
23-
24-
// todo: instead of internal methods, use static debug class w/ singleton logger?
23+
2524
internal static RegressionResult AutoFit(this RegressionContext context,
2625
IDataView trainData,
2726
string label,
28-
IDataView validationData = null,
27+
IDataView validationData,
2928
AutoFitSettings settings = null,
3029
IEnumerable<(string, ColumnPurpose)> purposeOverrides = null,
3130
CancellationToken cancellationToken = default,
@@ -60,7 +59,7 @@ public static class BinaryClassificationExtensions
6059
public static BinaryClassificationResult AutoFit(this BinaryClassificationContext context,
6160
IDataView trainData,
6261
string label,
63-
IDataView validationData = null,
62+
IDataView validationData,
6463
AutoFitSettings settings = null,
6564
IEnumerable<(string, ColumnPurpose)> purposeOverrides = null,
6665
CancellationToken cancellationToken = default,
@@ -73,7 +72,7 @@ public static BinaryClassificationResult AutoFit(this BinaryClassificationContex
7372
internal static BinaryClassificationResult AutoFit(this BinaryClassificationContext context,
7473
IDataView trainData,
7574
string label,
76-
IDataView validationData = null,
75+
IDataView validationData,
7776
AutoFitSettings settings = null,
7877
IEnumerable<(string, ColumnPurpose)> purposeOverrides = null,
7978
CancellationToken cancellationToken = default,
@@ -109,7 +108,7 @@ public static class MulticlassExtensions
109108
public static MulticlassClassificationResult AutoFit(this MulticlassClassificationContext context,
110109
IDataView trainData,
111110
string label,
112-
IDataView validationData = null,
111+
IDataView validationData,
113112
AutoFitSettings settings = null,
114113
IEnumerable<(string, ColumnPurpose)> purposeOverrides = null,
115114
CancellationToken cancellationToken = default,
@@ -122,7 +121,7 @@ public static MulticlassClassificationResult AutoFit(this MulticlassClassificati
122121
internal static MulticlassClassificationResult AutoFit(this MulticlassClassificationContext context,
123122
IDataView trainData,
124123
string label,
125-
IDataView validationData = null,
124+
IDataView validationData,
126125
AutoFitSettings settings = null,
127126
IEnumerable<(string, ColumnPurpose)> purposeOverrides = null,
128127
CancellationToken cancellationToken = default,

src/AutoML/Utils/UserInputValidationUtil.cs

+3-3
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ private static void ValidateLabel(IDataView trainData, IDataView validationData,
8686
throw new ArgumentException(nameof(label), $"Provided label column '{label}' not found in training data.");
8787
}
8888

89-
if (validationData != null && validationData.Schema.GetColumnOrNull(label) == null)
89+
if (validationData.Schema.GetColumnOrNull(label) == null)
9090
{
9191
throw new ArgumentException(nameof(label), $"Provided label column '{label}' not found in validation data.");
9292
}
@@ -124,7 +124,7 @@ private static void ValidateValidationData(IDataView trainData, IDataView valida
124124
{
125125
if(validationData == null)
126126
{
127-
return;
127+
throw new ArgumentNullException(nameof(validationData), "Validation data cannot be null");
128128
}
129129

130130
const string schemaMismatchError = "Training data and validation data schemas do not match.";
@@ -187,7 +187,7 @@ private static void ValidatePurposeOverrides(IDataView trainData, IDataView vali
187187
throw new ArgumentException(nameof(purposeOverride), $"Purpose override column name '{colName}' not found in training data.");
188188
}
189189

190-
if(validationData != null && validationData.Schema.GetColumnOrNull(colName) == null)
190+
if(validationData.Schema.GetColumnOrNull(colName) == null)
191191
{
192192
throw new ArgumentException(nameof(purposeOverride), $"Purpose override column name '{colName}' not found in validation data.");
193193
}

src/Samples/GetFirstPipeline.cs

-20
This file was deleted.

0 commit comments

Comments
 (0)