Skip to content

Commit fa6e616

Browse files
Added new test to columninfo and fixing up API (dotnet#178)
1 parent abf1b3d commit fa6e616

6 files changed

+30
-11
lines changed

src/Microsoft.ML.Auto/API/BinaryClassificationExperiment.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ public IEnumerable<RunResult<BinaryClassificationMetrics>> Execute(IDataView tra
4949
return Execute(_context, trainData, columnInformation, validationData, preFeaturizers);
5050
}
5151

52-
internal RunResult<BinaryClassificationMetrics> Execute(IDataView trainData, uint numberOfCVFolds, ColumnInformation columnInformation = null, IEstimator<ITransformer> preFeaturizers = null)
52+
internal IEnumerable<RunResult<BinaryClassificationMetrics>> Execute(IDataView trainData, uint numberOfCVFolds, ColumnInformation columnInformation = null, IEstimator<ITransformer> preFeaturizers = null)
5353
{
5454
throw new NotImplementedException();
5555
}

src/Microsoft.ML.Auto/API/MulticlassClassificationExperiment.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ public IEnumerable<RunResult<MultiClassClassifierMetrics>> Execute(IDataView tra
4949
return Execute(_context, trainData, columnInformation, validationData, preFeaturizers);
5050
}
5151

52-
internal RunResult<BinaryClassificationMetrics> Execute(IDataView trainData, uint numberOfCVFolds, ColumnInformation columnInformation = null, IEstimator<ITransformer> preFeaturizers = null)
52+
internal IEnumerable<RunResult<MultiClassClassifierMetrics>> Execute(IDataView trainData, uint numberOfCVFolds, ColumnInformation columnInformation = null, IEstimator<ITransformer> preFeaturizers = null)
5353
{
5454
throw new NotImplementedException();
5555
}

src/Microsoft.ML.Auto/API/RegressionExperiment.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ public IEnumerable<RunResult<RegressionMetrics>> Execute(IDataView trainData, ID
5252
return Execute(_context, trainData, columnInformation, validationData, preFeaturizers);
5353
}
5454

55-
internal RunResult<RegressionMetrics> Execute(IDataView trainData, uint numberOfCVFolds, ColumnInformation columnInformation = null, IEstimator<ITransformer> preFeaturizers = null)
55+
internal IEnumerable<RunResult<RegressionMetrics>> Execute(IDataView trainData, uint numberOfCVFolds, ColumnInformation columnInformation = null, IEstimator<ITransformer> preFeaturizers = null)
5656
{
5757
throw new NotImplementedException();
5858
}

src/Test/ColumnInferenceTests.cs

+20-8
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ namespace Microsoft.ML.Auto.Test
99
public class ColumnInferenceTests
1010
{
1111
[TestMethod]
12-
public void UnGroupColumnsTest()
12+
public void UnGroupReturnsMoreColumnsThanGroup()
1313
{
1414
var dataPath = DatasetUtil.DownloadUciAdultDataset();
1515
var context = new MLContext();
@@ -24,7 +24,7 @@ public void UnGroupColumnsTest()
2424
}
2525

2626
[TestMethod]
27-
public void IncorrectLabelColumnTest()
27+
public void IncorrectLabelColumnThrows()
2828
{
2929
var dataPath = DatasetUtil.DownloadUciAdultDataset();
3030
var context = new MLContext();
@@ -33,13 +33,13 @@ public void IncorrectLabelColumnTest()
3333

3434
[TestMethod]
3535
[ExpectedException(typeof(ArgumentOutOfRangeException))]
36-
public void InferColumnsLabelIndexOutOfBounds()
36+
public void LabelIndexOutOfBoundsThrows()
3737
{
3838
new MLContext().AutoInference().InferColumns(DatasetUtil.DownloadUciAdultDataset(), 100);
3939
}
4040

4141
[TestMethod]
42-
public void InferColumnsLabelIndex()
42+
public void IdentifyLabelColumnThroughIndexWithHeader()
4343
{
4444
var result = new MLContext().AutoInference().InferColumns(DatasetUtil.DownloadUciAdultDataset(), 14, hasHeader: true);
4545
Assert.AreEqual(true, result.TextLoaderArgs.HasHeader);
@@ -49,7 +49,7 @@ public void InferColumnsLabelIndex()
4949
}
5050

5151
[TestMethod]
52-
public void InferColumnsLabelIndexNoHeaders()
52+
public void IdentifyLabelColumnThroughIndexWithoutHeader()
5353
{
5454
var result = new MLContext().AutoInference().InferColumns(DatasetUtil.DownloadIrisDataset(), DatasetUtil.IrisDatasetLabelColIndex);
5555
Assert.AreEqual(false, result.TextLoaderArgs.HasHeader);
@@ -60,15 +60,15 @@ public void InferColumnsLabelIndexNoHeaders()
6060
}
6161

6262
[TestMethod]
63-
public void InferColumnsWithDatasetWithEmptyColumn()
63+
public void DatasetWithEmptyColumn()
6464
{
6565
var result = new MLContext().AutoInference().InferColumns(@".\TestData\DatasetWithEmptyColumn.txt", DefaultColumnNames.Label);
6666
var emptyColumn = result.TextLoaderArgs.Column.First(c => c.Name == "Empty");
6767
Assert.AreEqual(DataKind.TX, emptyColumn.Type);
6868
}
6969

7070
[TestMethod]
71-
public void InferColumnsWithDatasetWithBoolColumn()
71+
public void DatasetWithBoolColumn()
7272
{
7373
var result = new MLContext().AutoInference().InferColumns(@".\TestData\BinaryDatasetWithBoolColumn.txt", DefaultColumnNames.Label);
7474
Assert.AreEqual(2, result.TextLoaderArgs.Column.Count());
@@ -86,7 +86,7 @@ public void InferColumnsWithDatasetWithBoolColumn()
8686
}
8787

8888
[TestMethod]
89-
public void InferColumnsWhereNameColumnIsOnlyFeature()
89+
public void WhereNameColumnIsOnlyFeature()
9090
{
9191
var result = new MLContext().AutoInference().InferColumns(@".\TestData\NameColumnIsOnlyFeatureDataset.txt", DefaultColumnNames.Label);
9292
Assert.AreEqual(2, result.TextLoaderArgs.Column.Count());
@@ -100,5 +100,17 @@ public void InferColumnsWhereNameColumnIsOnlyFeature()
100100
Assert.AreEqual("Username", result.ColumnInformation.TextColumns.First());
101101
Assert.AreEqual(DefaultColumnNames.Label, result.ColumnInformation.LabelColumn);
102102
}
103+
104+
[TestMethod]
105+
public void DefaultColumnNamesInferredCorrectly()
106+
{
107+
var result = new MLContext().AutoInference().InferColumns(@".\TestData\DatasetWithDefaultColumnNames.txt", DefaultColumnNames.Label, groupColumns : false);
108+
109+
Assert.AreEqual(DefaultColumnNames.Label, result.ColumnInformation.LabelColumn);
110+
Assert.AreEqual(DefaultColumnNames.Name, result.ColumnInformation.NameColumn);
111+
Assert.AreEqual(DefaultColumnNames.Weight, result.ColumnInformation.WeightColumn);
112+
Assert.AreEqual(DefaultColumnNames.GroupId, result.ColumnInformation.GroupIdColumn);
113+
Assert.AreEqual(result.ColumnInformation.NumericColumns.Count(), 3);
114+
}
103115
}
104116
}

src/Test/Test.csproj

+3
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@
1919
</ItemGroup>
2020

2121
<ItemGroup>
22+
<None Update="TestData\DatasetWithDefaultColumnNames.txt">
23+
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
24+
</None>
2225
<None Update="TestData\NameColumnIsOnlyFeatureDataset.txt">
2326
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
2427
</None>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
Label,GroupId,Weight,Name,Features,FeatureContributions,Feature1
2+
0,2,1,GUID1,1,1,1
3+
0,4,1,GUID2,1,1,1
4+
1,1,1,GUID3,1,1,1

0 commit comments

Comments
 (0)